using LiveForum.Code.Base; using LiveForum.IService.Others; using LiveForum.Model.Dto.Others; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; namespace LiveForum.WebApi.Controllers { /// /// 搜索相关接口 /// /// [Route("api/[controller]/[action]")] [ApiController] public class SearchController(ISearchService search) : ControllerBase { /// /// 搜索 /// /// 搜索关键词 /// 搜索类型:1-帖子,2-用户,默认1 /// 页码,从1开始,默认1 /// 每页数量,默认20 /// [HttpGet] public async Task> Search(string keyword, int searchType = 1, int pageIndex = 1, int pageSize = 20) { var request = new SearchReq { Keyword = keyword, SearchType = searchType, PageIndex = pageIndex, PageSize = pageSize }; return await search.Search(request); } /// /// 获取热门搜索关键词 /// /// 返回数量,默认10 /// [HttpGet] public async Task> GetHotKeywords(int limit = 10) { var request = new GetHotKeywordsReq { Limit = limit }; return await search.GetHotKeywords(request); } } }