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);
}
}
}