using LiveForum.Code.AttributeExtend; using LiveForum.Code.Base; using LiveForum.IService.Others; using LiveForum.Model.Dto.Others; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; namespace LiveForum.WebApi.Controllers { /// /// 系统配置相关接口 /// /// [Route("api/[controller]/[action]")] [ApiController] public class ConfigController(IConfigService config) : ControllerBase { /// /// 获取应用配置 /// /// [HttpGet] [ResponseCacheExtend(Duration = 600)] // 10分钟缓存 public Task>> GetAppConfig() => config.GetAppConfig(); /// /// 获取协议内容 /// /// 请求参数 /// [HttpGet] [ResponseCacheExtend(Duration = 600, VaryByQueryKeys = new[] { "AgreementType" })] // 10分钟缓存,按协议类型区分 public Task> GetAgreement([FromQuery]GetAgreementReq request) => config.GetAgreement(request); /// /// 检查更新 /// /// 请求参数 /// [HttpGet] [ResponseCacheExtend(Duration = 1800, VaryByQueryKeys = new[] { "Platform", "CurrentVersion" })] // 30分钟缓存,按平台和版本区分 public Task> CheckUpdate([FromQuery] CheckUpdateReq request) => config.CheckUpdate(request); } }