OutApiController.cs 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Microsoft.AspNetCore.Mvc;
  5. using Microsoft.AspNetCore.Http;
  6. using Microsoft.Extensions.Logging;
  7. using Microsoft.Extensions.Options;
  8. using Microsoft.AspNetCore.Authorization;
  9. using System.Web;
  10. using MySystem.Models;
  11. using LitJson;
  12. using Library;
  13. using System.IO.Compression;
  14. using System.IO;
  15. namespace MySystem.Areas.Api.Controllers.v1
  16. {
  17. [Area("Api")]
  18. [Route("Api/v1/[controller]/[action]")]
  19. public class OutApiController : BaseController
  20. {
  21. public OutApiController(IHttpContextAccessor accessor, ILogger<BaseController> logger, IOptions<Setting> setting) : base(accessor, logger, setting)
  22. {
  23. }
  24. [Route("/reg")]
  25. public IActionResult Register(string c, string v = "", string url = "app-manager.kexiaoshuang.com")
  26. {
  27. string kind = "creater";
  28. string appini = function.GetWebRequest("http://" + url + "/noauth/SystemSet/makeAppInitData?kind=" + kind + "&appVersion=" + v);
  29. if (!string.IsNullOrEmpty(appini))
  30. {
  31. if (appini.Contains("#cut#"))
  32. {
  33. string[] appinidata = appini.Split(new string[] { "#cut#" }, StringSplitOptions.None);
  34. string AppInfoList = appinidata[0];
  35. string SystemSet = appinidata[1];
  36. string PageInfoList = appinidata[2];
  37. string GotoPages = appinidata[3];
  38. string LibFile = appinidata[4];
  39. AppInfoList = System.Text.RegularExpressions.Regex.Unescape(AppInfoList);
  40. SystemSet = System.Text.RegularExpressions.Regex.Unescape(SystemSet);
  41. PageInfoList = System.Text.RegularExpressions.Regex.Unescape(PageInfoList);
  42. GotoPages = System.Text.RegularExpressions.Regex.Unescape(GotoPages);
  43. LibFile = System.Text.RegularExpressions.Regex.Unescape(LibFile);
  44. string startPath = "";
  45. string zipPath = "";
  46. if(c == "ios")
  47. {
  48. function.WritePage("ini", "AppInfoList.ini", AppInfoList);
  49. function.WritePage("ini", "SystemSet.ini", SystemSet);
  50. function.WritePage("ini", "PageInfoList.ini", PageInfoList);
  51. function.WritePage("ini", "GotoPages.ini", GotoPages);
  52. function.WritePage("ini", "LibFile.ini", LibFile);
  53. startPath = function.getPath("ini");
  54. zipPath = function.getPath("ini.zip");
  55. }
  56. else
  57. {
  58. function.WritePage("txt", "AppInfoList.txt", AppInfoList);
  59. function.WritePage("txt", "SystemSet.txt", SystemSet);
  60. function.WritePage("txt", "PageInfoList.txt", PageInfoList);
  61. function.WritePage("txt", "GotoPages.txt", GotoPages);
  62. function.WritePage("txt", "LibFile.txt", LibFile);
  63. startPath = function.getPath(path_str: "txt");
  64. zipPath = function.getPath("txt.zip");
  65. }
  66. if(System.IO.File.Exists(zipPath))
  67. {
  68. System.IO.File.Delete(zipPath);
  69. }
  70. ZipFile.CreateFromDirectory(startPath, zipPath);
  71. var stream = System.IO.File.OpenRead(zipPath);
  72. return File(stream, "text/plain", Path.GetFileName(zipPath));
  73. }
  74. }
  75. return View();
  76. }
  77. }
  78. }