PageUpdateInfoController.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. using Attribute;
  2. using Common;
  3. using Dto;
  4. using Vo;
  5. using Enums;
  6. using Filters;
  7. using Infrastructure;
  8. using Infrastructure.Model;
  9. using Mapster;
  10. using Microsoft.AspNetCore.Mvc;
  11. using Middleware;
  12. using Model;
  13. using Services;
  14. using Model.Base;
  15. using System.IO.Compression;
  16. namespace Controllers
  17. {
  18. /// <summary>
  19. /// PageUpdateInfo)Controller
  20. /// </summary>
  21. // [Route("PageUpdateInfo")]
  22. // [ApiExplorerSettings(GroupName = "PageUpdateInfo")]
  23. public class PageUpdateInfoController : BaseController
  24. {
  25. private readonly IPageUpdateInfoService _PageUpdateInfoService;
  26. private readonly IAppBottomNavsService _AppBottomNavsService;
  27. private readonly IFileUpdateInfoService _FileUpdateInfoService;
  28. public PageUpdateInfoController(IPageUpdateInfoService PageUpdateInfoService, IAppBottomNavsService AppBottomNavsService, IFileUpdateInfoService FileUpdateInfoService)
  29. {
  30. _PageUpdateInfoService = PageUpdateInfoService;
  31. _AppBottomNavsService = AppBottomNavsService;
  32. _FileUpdateInfoService = FileUpdateInfoService;
  33. }
  34. /// <summary>
  35. /// 页面模板更新信息列表
  36. /// </summary>
  37. /// <param name="parm">请求参数</param>
  38. /// <returns>页面模板更新信息列表</returns>
  39. [HttpGet]
  40. [Route("/v1/api/PageUpdateInfo/list")]
  41. public IActionResult List([FromQuery] PageUpdateInfoListDto parm, [FromQuery] PagerInfo page)
  42. {
  43. var response = _PageUpdateInfoService.List(parm, page);
  44. return SUCCESS(response);
  45. }
  46. /// <summary>
  47. /// 页面模板更新信息详情
  48. /// </summary>
  49. /// <param name="parm">请求参数</param>
  50. /// <returns>页面模板更新信息详情</returns>
  51. [HttpGet]
  52. [Route("/v1/api/PageUpdateInfo/query")]
  53. public IActionResult Query([FromQuery] PageUpdateInfoQueryDto parm)
  54. {
  55. var response = _PageUpdateInfoService.Queryable()
  56. .First(x => x.id == parm.id)
  57. .Adapt<PageUpdateInfoQueryVo>() ?? new PageUpdateInfoQueryVo();
  58. return SUCCESS(response);
  59. }
  60. /// <summary>
  61. /// 页面模板更新信息添加
  62. /// </summary>
  63. /// <param name="parm">请求参数</param>
  64. /// <returns>页面模板更新信息添加</returns>
  65. [HttpPost]
  66. [Route("/v1/api/PageUpdateInfo/add")]
  67. public IActionResult Add([FromBody] PageUpdateInfoAddDto parm)
  68. {
  69. var modal = parm.Adapt<PageUpdateInfo>().ToCreate(HttpContext);
  70. var response = _PageUpdateInfoService.Add(modal);
  71. return SUCCESS(response);
  72. }
  73. /// <summary>
  74. /// 页面模板更新信息修改
  75. /// </summary>
  76. /// <param name="parm">请求参数</param>
  77. /// <returns>页面模板更新信息修改</returns>
  78. [HttpPut]
  79. [Route("/v1/api/PageUpdateInfo/update")]
  80. public IActionResult Update([FromBody] PageUpdateInfoUpdateDto parm)
  81. {
  82. var modal = parm.Adapt<PageUpdateInfo>().ToUpdate(HttpContext);
  83. var response = _PageUpdateInfoService.Update(modal, true);
  84. return SUCCESS(response);
  85. }
  86. /// <summary>
  87. /// 页面模板更新信息删除
  88. /// </summary>
  89. /// <param name="Id">ID</param>
  90. /// <returns>页面模板更新信息删除</returns>
  91. [HttpDelete]
  92. [Route("/v1/api/PageUpdateInfo/delete/{id}")]
  93. public IActionResult Delete(int id)
  94. {
  95. var response = _PageUpdateInfoService.Delete(id);
  96. return SUCCESS(response);
  97. }
  98. /// <summary>
  99. /// 页面模板更新信息刷新文件
  100. /// </summary>
  101. /// <param name="parm">请求参数</param>
  102. /// <returns>页面模板更新信息刷新文件</returns>
  103. [HttpGet]
  104. [Route("/v1/api/PageUpdateInfo/updateTemplate")]
  105. public IActionResult UpdateTemplate([FromQuery] PageUpdateInfoUpdateTemplateDto parm)
  106. {
  107. _PageUpdateInfoService.UpdateTemplate(parm);
  108. return SUCCESS("ok");
  109. }
  110. /// <summary>
  111. /// 页面模板更新信息更新版本号码
  112. /// </summary>
  113. /// <param name="parm">请求参数</param>
  114. /// <returns>页面模板更新信息更新版本号码</returns>
  115. [HttpPut]
  116. [Route("/v1/api/PageUpdateInfo/upVersion")]
  117. public IActionResult UpVersion([FromBody] PageUpdateInfoUpVersionDto parm)
  118. {
  119. var modal = _PageUpdateInfoService.GetFirst(m => m.id == parm.id);
  120. modal.moduleVersion += 1;
  121. var response = _PageUpdateInfoService.Update(modal, true);
  122. return SUCCESS(response);
  123. }
  124. /// <summary>
  125. /// 生成APP配置文件
  126. /// </summary>
  127. /// <param name="parm">请求参数</param>
  128. /// <returns>生成APP配置文件</returns>
  129. [HttpGet]
  130. [Route("/noauth/SystemSet/makeAppInitData")]
  131. public string makeAppInitData([FromQuery] MakeAppInitDataDto parm)
  132. {
  133. string AppInfoList = _AppBottomNavsService.makeAppInitData(parm.kind, parm.appVersion);
  134. // Function.WriteLog(AppInfoList);
  135. string FileInfoList = _FileUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
  136. string PageInfoList = _PageUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
  137. return AppInfoList + "#cut#" + FileInfoList + "#cut#" + PageInfoList;
  138. }
  139. [HttpGet]
  140. [Route("/noauth/reg")]
  141. public IActionResult Register(string v = "4.4.0", string k = "creater", string c = "")
  142. {
  143. string appini = makeAppInitData(new MakeAppInitDataDto()
  144. {
  145. kind = k,
  146. appVersion = v,
  147. }); //Function.GetWebRequest("http://" + url + "/noauth/SystemSet/makeAppInitData?kind=" + k + "&appVersion=" + v);
  148. if (!string.IsNullOrEmpty(appini))
  149. {
  150. if (appini.Contains("#cut#"))
  151. {
  152. string[] appinidata = appini.Split(new string[] { "#cut#" }, StringSplitOptions.None);
  153. string AppInfoList = appinidata[0];
  154. string SystemSet = appinidata[1];
  155. string PageInfoList = appinidata[2];
  156. string GotoPages = appinidata[3];
  157. string LibFile = appinidata[4];
  158. AppInfoList = System.Text.RegularExpressions.Regex.Unescape(AppInfoList);
  159. SystemSet = System.Text.RegularExpressions.Regex.Unescape(SystemSet);
  160. PageInfoList = System.Text.RegularExpressions.Regex.Unescape(PageInfoList);
  161. GotoPages = System.Text.RegularExpressions.Regex.Unescape(GotoPages);
  162. LibFile = System.Text.RegularExpressions.Regex.Unescape(LibFile);
  163. string startPath = "";
  164. string zipPath = "";
  165. if(c == "ios")
  166. {
  167. Function.WritePage("ini", "AppInfoList.ini", AppInfoList);
  168. Function.WritePage("ini", "SystemSet.ini", SystemSet);
  169. Function.WritePage("ini", "PageInfoList.ini", PageInfoList);
  170. Function.WritePage("ini", "GotoPages.ini", GotoPages);
  171. Function.WritePage("ini", "LibFile.ini", LibFile);
  172. startPath = Function.getPath("ini");
  173. zipPath = Function.getPath("ini.zip");
  174. }
  175. else
  176. {
  177. Function.WritePage("txt", "AppInfoList.txt", AppInfoList);
  178. Function.WritePage("txt", "SystemSet.txt", SystemSet);
  179. Function.WritePage("txt", "PageInfoList.txt", PageInfoList);
  180. Function.WritePage("txt", "GotoPages.txt", GotoPages);
  181. Function.WritePage("txt", "LibFile.txt", LibFile);
  182. startPath = Function.getPath(path_str: "txt");
  183. zipPath = Function.getPath("txt.zip");
  184. }
  185. if(System.IO.File.Exists(zipPath))
  186. {
  187. System.IO.File.Delete(zipPath);
  188. }
  189. ZipFile.CreateFromDirectory(startPath, zipPath);
  190. var stream = System.IO.File.OpenRead(zipPath);
  191. return File(stream, "text/plain", Path.GetFileName(zipPath));
  192. }
  193. }
  194. return Content("fail");
  195. }
  196. /// <summary>
  197. /// 页面模板复制
  198. /// </summary>
  199. /// <param name="parm">请求参数</param>
  200. /// <returns>页面模板复制</returns>
  201. [HttpPost]
  202. [Route("/v1/api/PageUpdateInfo/copy")]
  203. public IActionResult Copy([FromBody] CopyDto parm)
  204. {
  205. _PageUpdateInfoService.DeleteForCopy(parm);
  206. _PageUpdateInfoService.Copy(parm);
  207. return SUCCESS("复制成功");
  208. }
  209. [Route("/noauth/test")]
  210. public string test()
  211. {
  212. string str = "[{\"title\":\"首页\",\"normalIcon\":\"/static/images/tab-icon1-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon1-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"index1\",\"NoUrlMessage\":\"\",\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"工作台\",\"normalIcon\":\"/static/images/tab-icon2-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon2-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"work-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true},{\"title\":\"消息\",\"normalIcon\":\"/static/images/tab-icon3-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon3-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"notice-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":false},{\"title\":\"我的\",\"normalIcon\":\"/static/images/tab-icon4-no@3x.png\",\"selectIcon\":\"/static/images/tab-icon4-active1@3x.png\",\"normalTextColor\":\"999999\",\"selectTextColor\":\"333333\",\"pageName\":\"user-center1\",\"NoUrlMessage\":null,\"backgroudColor\":\"FFFFFF\",\"statusBarColor\":\"true\",\"showTitle\":true}]";
  213. return Dbconn.Encrypt3DES(str, "*ga34|^7");
  214. }
  215. }
  216. }