midway-fatcms 0.0.1-beta.30 → 0.0.1-beta.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) hide show
  1. package/dist/config/config.default.d.ts +3 -0
  2. package/dist/config/config.default.js +189 -0
  3. package/dist/config/seed/aeskey.txt +1 -0
  4. package/dist/config/utils.d.ts +1 -0
  5. package/dist/config/utils.js +23 -0
  6. package/dist/configuration.d.ts +7 -0
  7. package/dist/configuration.js +113 -0
  8. package/dist/controller/base/BaseApiController.d.ts +37 -0
  9. package/dist/controller/base/BaseApiController.js +164 -0
  10. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -0
  11. package/dist/controller/gateway/AnyApiGatewayController.js +55 -0
  12. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
  13. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  14. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -0
  15. package/dist/controller/gateway/CrudMtdGatewayController.js +119 -0
  16. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -0
  17. package/dist/controller/gateway/CrudStdGatewayController.js +137 -0
  18. package/dist/controller/gateway/DocGatewayController.d.ts +27 -0
  19. package/dist/controller/gateway/DocGatewayController.js +179 -0
  20. package/dist/controller/gateway/FileController.d.ts +26 -0
  21. package/dist/controller/gateway/FileController.js +129 -0
  22. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -0
  23. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -0
  24. package/dist/controller/gateway/PublicApiController.d.ts +27 -0
  25. package/dist/controller/gateway/PublicApiController.js +165 -0
  26. package/dist/controller/gateway/StaticController.d.ts +24 -0
  27. package/dist/controller/gateway/StaticController.js +288 -0
  28. package/dist/controller/helpers.controller.d.ts +39 -0
  29. package/dist/controller/helpers.controller.js +188 -0
  30. package/dist/controller/home.controller.d.ts +9 -0
  31. package/dist/controller/home.controller.js +72 -0
  32. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -0
  33. package/dist/controller/manage/AnyApiMangeApi.js +98 -0
  34. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -0
  35. package/dist/controller/manage/AppLogMangeApi.js +88 -0
  36. package/dist/controller/manage/AppMangeApi.d.ts +10 -0
  37. package/dist/controller/manage/AppMangeApi.js +88 -0
  38. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -0
  39. package/dist/controller/manage/AppPageMangeApi.js +87 -0
  40. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -0
  41. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -0
  42. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -0
  43. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -0
  44. package/dist/controller/manage/CrudStandardDesignApi.d.ts +38 -0
  45. package/dist/controller/manage/CrudStandardDesignApi.js +342 -0
  46. package/dist/controller/manage/DataDictManageApi.d.ts +15 -0
  47. package/dist/controller/manage/DataDictManageApi.js +133 -0
  48. package/dist/controller/manage/DeployManageApi.d.ts +19 -0
  49. package/dist/controller/manage/DeployManageApi.js +180 -0
  50. package/dist/controller/manage/DocLibManageApi.d.ts +10 -0
  51. package/dist/controller/manage/DocLibManageApi.js +104 -0
  52. package/dist/controller/manage/DocManageApi.d.ts +11 -0
  53. package/dist/controller/manage/DocManageApi.js +130 -0
  54. package/dist/controller/manage/FileManageApi.d.ts +13 -0
  55. package/dist/controller/manage/FileManageApi.js +77 -0
  56. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -0
  57. package/dist/controller/manage/LowCodeTplManageApi.js +86 -0
  58. package/dist/controller/manage/MenuManageApi.d.ts +10 -0
  59. package/dist/controller/manage/MenuManageApi.js +93 -0
  60. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -0
  61. package/dist/controller/manage/ProxyApiMangeApi.js +87 -0
  62. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -0
  63. package/dist/controller/manage/SuperAdminManageApi.js +153 -0
  64. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -0
  65. package/dist/controller/manage/SysConfigMangeApi.js +126 -0
  66. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -0
  67. package/dist/controller/manage/SystemInfoManageApi.js +72 -0
  68. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -0
  69. package/dist/controller/manage/UserAccountManageApi.js +129 -0
  70. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -0
  71. package/dist/controller/manage/WorkbenchMangeApi.js +103 -0
  72. package/dist/controller/myinfo/AuthController.d.ts +33 -0
  73. package/dist/controller/myinfo/AuthController.js +136 -0
  74. package/dist/controller/myinfo/MyInfoController.d.ts +13 -0
  75. package/dist/controller/myinfo/MyInfoController.js +51 -0
  76. package/dist/controller/render/AppRenderController.d.ts +11 -0
  77. package/dist/controller/render/AppRenderController.js +92 -0
  78. package/dist/controller/test.controller.d.ts +8 -0
  79. package/dist/controller/test.controller.js +51 -0
  80. package/dist/filter/default.filter.d.ts +7 -0
  81. package/dist/filter/default.filter.js +23 -0
  82. package/dist/filter/notfound.filter.d.ts +5 -0
  83. package/dist/filter/notfound.filter.js +20 -0
  84. package/dist/index.d.ts +102 -0
  85. package/dist/index.js +120 -0
  86. package/dist/interface.d.ts +27 -0
  87. package/dist/interface.js +3 -0
  88. package/dist/libs/crud-pro/CrudPro.d.ts +37 -0
  89. package/dist/libs/crud-pro/CrudPro.js +136 -0
  90. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -0
  91. package/dist/libs/crud-pro/defaultConfigs.js +15 -0
  92. package/dist/libs/crud-pro/exceptions.d.ts +104 -0
  93. package/dist/libs/crud-pro/exceptions.js +117 -0
  94. package/dist/libs/crud-pro/interfaces.d.ts +163 -0
  95. package/dist/libs/crud-pro/interfaces.js +12 -0
  96. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -0
  97. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -0
  98. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -0
  99. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -0
  100. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -0
  101. package/dist/libs/crud-pro/models/FuncContext.js +6 -0
  102. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -0
  103. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -0
  104. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -0
  105. package/dist/libs/crud-pro/models/RequestModel.js +113 -0
  106. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  107. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  108. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -0
  109. package/dist/libs/crud-pro/models/ServiceHub.js +2 -0
  110. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -0
  111. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -0
  112. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -0
  113. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -0
  114. package/dist/libs/crud-pro/models/Transaction.d.ts +29 -0
  115. package/dist/libs/crud-pro/models/Transaction.js +67 -0
  116. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -0
  117. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -0
  118. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -0
  119. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -0
  120. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -0
  121. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -0
  122. package/dist/libs/crud-pro/models/keys.d.ts +106 -0
  123. package/dist/libs/crud-pro/models/keys.js +149 -0
  124. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -0
  125. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -0
  126. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -0
  127. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -0
  128. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -0
  129. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -0
  130. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -0
  131. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -0
  132. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -0
  133. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -0
  134. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -0
  135. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -0
  136. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -0
  137. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -0
  138. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -0
  139. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -0
  140. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -0
  141. package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -0
  142. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -0
  143. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -0
  144. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -0
  145. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -0
  146. package/dist/libs/crud-pro/sql.txt +120 -0
  147. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -0
  148. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -0
  149. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -0
  150. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -0
  151. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -0
  152. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -0
  153. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -0
  154. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -0
  155. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -0
  156. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -0
  157. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -0
  158. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -0
  159. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -0
  160. package/dist/libs/crud-pro/utils/ModelUtils.js +49 -0
  161. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -0
  162. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -0
  163. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -0
  164. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -0
  165. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -0
  166. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -0
  167. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -0
  168. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -0
  169. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -0
  170. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -0
  171. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -0
  172. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -0
  173. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -0
  174. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -0
  175. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -0
  176. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -0
  177. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -0
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -0
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -0
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -0
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -0
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -0
  185. package/dist/libs/global-config/global-config.d.ts +45 -0
  186. package/dist/libs/global-config/global-config.js +33 -0
  187. package/dist/libs/utils/common-dto.d.ts +18 -0
  188. package/dist/libs/utils/common-dto.js +40 -0
  189. package/dist/libs/utils/crypto-utils.d.ts +3 -0
  190. package/dist/libs/utils/crypto-utils.js +46 -0
  191. package/dist/libs/utils/errorToString.d.ts +2 -0
  192. package/dist/libs/utils/errorToString.js +57 -0
  193. package/dist/libs/utils/fatcms-request.d.ts +30 -0
  194. package/dist/libs/utils/fatcms-request.js +104 -0
  195. package/dist/libs/utils/functions.d.ts +5 -0
  196. package/dist/libs/utils/functions.js +68 -0
  197. package/dist/libs/utils/ordernum-utils.d.ts +2 -0
  198. package/dist/libs/utils/ordernum-utils.js +13 -0
  199. package/dist/libs/utils/parseConfig.d.ts +7 -0
  200. package/dist/libs/utils/parseConfig.js +44 -0
  201. package/dist/libs/utils/parseCreateSql.d.ts +5 -0
  202. package/dist/libs/utils/parseCreateSql.js +86 -0
  203. package/dist/libs/utils/render-utils.d.ts +28 -0
  204. package/dist/libs/utils/render-utils.js +135 -0
  205. package/dist/middleware/forbidden.middleware.d.ts +10 -0
  206. package/dist/middleware/forbidden.middleware.js +54 -0
  207. package/dist/middleware/global.middleware.d.ts +10 -0
  208. package/dist/middleware/global.middleware.js +266 -0
  209. package/dist/middleware/permission.middleware.d.ts +18 -0
  210. package/dist/middleware/permission.middleware.js +74 -0
  211. package/dist/middleware/tx.middleware.d.ts +9 -0
  212. package/dist/middleware/tx.middleware.js +40 -0
  213. package/dist/models/AsyncTaskModel.d.ts +74 -0
  214. package/dist/models/AsyncTaskModel.js +31 -0
  215. package/dist/models/RedisKeys.d.ts +14 -0
  216. package/dist/models/RedisKeys.js +17 -0
  217. package/dist/models/SystemEntities.d.ts +98 -0
  218. package/dist/models/SystemEntities.js +2 -0
  219. package/dist/models/SystemPerm.d.ts +95 -0
  220. package/dist/models/SystemPerm.js +100 -0
  221. package/dist/models/SystemTables.d.ts +25 -0
  222. package/dist/models/SystemTables.js +28 -0
  223. package/dist/models/bizmodels.d.ts +97 -0
  224. package/dist/models/bizmodels.js +39 -0
  225. package/dist/models/contextLogger.d.ts +25 -0
  226. package/dist/models/contextLogger.js +112 -0
  227. package/dist/models/devops.d.ts +12 -0
  228. package/dist/models/devops.js +19 -0
  229. package/dist/models/userSession.d.ts +61 -0
  230. package/dist/models/userSession.js +165 -0
  231. package/dist/schedule/anonymousContext.d.ts +14 -0
  232. package/dist/schedule/anonymousContext.js +59 -0
  233. package/dist/schedule/index.d.ts +4 -0
  234. package/dist/schedule/index.js +10 -0
  235. package/dist/schedule/runSchedule.d.ts +12 -0
  236. package/dist/schedule/runSchedule.js +68 -0
  237. package/dist/schedule/scheduleNames.d.ts +13 -0
  238. package/dist/schedule/scheduleNames.js +17 -0
  239. package/dist/service/AuthService.d.ts +70 -0
  240. package/dist/service/AuthService.js +251 -0
  241. package/dist/service/EnumInfoService.d.ts +30 -0
  242. package/dist/service/EnumInfoService.js +127 -0
  243. package/dist/service/FileCenterService.d.ts +43 -0
  244. package/dist/service/FileCenterService.js +351 -0
  245. package/dist/service/SysConfigService.d.ts +7 -0
  246. package/dist/service/SysConfigService.js +47 -0
  247. package/dist/service/UserAccountService.d.ts +23 -0
  248. package/dist/service/UserAccountService.js +107 -0
  249. package/dist/service/UserSessionService.d.ts +37 -0
  250. package/dist/service/UserSessionService.js +156 -0
  251. package/dist/service/VisitStatService.d.ts +14 -0
  252. package/dist/service/VisitStatService.js +158 -0
  253. package/dist/service/WorkbenchService.d.ts +52 -0
  254. package/dist/service/WorkbenchService.js +202 -0
  255. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -0
  256. package/dist/service/anyapi/AnyApiSandboxService.js +122 -0
  257. package/dist/service/anyapi/AnyApiService.d.ts +27 -0
  258. package/dist/service/anyapi/AnyApiService.js +181 -0
  259. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  260. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  261. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  262. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  263. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  264. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  265. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  266. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  267. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  268. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  269. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  270. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  271. package/dist/service/base/ApiBaseService.d.ts +15 -0
  272. package/dist/service/base/ApiBaseService.js +50 -0
  273. package/dist/service/base/ApiRateLimiter.d.ts +10 -0
  274. package/dist/service/base/ApiRateLimiter.js +51 -0
  275. package/dist/service/base/BaseService.d.ts +41 -0
  276. package/dist/service/base/BaseService.js +101 -0
  277. package/dist/service/base/RedisCacheService.d.ts +20 -0
  278. package/dist/service/base/RedisCacheService.js +57 -0
  279. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -0
  280. package/dist/service/crudstd/CrudStdActionService.js +32 -0
  281. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -0
  282. package/dist/service/crudstd/CrudStdConstant.js +64 -0
  283. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -0
  284. package/dist/service/crudstd/CrudStdRelationService.js +85 -0
  285. package/dist/service/crudstd/CrudStdService.d.ts +57 -0
  286. package/dist/service/crudstd/CrudStdService.js +239 -0
  287. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  288. package/dist/service/curd/CrudProQuick.js +147 -0
  289. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -0
  290. package/dist/service/curd/CurdMixByAccountService.js +93 -0
  291. package/dist/service/curd/CurdMixByDictService.d.ts +13 -0
  292. package/dist/service/curd/CurdMixByDictService.js +114 -0
  293. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -0
  294. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -0
  295. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -0
  296. package/dist/service/curd/CurdMixBySysConfigService.js +80 -0
  297. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -0
  298. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -0
  299. package/dist/service/curd/CurdMixService.d.ts +27 -0
  300. package/dist/service/curd/CurdMixService.js +100 -0
  301. package/dist/service/curd/CurdMixUtils.d.ts +51 -0
  302. package/dist/service/curd/CurdMixUtils.js +275 -0
  303. package/dist/service/curd/CurdProService.d.ts +32 -0
  304. package/dist/service/curd/CurdProService.js +210 -0
  305. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  306. package/dist/service/curd/fixCfgModel.js +107 -0
  307. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -0
  308. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -0
  309. package/dist/service/proxyapi/ProxyApiService.d.ts +60 -0
  310. package/dist/service/proxyapi/ProxyApiService.js +260 -0
  311. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -0
  312. package/dist/service/proxyapi/ProxyApiUtils.js +34 -0
  313. package/dist/service/proxyapi/RouteHandler.d.ts +5 -0
  314. package/dist/service/proxyapi/RouteHandler.js +9 -0
  315. package/dist/service/proxyapi/RouteTrie.d.ts +12 -0
  316. package/dist/service/proxyapi/RouteTrie.js +63 -0
  317. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -0
  318. package/dist/service/proxyapi/WeightedRandom.js +31 -0
  319. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -0
  320. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -0
  321. package/dist/views/404_app.html +31 -0
  322. package/dist/views/404_workbench.html +34 -0
  323. package/dist/views/static/favicon.ico +0 -0
  324. package/package.json +1 -1
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.StaticController = void 0;
16
+ const core_1 = require("@midwayjs/core");
17
+ const BaseApiController_1 = require("../base/BaseApiController");
18
+ const fs = require("fs/promises");
19
+ const fs2 = require("fs");
20
+ const path = require("path");
21
+ const https = require("https");
22
+ const functions_1 = require("../../libs/utils/functions");
23
+ function getPathConfig(ossName) {
24
+ const remoteBaseUrlMap = {
25
+ cdnjsx: 'https://cdnjsx.oss-cn-shanghai.aliyuncs.com',
26
+ 'i.alicdn.com': 'https://i.alicdn.com',
27
+ 'img.alicdn.com': 'https://img.alicdn.com',
28
+ 'at.alicdn.com': 'https://at.alicdn.com',
29
+ };
30
+ let remoteBaseUrl = remoteBaseUrlMap[ossName];
31
+ if (!remoteBaseUrl) {
32
+ console.error(`getPathConfig ossName: ${ossName} 未配置`);
33
+ remoteBaseUrl = `https://${ossName}`;
34
+ }
35
+ return {
36
+ remoteBaseUrl,
37
+ };
38
+ }
39
+ // 404列表缓存
40
+ let notFoundList = new Set();
41
+ let notFoundListIsInit = false;
42
+ /**
43
+ * 静态文件代理功能
44
+ */
45
+ let StaticController = class StaticController extends BaseApiController_1.BaseApiController {
46
+ constructor() {
47
+ super();
48
+ this.initNotFoundList();
49
+ }
50
+ getLocalPaths() {
51
+ const appDir = this.app.getAppDir();
52
+ const localDir = path.join(appDir, './public/static'); // 本地文件存储目录
53
+ const notFoundListFile = path.join(localDir, '__404__list.json'); // 404列表文件
54
+ return {
55
+ localDir,
56
+ notFoundListFile,
57
+ };
58
+ }
59
+ async initNotFoundList() {
60
+ if (notFoundListIsInit) {
61
+ return;
62
+ }
63
+ notFoundListIsInit = true;
64
+ const { localDir, notFoundListFile } = this.getLocalPaths();
65
+ try {
66
+ // 确保本地存储目录存在
67
+ await fs.mkdir(localDir, { recursive: true });
68
+ const data = await fs.readFile(notFoundListFile, 'utf8');
69
+ notFoundList = new Set(JSON.parse(data));
70
+ console.log(`已加载${notFoundList.size}个404记录`);
71
+ }
72
+ catch (error) {
73
+ if (error.code !== 'ENOENT') {
74
+ console.error('读取404列表失败:', error);
75
+ }
76
+ }
77
+ }
78
+ async responseLocalFile(localFilePath, localHeaderPath, relativePath) {
79
+ const headers = {
80
+ 'Cache-Control': 'public, max-age=31536000',
81
+ Expires: new Date(Date.now() + 31536000000).toUTCString(),
82
+ };
83
+ try {
84
+ // 检查本地文件是否存在.头文件
85
+ const stats = await fs.stat(localHeaderPath);
86
+ if (stats.isFile()) {
87
+ const headerDataStr = await fs.readFile(localHeaderPath, 'utf8');
88
+ const headerData = (0, functions_1.parseJsonObject)(headerDataStr);
89
+ if (headerData) {
90
+ headers['content-type'] = headerData['content-type'];
91
+ headers['content-length'] = headerData['content-length'];
92
+ headers['last-modified'] = headerData['last-modified'];
93
+ headers['etag'] = headerData['etag'];
94
+ headers['cache-control'] = headerData['cache-control'];
95
+ headers['accept-ranges'] = headerData['accept-ranges'];
96
+ }
97
+ }
98
+ }
99
+ catch (error) {
100
+ this.logDebug('[StaticController]responseLocalFile', error);
101
+ }
102
+ try {
103
+ // 检查本地文件是否存在
104
+ const stats = await fs.stat(localFilePath);
105
+ if (stats.isFile()) {
106
+ if (!headers['content-type']) {
107
+ headers['content-type'] = this.getMimeType(localFilePath);
108
+ }
109
+ const stream = fs2.createReadStream(localFilePath);
110
+ stream.setMaxListeners(50);
111
+ // const oldOn = stream.on.bind(stream);
112
+ // stream.on = (...args)=>{
113
+ // return oldOn(...args)
114
+ // }
115
+ this.logInfo(`[StaticController]返回本地文件: ${relativePath}`);
116
+ this.ctx.status = 200;
117
+ this.ctx.set(headers);
118
+ this.ctx.body = stream;
119
+ return true;
120
+ }
121
+ }
122
+ catch (error) {
123
+ // 文件不存在,继续请求远程
124
+ }
125
+ return false;
126
+ }
127
+ async proxyStaticFile(ossName, relativePath) {
128
+ const { localDir } = this.getLocalPaths();
129
+ const PATH_CONFIG = getPathConfig(ossName);
130
+ // 构建本地路径和远程路径
131
+ const localFilePath = path.join(localDir, 'files', ossName, relativePath);
132
+ const localHeaderPath = path.join(localDir, 'headers', ossName, relativePath);
133
+ const remoteUrl = `${PATH_CONFIG.remoteBaseUrl}/${relativePath}`;
134
+ // 检查是否在404列表中
135
+ if (notFoundList.has(relativePath)) {
136
+ this.ctx.status = 404;
137
+ return this.ctx.render('500', { errorMsg: ' 远程文件不存在, 命中notFoundList' });
138
+ }
139
+ // 检查并返回本地文件
140
+ if (await this.responseLocalFile(localFilePath, localHeaderPath, relativePath)) {
141
+ return;
142
+ }
143
+ // 请求远程文件
144
+ this.logInfo(`[StaticController]请求远程文件: ${remoteUrl}`);
145
+ try {
146
+ const remoteRes = await this.httpsGet(remoteUrl);
147
+ // 处理远程响应状态码
148
+ if (remoteRes.statusCode === 200) {
149
+ // 写入本地文件
150
+ await this.writeResponseToFile(remoteRes, localFilePath, localHeaderPath);
151
+ // 检查并返回本地文件
152
+ if (await this.responseLocalFile(localFilePath, localHeaderPath, relativePath)) {
153
+ return;
154
+ }
155
+ }
156
+ else if (remoteRes.statusCode === 404) {
157
+ // 记录404并返回
158
+ notFoundList.add(relativePath);
159
+ await this.saveNotFoundList();
160
+ this.logInfo(`[StaticController]远程文件不存在,已记录404: ${relativePath}`);
161
+ this.ctx.status = 404;
162
+ return this.ctx.render('500', { errorMsg: ' 远程文件不存在,已记录404' });
163
+ }
164
+ else {
165
+ // 其他状态码
166
+ const msg = `[StaticController]远程服务器返回状态码: ${remoteRes.statusCode}`;
167
+ this.logInfo(msg);
168
+ this.ctx.status = 502;
169
+ return this.ctx.render('500', { errorMsg: msg });
170
+ }
171
+ }
172
+ catch (err) {
173
+ const msg = `[StaticController]请求远程文件失败: ${err}`;
174
+ this.logError(msg);
175
+ this.ctx.status = 500;
176
+ return this.ctx.render('500', { errorMsg: msg });
177
+ }
178
+ this.ctx.status = 500;
179
+ return this.ctx.render('500', { errorMsg: '未知异常' });
180
+ }
181
+ // 保存404列表
182
+ async saveNotFoundList() {
183
+ const { notFoundListFile } = this.getLocalPaths();
184
+ try {
185
+ // 确保存储404列表的目录存在
186
+ const dir = path.dirname(notFoundListFile);
187
+ await fs.mkdir(dir, { recursive: true });
188
+ await fs.writeFile(notFoundListFile, JSON.stringify(Array.from(notFoundList), null), 'utf8');
189
+ }
190
+ catch (error) {
191
+ this.logError('[StaticController]保存404列表失败:', error);
192
+ }
193
+ }
194
+ // 封装https请求为异步函数
195
+ async httpsGet(url) {
196
+ return new Promise((resolve, reject) => {
197
+ https
198
+ .get(url, res => {
199
+ resolve({
200
+ statusCode: res.statusCode || 500,
201
+ headers: res.headers,
202
+ body: res,
203
+ });
204
+ })
205
+ .on('error', err => {
206
+ reject(err);
207
+ });
208
+ });
209
+ }
210
+ // 新增:将响应body写入文件的函数
211
+ async writeResponseToFile(httpsGetRes, localFilePath, localHeaderPath) {
212
+ // 创建本地目录(如果不存在)
213
+ const localFileDir = path.dirname(localFilePath);
214
+ await fs.mkdir(localFileDir, { recursive: true });
215
+ const localHeaderDir = path.dirname(localHeaderPath);
216
+ await fs.mkdir(localHeaderDir, { recursive: true });
217
+ try {
218
+ const { statusCode, body } = httpsGetRes;
219
+ // 检查HTTP状态码
220
+ if (statusCode >= 400) {
221
+ throw new Error(`HTTP请求失败,状态码: ${statusCode}`);
222
+ }
223
+ // 创建可写流
224
+ const fileStream = fs2.createWriteStream(localFilePath);
225
+ // 使用管道将响应流写入文件
226
+ await new Promise((resolve, reject) => {
227
+ body.pipe(fileStream);
228
+ body.on('error', err => {
229
+ reject(new Error(`读取响应流失败: ${err.message}`));
230
+ });
231
+ fileStream.on('finish', resolve);
232
+ fileStream.on('error', err => {
233
+ reject(new Error(`写入文件失败: ${err.message}`));
234
+ });
235
+ });
236
+ this.logInfo(`[StaticController]文件已成功写入1: ${localFilePath}`);
237
+ await fs.writeFile(localHeaderPath, JSON.stringify(httpsGetRes.headers), 'utf8');
238
+ this.logInfo(`[StaticController]文件已成功写入2: ${localHeaderPath}`);
239
+ }
240
+ catch (err) {
241
+ // 发生错误时删除可能存在的不完整文件
242
+ if (fs2.existsSync(localFilePath)) {
243
+ fs2.unlinkSync(localFilePath);
244
+ }
245
+ throw new Error(`下载过程中发生错误: ${err.message}`);
246
+ }
247
+ }
248
+ // 根据文件扩展名获取MIME类型
249
+ getMimeType(filePath) {
250
+ const extname = path.extname(filePath).toLowerCase();
251
+ const mimeTypes = {
252
+ '.html': 'text/html',
253
+ '.js': 'text/javascript',
254
+ '.css': 'text/css',
255
+ '.json': 'application/json',
256
+ '.png': 'image/png',
257
+ '.jpg': 'image/jpg',
258
+ '.gif': 'image/gif',
259
+ '.svg': 'image/svg+xml',
260
+ '.woff': 'font/woff',
261
+ '.woff2': 'font/woff2',
262
+ '.ttf': 'font/ttf',
263
+ '.eot': 'application/vnd.ms-fontobject',
264
+ '.txt': 'text/plain',
265
+ '.pdf': 'application/pdf',
266
+ '.mp4': 'video/mp4',
267
+ '.ico': 'image/x-icon',
268
+ };
269
+ return mimeTypes[extname] || 'application/octet-stream';
270
+ }
271
+ };
272
+ __decorate([
273
+ (0, core_1.Inject)(),
274
+ __metadata("design:type", Object)
275
+ ], StaticController.prototype, "ctx", void 0);
276
+ __decorate([
277
+ (0, core_1.All)('/:ossName/:relativePath+'),
278
+ __param(0, (0, core_1.Param)('ossName')),
279
+ __param(1, (0, core_1.Param)('relativePath')),
280
+ __metadata("design:type", Function),
281
+ __metadata("design:paramtypes", [String, String]),
282
+ __metadata("design:returntype", Promise)
283
+ ], StaticController.prototype, "proxyStaticFile", null);
284
+ StaticController = __decorate([
285
+ (0, core_1.Controller)('/ns/static'),
286
+ __metadata("design:paramtypes", [])
287
+ ], StaticController);
288
+ exports.StaticController = StaticController;
@@ -0,0 +1,39 @@
1
+ /// <reference types="node" />
2
+ import { Context } from '@midwayjs/koa';
3
+ import { CurdMixService } from '../service/curd/CurdMixService';
4
+ import { CommonResult } from '../libs/utils/common-dto';
5
+ export declare class HelpersApi {
6
+ protected ctx: Context;
7
+ private midwayWebRouterService;
8
+ protected curdMixService: CurdMixService;
9
+ getApiEnv(): Promise<{
10
+ env: string;
11
+ href: string;
12
+ host: string;
13
+ ctx: Context;
14
+ processInfo: {
15
+ version: string;
16
+ versions: NodeJS.ProcessVersions;
17
+ env: NodeJS.ProcessEnv;
18
+ argv: string[];
19
+ cwd: string;
20
+ };
21
+ }>;
22
+ getApiScript(queryData: any): Promise<string>;
23
+ testExecuteCrudByCfg(): Promise<import("../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
24
+ /**
25
+ * 工具函数: 由明文生成数据库中的存储的密码
26
+ * @param queryData
27
+ */
28
+ generateDatabasePassword(queryData: any): Promise<{
29
+ pwd_salt: string;
30
+ pwd_md5: string;
31
+ login_name: any;
32
+ }>;
33
+ /**
34
+ * 工具函数: 使用Aes128CBC加密
35
+ * @param queryData
36
+ */
37
+ cryptoAes128CBC(queryData: any): Promise<CommonResult>;
38
+ private checkLocalPermissionEnv;
39
+ }
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HelpersApi = void 0;
16
+ const core_1 = require("@midwayjs/core");
17
+ const _ = require("lodash");
18
+ const md5 = require("md5");
19
+ const CurdMixService_1 = require("../service/curd/CurdMixService");
20
+ const exceptions_1 = require("../libs/crud-pro/exceptions");
21
+ const functions_1 = require("../libs/utils/functions");
22
+ const crypto_utils_1 = require("../libs/utils/crypto-utils");
23
+ const common_dto_1 = require("../libs/utils/common-dto");
24
+ // http://127.0.0.1:7002/ns/api/helpers/getApiScript?prefix=/ns/api/manage
25
+ // http://127.0.0.1:7002/ns/api/helpers/getApiScript
26
+ // http://127.0.0.1:7002/ns/api/helpers/getApiEnv
27
+ // http://127.0.0.1:7002/ns/api/helpers/cryptoAes128CBC?input=123
28
+ let HelpersApi = class HelpersApi {
29
+ async getApiEnv() {
30
+ const host = this.ctx.req.headers.host;
31
+ const env = this.ctx.app.env;
32
+ const href = this.ctx.href;
33
+ const proc = process;
34
+ return {
35
+ env,
36
+ href,
37
+ host,
38
+ ctx: this.ctx,
39
+ processInfo: {
40
+ version: proc.version,
41
+ versions: proc.versions,
42
+ env: proc.env,
43
+ argv: proc.argv,
44
+ cwd: proc.cwd(),
45
+ },
46
+ };
47
+ }
48
+ async getApiScript(queryData) {
49
+ this.checkLocalPermissionEnv();
50
+ const prefix = queryData.prefix || '/api/';
51
+ const routers0 = await this.midwayWebRouterService.getFlattenRouterTable();
52
+ const routers = routers0.filter(r => {
53
+ return r.fullUrl.startsWith(prefix);
54
+ });
55
+ const group = _.groupBy(routers, r => {
56
+ return r.controllerId;
57
+ });
58
+ const groupKeys = Object.keys(group).sort();
59
+ const controllers = groupKeys.map(controllerId => {
60
+ const routers2 = group[controllerId];
61
+ const routers3 = routers2.sort((a, b) => {
62
+ const f1 = '' + a.fullUrl;
63
+ const f2 = '' + b.fullUrl;
64
+ return f1.localeCompare(f2);
65
+ });
66
+ const methods = routers3
67
+ .map(r => {
68
+ let method = r.requestMethod.toUpperCase();
69
+ if (method === 'ALL') {
70
+ method = 'POST';
71
+ }
72
+ return ` ${r.method}: createApiRequest('${r.fullUrl}', '${method}'),`;
73
+ })
74
+ .filter(r => {
75
+ return !!r;
76
+ })
77
+ .join('\n');
78
+ return `const ${controllerId} = {\n${methods} \n}`;
79
+ });
80
+ const href = this.ctx.href;
81
+ const infos = `/* 代码生成路径为:${href} */ \n`;
82
+ const imports = 'import {createApiRequest} from "./utils.js";\n';
83
+ const exports = groupKeys.join(',\n ');
84
+ return infos + imports + controllers.join('\n\n') + `\n\nexport {\n ${exports} \n}`;
85
+ }
86
+ async testExecuteCrudByCfg() {
87
+ this.checkLocalPermissionEnv();
88
+ const { reqJson, cfgModel } = this.ctx.request.body;
89
+ return await this.curdMixService.executeCrudByCfg(reqJson, cfgModel);
90
+ }
91
+ /**
92
+ * 工具函数: 由明文生成数据库中的存储的密码
93
+ * @param queryData
94
+ */
95
+ async generateDatabasePassword(queryData) {
96
+ const loginName = queryData.loginName;
97
+ const pw0 = queryData.pw0;
98
+ // 这个函数的逻辑,在生产环境中,在前端执行
99
+ const toUnsaltedPwd = (pw0, loginName) => {
100
+ return md5(md5(pw0) + '_' + loginName);
101
+ };
102
+ const unsaltedPwd = toUnsaltedPwd(pw0, loginName);
103
+ const pwd_salt = (0, functions_1.createUniqueId)();
104
+ const pwd_md5 = md5(unsaltedPwd + pwd_salt);
105
+ return {
106
+ pwd_salt,
107
+ pwd_md5,
108
+ login_name: loginName,
109
+ };
110
+ }
111
+ /**
112
+ * 工具函数: 使用Aes128CBC加密
113
+ * @param queryData
114
+ */
115
+ async cryptoAes128CBC(queryData) {
116
+ const input = queryData.input;
117
+ if (!input) {
118
+ return common_dto_1.CommonResult.errorRes('input 参数不能为空');
119
+ }
120
+ const encrypted = await crypto_utils_1.privateAES.time_encrypt_utf8_base64(input);
121
+ const decrypted = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(encrypted);
122
+ return common_dto_1.CommonResult.successRes({
123
+ input,
124
+ encrypted,
125
+ decrypted,
126
+ isEqual: input === decrypted,
127
+ });
128
+ }
129
+ checkLocalPermissionEnv() {
130
+ const isLocalEnv = () => {
131
+ const env = this.ctx.app.env;
132
+ const host = this.ctx.req.headers.host;
133
+ return env === 'local' && (host.startsWith('127.0.0.1') || host.startsWith('localhost:') || host === 'localhost');
134
+ };
135
+ if (!isLocalEnv()) {
136
+ throw new exceptions_1.CommonException(exceptions_1.Exceptions.NO_AUTH, '此测试函数,仅只有本地环境可以调用');
137
+ }
138
+ }
139
+ };
140
+ __decorate([
141
+ (0, core_1.Inject)(),
142
+ __metadata("design:type", Object)
143
+ ], HelpersApi.prototype, "ctx", void 0);
144
+ __decorate([
145
+ (0, core_1.Inject)(),
146
+ __metadata("design:type", core_1.MidwayWebRouterService)
147
+ ], HelpersApi.prototype, "midwayWebRouterService", void 0);
148
+ __decorate([
149
+ (0, core_1.Inject)(),
150
+ __metadata("design:type", CurdMixService_1.CurdMixService)
151
+ ], HelpersApi.prototype, "curdMixService", void 0);
152
+ __decorate([
153
+ (0, core_1.Get)('/getApiEnv'),
154
+ __metadata("design:type", Function),
155
+ __metadata("design:paramtypes", []),
156
+ __metadata("design:returntype", Promise)
157
+ ], HelpersApi.prototype, "getApiEnv", null);
158
+ __decorate([
159
+ (0, core_1.Get)('/getApiScript'),
160
+ __param(0, (0, core_1.Query)()),
161
+ __metadata("design:type", Function),
162
+ __metadata("design:paramtypes", [Object]),
163
+ __metadata("design:returntype", Promise)
164
+ ], HelpersApi.prototype, "getApiScript", null);
165
+ __decorate([
166
+ (0, core_1.Post)('/testExecuteCrudByCfg'),
167
+ __metadata("design:type", Function),
168
+ __metadata("design:paramtypes", []),
169
+ __metadata("design:returntype", Promise)
170
+ ], HelpersApi.prototype, "testExecuteCrudByCfg", null);
171
+ __decorate([
172
+ (0, core_1.Get)('/generateDatabasePassword'),
173
+ __param(0, (0, core_1.Query)()),
174
+ __metadata("design:type", Function),
175
+ __metadata("design:paramtypes", [Object]),
176
+ __metadata("design:returntype", Promise)
177
+ ], HelpersApi.prototype, "generateDatabasePassword", null);
178
+ __decorate([
179
+ (0, core_1.Get)('/cryptoAes128CBC'),
180
+ __param(0, (0, core_1.Query)()),
181
+ __metadata("design:type", Function),
182
+ __metadata("design:paramtypes", [Object]),
183
+ __metadata("design:returntype", Promise)
184
+ ], HelpersApi.prototype, "cryptoAes128CBC", null);
185
+ HelpersApi = __decorate([
186
+ (0, core_1.Controller)('/ns/api/helpers')
187
+ ], HelpersApi);
188
+ exports.HelpersApi = HelpersApi;
@@ -0,0 +1,9 @@
1
+ import { Context } from '@midwayjs/koa';
2
+ import { BaseApiController } from './base/BaseApiController';
3
+ import { WorkbenchService } from '../service/WorkbenchService';
4
+ export declare class HomeController extends BaseApiController {
5
+ protected ctx: Context;
6
+ protected workbenchService: WorkbenchService;
7
+ home(): Promise<string>;
8
+ robots(): Promise<string>;
9
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HomeController = void 0;
13
+ const core_1 = require("@midwayjs/core");
14
+ const BaseApiController_1 = require("./base/BaseApiController");
15
+ const WorkbenchService_1 = require("../service/WorkbenchService");
16
+ const render_utils_1 = require("../libs/utils/render-utils");
17
+ const crypto_utils_1 = require("../libs/utils/crypto-utils");
18
+ let HomeController = class HomeController extends BaseApiController_1.BaseApiController {
19
+ async home() {
20
+ const host = this.ctx.request.host;
21
+ const hostname = this.ctx.request.hostname;
22
+ const workbenchInfo = await this.workbenchService.getCurrentHostWorkbenchInfo();
23
+ if (!workbenchInfo || workbenchInfo.status !== 1) {
24
+ this.logInfo(`域名不存在:hostname = ${hostname}, host=${host}`);
25
+ const infos = {
26
+ host,
27
+ errorInfo: `ERR_FATCMS_REFUSED <br/> 域名配置不存在:hostname = ${hostname}, host=${host}`,
28
+ };
29
+ this.ctx.status = 404;
30
+ return this.ctx.render('404_workbench', infos);
31
+ }
32
+ const html_content = workbenchInfo.html_content || '未配置HTML模版';
33
+ const userInfo = this.getUserSessionInfo();
34
+ const fatcmscsrftoken = await crypto_utils_1.privateAES.time_encrypt_utf8_base64('' + Date.now());
35
+ const utils = (0, render_utils_1.createRenderUtils)({
36
+ ctx: this.ctx,
37
+ userInfo,
38
+ workbenchInfo,
39
+ package_assets: workbenchInfo.package_assets,
40
+ fatcmscsrftoken,
41
+ });
42
+ const query = this.ctx.query || {};
43
+ return this.ctx.renderString(html_content, { workbenchInfo, userInfo, utils, query }, { viewEngine: 'ejs' });
44
+ }
45
+ async robots() {
46
+ return `User-agent: * \nDisallow: /ns/api/manage/`;
47
+ }
48
+ };
49
+ __decorate([
50
+ (0, core_1.Inject)(),
51
+ __metadata("design:type", Object)
52
+ ], HomeController.prototype, "ctx", void 0);
53
+ __decorate([
54
+ (0, core_1.Inject)(),
55
+ __metadata("design:type", WorkbenchService_1.WorkbenchService)
56
+ ], HomeController.prototype, "workbenchService", void 0);
57
+ __decorate([
58
+ (0, core_1.Get)('/*'),
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", []),
61
+ __metadata("design:returntype", Promise)
62
+ ], HomeController.prototype, "home", null);
63
+ __decorate([
64
+ (0, core_1.Get)('/robots.txt'),
65
+ __metadata("design:type", Function),
66
+ __metadata("design:paramtypes", []),
67
+ __metadata("design:returntype", Promise)
68
+ ], HomeController.prototype, "robots", null);
69
+ HomeController = __decorate([
70
+ (0, core_1.Controller)('/')
71
+ ], HomeController);
72
+ exports.HomeController = HomeController;
@@ -0,0 +1,10 @@
1
+ import { Context } from '@midwayjs/koa';
2
+ import { BaseApiController } from '../base/BaseApiController';
3
+ export declare class AnyApiMangeApi extends BaseApiController {
4
+ protected ctx: Context;
5
+ getAnyApiList(): Promise<import("../../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
6
+ getAnyApiOne(): Promise<import("../../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
7
+ createAnyApi(): Promise<import("../../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
8
+ updateAnyApi(): Promise<import("../../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
9
+ deleteAnyApi(): Promise<import("../../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
10
+ }