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; using Model.Base; using System.IO.Compression; namespace Controllers { /// /// PageUpdateInfo)Controller /// // [Route("PageUpdateInfo")] // [ApiExplorerSettings(GroupName = "PageUpdateInfo")] public class PageUpdateInfoController : BaseController { private readonly IPageUpdateInfoService _PageUpdateInfoService; private readonly IAppBottomNavsService _AppBottomNavsService; private readonly IFileUpdateInfoService _FileUpdateInfoService; public PageUpdateInfoController(IPageUpdateInfoService PageUpdateInfoService, IAppBottomNavsService AppBottomNavsService, IFileUpdateInfoService FileUpdateInfoService) { _PageUpdateInfoService = PageUpdateInfoService; _AppBottomNavsService = AppBottomNavsService; _FileUpdateInfoService = FileUpdateInfoService; } /// /// 生成APP配置文件 /// /// 请求参数 /// 生成APP配置文件 [HttpGet] [Route("/noauth/SystemSet/makeAppInitData")] public string makeAppInitData([FromQuery] MakeAppInitDataDto parm, string EncryptType = "des") { string AppInfoList = _AppBottomNavsService.makeAppInitData(parm.kind, parm.appVersion, EncryptType); // Function.WriteLog(AppInfoList); string FileInfoList = _FileUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion, EncryptType); string PageInfoList = _PageUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion, EncryptType); return AppInfoList + "#cut#" + FileInfoList + "#cut#" + PageInfoList; } [HttpGet] [Route("/noauth/reg")] public IActionResult Register(string v = "4.4.0", string k = "creater", string c = "", string et = "des") { string appini = makeAppInitData(new MakeAppInitDataDto() { kind = k, appVersion = v, }, et); if (!string.IsNullOrEmpty(appini)) { if (appini.Contains("#cut#")) { string[] appinidata = appini.Split(new string[] { "#cut#" }, StringSplitOptions.None); string AppInfoList = appinidata[0]; string SystemSet = appinidata[1]; string PageInfoList = appinidata[2]; string GotoPages = appinidata[3]; string LibFile = appinidata[4]; AppInfoList = System.Text.RegularExpressions.Regex.Unescape(AppInfoList); SystemSet = System.Text.RegularExpressions.Regex.Unescape(SystemSet); PageInfoList = System.Text.RegularExpressions.Regex.Unescape(PageInfoList); GotoPages = System.Text.RegularExpressions.Regex.Unescape(GotoPages); LibFile = System.Text.RegularExpressions.Regex.Unescape(LibFile); string startPath = ""; string zipPath = ""; if(c == "ios") { Function.WritePage("ini", "AppInfoList.ini", AppInfoList); Function.WritePage("ini", "SystemSet.ini", SystemSet); Function.WritePage("ini", "PageInfoList.ini", PageInfoList); Function.WritePage("ini", "GotoPages.ini", GotoPages); Function.WritePage("ini", "LibFile.ini", LibFile); startPath = Function.getPath("ini"); zipPath = Function.getPath("ini.zip"); } else { Function.WritePage("txt", "AppInfoList.txt", AppInfoList); Function.WritePage("txt", "SystemSet.txt", SystemSet); Function.WritePage("txt", "PageInfoList.txt", PageInfoList); Function.WritePage("txt", "GotoPages.txt", GotoPages); Function.WritePage("txt", "LibFile.txt", LibFile); startPath = Function.getPath(path_str: "txt"); zipPath = Function.getPath("txt.zip"); } if(System.IO.File.Exists(zipPath)) { System.IO.File.Delete(zipPath); } ZipFile.CreateFromDirectory(startPath, zipPath); var stream = System.IO.File.OpenRead(zipPath); return File(stream, "text/plain", Path.GetFileName(zipPath)); } } return Content("fail"); } } }