using Attribute; using Common; using Dto; using Vo; using Enums; using Filters; using Infrastructure; using Infrastructure.Model; using Mapster; using Microsoft.AspNetCore.Mvc; using Middleware; using Model; using Services.Client; using Model.Base; using Base; namespace Controllers { /// /// App)Controller /// // [Route("app")] // [ApiExplorerSettings(GroupName = "App")] public class AppController : BaseController { /// /// api分组接口 /// private readonly IAppBottomNavsService _AppBottomNavsService; private readonly IFileUpdateInfoService _FileUpdateInfoService; private readonly IPageUpdateInfoService _PageUpdateInfoService; public AppController(IAppBottomNavsService AppBottomNavsService,IFileUpdateInfoService FileUpdateInfoService,IPageUpdateInfoService PageUpdateInfoService) { _AppBottomNavsService = AppBottomNavsService; _FileUpdateInfoService = FileUpdateInfoService; _PageUpdateInfoService = PageUpdateInfoService; } /// /// APP底部导航列表 /// /// 请求参数 /// APP底部导航列表 [HttpGet] [Route("/v1/kxsconfig/app/appBottomNavs")] public IActionResult AppBottomNavs([FromQuery] AppAppBottomNavsDto parm) { string kind = Function.CheckNull(parm.kind); if(kind.Contains("/")) { string[] data = kind.Split('/'); parm.kind = data[0]; parm.appVersion = data[1]; } var response = _AppBottomNavsService.AppBottomNavs(parm); response.Extra = new Dictionary(); response.Extra.Add("greyStyle", ""); return SUCCESS(response); } /// /// APP静态资源 /// /// 请求参数 /// APP静态资源 [HttpGet] [Route("/v1/kxsconfig/app/staticFiles")] public IActionResult StaticFiles([FromQuery] AppStaticFilesDto parm) { string kind = Function.CheckNull(parm.kind); if(kind.Contains("/")) { string[] data = kind.Split('/'); parm.kind = data[0]; parm.appVersion = data[1]; } var response = _FileUpdateInfoService.StaticFiles(parm); OssConfigs ossConfigs = new(); AppSettings.Bind("OssConfigs", ossConfigs); foreach(var sub in response.Records) { sub.downloadUrl = ossConfigs.Host + "skin/app/" + parm.kind + "/" + sub.path + sub.fileName; sub.dataId = Function.MD5_16(sub.id.ToString() + "123890"); } return SUCCESS(response); } /// /// APP页面数据检查 /// /// 请求参数 /// APP页面数据检查 [HttpGet] [Route("/v1/kxsconfig/app/pageInfo")] public IActionResult PageInfo([FromQuery] AppPageInfoDto parm) { string kind = Function.CheckNull(parm.kind); if(kind.Contains("/")) { string[] data = kind.Split('/'); parm.kind = data[0]; parm.appVersion = data[1]; } OssConfigs ossConfigs = new(); AppSettings.Bind("OssConfigs", ossConfigs); string modulePath = parm.modulePath + ".html"; var response = _PageUpdateInfoService.Queryable() .First(x => x.modulePath == modulePath && x.appVersion == parm.appVersion) .Adapt() ?? new AppPageInfoVo(); response.dataId = Function.MD5_16(response.id.ToString() + "123890"); if (parm.moduleVersion < response.moduleVersion) { string PagePath = "template/app/" + kind + "/" + response.modulePath; string pageContent = Function.GetNetFileContent(ossConfigs.Host + PagePath); response.moduleContent = pageContent; //模板内容 } else { response.moduleContent = ""; //模板内容 } return SUCCESS(response); } } }