PageUpdateInfoController.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  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. private readonly IAppSourceSetService _AppSourceSetService;
  29. public PageUpdateInfoController(IPageUpdateInfoService PageUpdateInfoService, IAppBottomNavsService AppBottomNavsService, IFileUpdateInfoService FileUpdateInfoService, IAppSourceSetService AppSourceSetService)
  30. {
  31. _PageUpdateInfoService = PageUpdateInfoService;
  32. _AppBottomNavsService = AppBottomNavsService;
  33. _FileUpdateInfoService = FileUpdateInfoService;
  34. _AppSourceSetService = AppSourceSetService;
  35. }
  36. /// <summary>
  37. /// 页面模板更新信息列表
  38. /// </summary>
  39. /// <param name="parm">请求参数</param>
  40. /// <returns>页面模板更新信息列表</returns>
  41. [HttpGet]
  42. [Route("/v1/api/PageUpdateInfo/list")]
  43. public IActionResult List([FromQuery] PageUpdateInfoListDto parm, [FromQuery] PagerInfo page)
  44. {
  45. var response = _PageUpdateInfoService.List(parm, page);
  46. return SUCCESS(response);
  47. }
  48. /// <summary>
  49. /// 页面模板更新信息详情
  50. /// </summary>
  51. /// <param name="parm">请求参数</param>
  52. /// <returns>页面模板更新信息详情</returns>
  53. [HttpGet]
  54. [Route("/v1/api/PageUpdateInfo/query")]
  55. public IActionResult Query([FromQuery] PageUpdateInfoQueryDto parm)
  56. {
  57. var response = _PageUpdateInfoService.Queryable()
  58. .First(x => x.id == parm.id)
  59. .Adapt<PageUpdateInfoQueryVo>() ?? new PageUpdateInfoQueryVo();
  60. return SUCCESS(response);
  61. }
  62. /// <summary>
  63. /// 页面模板更新信息添加
  64. /// </summary>
  65. /// <param name="parm">请求参数</param>
  66. /// <returns>页面模板更新信息添加</returns>
  67. [HttpPost]
  68. [Route("/v1/api/PageUpdateInfo/add")]
  69. public IActionResult Add([FromBody] PageUpdateInfoAddDto parm)
  70. {
  71. var modal = parm.Adapt<PageUpdateInfo>().ToCreate(HttpContext);
  72. var response = _PageUpdateInfoService.Add(modal);
  73. return SUCCESS(response);
  74. }
  75. /// <summary>
  76. /// 页面模板更新信息修改
  77. /// </summary>
  78. /// <param name="parm">请求参数</param>
  79. /// <returns>页面模板更新信息修改</returns>
  80. [HttpPut]
  81. [Route("/v1/api/PageUpdateInfo/update")]
  82. public IActionResult Update([FromBody] PageUpdateInfoUpdateDto parm)
  83. {
  84. var modal = parm.Adapt<PageUpdateInfo>().ToUpdate(HttpContext);
  85. var response = _PageUpdateInfoService.Update(modal, true);
  86. return SUCCESS(response);
  87. }
  88. /// <summary>
  89. /// 页面模板更新信息删除
  90. /// </summary>
  91. /// <param name="Id">ID</param>
  92. /// <returns>页面模板更新信息删除</returns>
  93. [HttpDelete]
  94. [Route("/v1/api/PageUpdateInfo/delete/{id}")]
  95. public IActionResult Delete(int id)
  96. {
  97. var response = _PageUpdateInfoService.Delete(id);
  98. return SUCCESS(response);
  99. }
  100. /// <summary>
  101. /// 页面模板更新信息刷新文件
  102. /// </summary>
  103. /// <param name="parm">请求参数</param>
  104. /// <returns>页面模板更新信息刷新文件</returns>
  105. [HttpGet]
  106. [Route("/v1/api/PageUpdateInfo/updateTemplate")]
  107. public IActionResult UpdateTemplate([FromQuery] PageUpdateInfoUpdateTemplateDto parm)
  108. {
  109. // parm.projectId = 203;
  110. var set = _AppSourceSetService.GetFirst(m => m.kind == parm.kind && m.projectId == parm.projectId);
  111. // _AppSourceSetService.sycnOssFile(set, parm.appVersion);
  112. _PageUpdateInfoService.UpdateTemplate(parm, set);
  113. return SUCCESS("ok");
  114. }
  115. /// <summary>
  116. /// 页面模板更新信息更新版本号码
  117. /// </summary>
  118. /// <param name="parm">请求参数</param>
  119. /// <returns>页面模板更新信息更新版本号码</returns>
  120. [HttpPut]
  121. [Route("/v1/api/PageUpdateInfo/upVersion")]
  122. public IActionResult UpVersion([FromBody] PageUpdateInfoUpVersionDto parm)
  123. {
  124. var modal = _PageUpdateInfoService.GetFirst(m => m.id == parm.id);
  125. modal.moduleVersion += 1;
  126. var response = _PageUpdateInfoService.Update(modal, true);
  127. return SUCCESS(response);
  128. }
  129. /// <summary>
  130. /// 生成APP配置文件
  131. /// </summary>
  132. /// <param name="parm">请求参数</param>
  133. /// <returns>生成APP配置文件</returns>
  134. [HttpGet]
  135. [Route("/noauth/SystemSet/makeAppInitData")]
  136. public string makeAppInitData([FromQuery] MakeAppInitDataDto parm)
  137. {
  138. string AppInfoList = _AppBottomNavsService.makeAppInitData(parm.kind, parm.appVersion);
  139. // Function.WriteLog(AppInfoList);
  140. string FileInfoList = _FileUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
  141. string PageInfoList = _PageUpdateInfoService.makeAppInitData(parm.kind, parm.appVersion);
  142. return AppInfoList + "#cut#" + FileInfoList + "#cut#" + PageInfoList;
  143. }
  144. [HttpGet]
  145. [Route("/noauth/reg")]
  146. public IActionResult Register(string v = "4.4.0", string k = "creater", string c = "")
  147. {
  148. string appini = makeAppInitData(new MakeAppInitDataDto()
  149. {
  150. kind = k,
  151. appVersion = v,
  152. }); //Function.GetWebRequest("http://" + url + "/noauth/SystemSet/makeAppInitData?kind=" + k + "&appVersion=" + v);
  153. if (!string.IsNullOrEmpty(appini))
  154. {
  155. if (appini.Contains("#cut#"))
  156. {
  157. string[] appinidata = appini.Split(new string[] { "#cut#" }, StringSplitOptions.None);
  158. string AppInfoList = appinidata[0];
  159. string SystemSet = appinidata[1];
  160. string PageInfoList = appinidata[2];
  161. string GotoPages = appinidata[3];
  162. string LibFile = appinidata[4];
  163. AppInfoList = System.Text.RegularExpressions.Regex.Unescape(AppInfoList);
  164. SystemSet = System.Text.RegularExpressions.Regex.Unescape(SystemSet);
  165. PageInfoList = System.Text.RegularExpressions.Regex.Unescape(PageInfoList);
  166. GotoPages = System.Text.RegularExpressions.Regex.Unescape(GotoPages);
  167. LibFile = System.Text.RegularExpressions.Regex.Unescape(LibFile);
  168. string startPath = "";
  169. string zipPath = "";
  170. if(c == "ios")
  171. {
  172. Function.WritePage("ini", "AppInfoList.ini", AppInfoList);
  173. Function.WritePage("ini", "SystemSet.ini", SystemSet);
  174. Function.WritePage("ini", "PageInfoList.ini", PageInfoList);
  175. Function.WritePage("ini", "GotoPages.ini", GotoPages);
  176. Function.WritePage("ini", "LibFile.ini", LibFile);
  177. startPath = Function.getPath("ini");
  178. zipPath = Function.getPath("ini.zip");
  179. }
  180. else
  181. {
  182. Function.WritePage("txt", "AppInfoList.txt", AppInfoList);
  183. Function.WritePage("txt", "SystemSet.txt", SystemSet);
  184. Function.WritePage("txt", "PageInfoList.txt", PageInfoList);
  185. Function.WritePage("txt", "GotoPages.txt", GotoPages);
  186. Function.WritePage("txt", "LibFile.txt", LibFile);
  187. startPath = Function.getPath(path_str: "txt");
  188. zipPath = Function.getPath("txt.zip");
  189. }
  190. if(System.IO.File.Exists(zipPath))
  191. {
  192. System.IO.File.Delete(zipPath);
  193. }
  194. ZipFile.CreateFromDirectory(startPath, zipPath);
  195. var stream = System.IO.File.OpenRead(zipPath);
  196. return File(stream, "text/plain", Path.GetFileName(zipPath));
  197. }
  198. }
  199. return Content("fail");
  200. }
  201. /// <summary>
  202. /// 页面模板复制
  203. /// </summary>
  204. /// <param name="parm">请求参数</param>
  205. /// <returns>页面模板复制</returns>
  206. [HttpPost]
  207. [Route("/v1/api/PageUpdateInfo/copy")]
  208. public IActionResult Copy([FromBody] CopyDto parm)
  209. {
  210. _PageUpdateInfoService.DeleteForCopy(parm);
  211. _PageUpdateInfoService.Copy(parm);
  212. return SUCCESS("复制成功");
  213. }
  214. [Route("/noauth/test")]
  215. public string test()
  216. {
  217. 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}]";
  218. return Dbconn.Encrypt3DES(str, "*ga34|^7");
  219. }
  220. }
  221. }