midway-fatcms 0.0.1-beta.22 → 0.0.1-beta.25

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 (419) hide show
  1. package/.eslintrc.json +14 -12
  2. package/.prettierrc.js +4 -4
  3. package/README.md +8 -8
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +187 -185
  6. package/dist/config/seed/aeskey.txt +1 -1
  7. package/dist/config/utils.d.ts +1 -1
  8. package/dist/config/utils.js +23 -23
  9. package/dist/configuration.d.ts +7 -7
  10. package/dist/configuration.js +113 -114
  11. package/dist/controller/base/BaseApiController.d.ts +37 -31
  12. package/dist/controller/base/BaseApiController.js +164 -146
  13. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  14. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  15. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -14
  16. package/dist/controller/gateway/AsyncTaskController.js +181 -108
  17. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  18. package/dist/controller/gateway/CrudMtdGatewayController.js +119 -119
  19. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  20. package/dist/controller/gateway/CrudStdGatewayController.js +137 -137
  21. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  22. package/dist/controller/gateway/DocGatewayController.js +179 -179
  23. package/dist/controller/gateway/FileController.d.ts +25 -25
  24. package/dist/controller/gateway/FileController.js +129 -129
  25. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  26. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  27. package/dist/controller/gateway/PublicApiController.d.ts +27 -27
  28. package/dist/controller/gateway/PublicApiController.js +165 -165
  29. package/dist/controller/gateway/StaticController.d.ts +24 -23
  30. package/dist/controller/gateway/StaticController.js +288 -284
  31. package/dist/controller/helpers.controller.d.ts +39 -39
  32. package/dist/controller/helpers.controller.js +188 -188
  33. package/dist/controller/home.controller.d.ts +9 -9
  34. package/dist/controller/home.controller.js +71 -71
  35. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  36. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  37. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  38. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  39. package/dist/controller/manage/AppMangeApi.d.ts +10 -10
  40. package/dist/controller/manage/AppMangeApi.js +88 -88
  41. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  42. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  43. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  44. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  45. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  46. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  47. package/dist/controller/manage/CrudStandardDesignApi.d.ts +38 -38
  48. package/dist/controller/manage/CrudStandardDesignApi.js +334 -334
  49. package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
  50. package/dist/controller/manage/DataDictManageApi.js +133 -133
  51. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  52. package/dist/controller/manage/DeployManageApi.js +180 -180
  53. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  54. package/dist/controller/manage/DocLibManageApi.js +104 -104
  55. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  56. package/dist/controller/manage/DocManageApi.js +130 -130
  57. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  58. package/dist/controller/manage/FileManageApi.js +77 -77
  59. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  60. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  61. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  62. package/dist/controller/manage/MenuManageApi.js +93 -93
  63. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  64. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  65. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  66. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  67. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  68. package/dist/controller/manage/SysConfigMangeApi.js +126 -126
  69. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  70. package/dist/controller/manage/SystemInfoManageApi.js +72 -72
  71. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  72. package/dist/controller/manage/UserAccountManageApi.js +129 -129
  73. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  74. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  75. package/dist/controller/myinfo/AuthController.d.ts +33 -33
  76. package/dist/controller/myinfo/AuthController.js +136 -136
  77. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  78. package/dist/controller/myinfo/MyInfoController.js +51 -51
  79. package/dist/controller/render/AppRenderController.d.ts +11 -11
  80. package/dist/controller/render/AppRenderController.js +91 -91
  81. package/dist/controller/test.controller.d.ts +8 -8
  82. package/dist/controller/test.controller.js +51 -51
  83. package/dist/filter/default.filter.d.ts +7 -7
  84. package/dist/filter/default.filter.js +23 -23
  85. package/dist/filter/notfound.filter.d.ts +5 -5
  86. package/dist/filter/notfound.filter.js +20 -20
  87. package/dist/index.d.ts +102 -101
  88. package/dist/index.js +120 -119
  89. package/dist/interface.d.ts +27 -27
  90. package/dist/interface.js +3 -3
  91. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  92. package/dist/libs/crud-pro/CrudPro.js +136 -136
  93. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  94. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  95. package/dist/libs/crud-pro/exceptions.d.ts +104 -104
  96. package/dist/libs/crud-pro/exceptions.js +117 -117
  97. package/dist/libs/crud-pro/interfaces.d.ts +163 -163
  98. package/dist/libs/crud-pro/interfaces.js +12 -12
  99. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -43
  100. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  102. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  103. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  104. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  105. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  106. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  107. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  108. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  109. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -16
  110. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  111. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  112. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  113. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
  114. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  115. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  116. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  117. package/dist/libs/crud-pro/models/Transaction.d.ts +29 -29
  118. package/dist/libs/crud-pro/models/Transaction.js +67 -67
  119. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  120. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  121. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  122. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  124. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  125. package/dist/libs/crud-pro/models/keys.d.ts +106 -106
  126. package/dist/libs/crud-pro/models/keys.js +149 -149
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  128. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  130. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -112
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  132. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -223
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  134. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  136. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  138. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -340
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  140. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  142. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -334
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  144. package/dist/libs/crud-pro/services/CrudProServiceBase.js +79 -79
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  146. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -78
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  148. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  149. package/dist/libs/crud-pro/sql.txt +120 -120
  150. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  152. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  153. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  154. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  155. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  156. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  157. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  158. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  159. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  160. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  161. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  162. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/ModelUtils.js +49 -49
  164. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  165. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  166. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  167. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  168. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  169. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  170. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  172. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  174. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  177. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -21
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -11
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
  186. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  187. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  188. package/dist/libs/global-config/global-config.d.ts +45 -45
  189. package/dist/libs/global-config/global-config.js +33 -33
  190. package/dist/libs/utils/common-dto.d.ts +18 -18
  191. package/dist/libs/utils/common-dto.js +40 -40
  192. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  193. package/dist/libs/utils/crypto-utils.js +46 -46
  194. package/dist/libs/utils/errorToString.d.ts +2 -2
  195. package/dist/libs/utils/errorToString.js +57 -57
  196. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  197. package/dist/libs/utils/fatcms-request.js +104 -104
  198. package/dist/libs/utils/functions.d.ts +5 -4
  199. package/dist/libs/utils/functions.js +68 -63
  200. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  201. package/dist/libs/utils/ordernum-utils.js +13 -13
  202. package/dist/libs/utils/parseConfig.d.ts +7 -7
  203. package/dist/libs/utils/parseConfig.js +44 -44
  204. package/dist/libs/utils/parseCreateSql.d.ts +5 -5
  205. package/dist/libs/utils/parseCreateSql.js +86 -86
  206. package/dist/libs/utils/render-utils.d.ts +28 -28
  207. package/dist/libs/utils/render-utils.js +135 -135
  208. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  209. package/dist/middleware/forbidden.middleware.js +54 -54
  210. package/dist/middleware/global.middleware.d.ts +10 -10
  211. package/dist/middleware/global.middleware.js +253 -253
  212. package/dist/middleware/permission.middleware.d.ts +18 -18
  213. package/dist/middleware/permission.middleware.js +74 -74
  214. package/dist/middleware/tx.middleware.d.ts +9 -9
  215. package/dist/middleware/tx.middleware.js +40 -40
  216. package/dist/models/AsyncTaskModel.d.ts +72 -69
  217. package/dist/models/AsyncTaskModel.js +29 -26
  218. package/dist/models/RedisKeys.d.ts +12 -8
  219. package/dist/models/RedisKeys.js +15 -11
  220. package/dist/models/SystemEntities.d.ts +98 -98
  221. package/dist/models/SystemEntities.js +2 -2
  222. package/dist/models/SystemPerm.d.ts +95 -95
  223. package/dist/models/SystemPerm.js +100 -100
  224. package/dist/models/SystemTables.d.ts +25 -25
  225. package/dist/models/SystemTables.js +28 -28
  226. package/dist/models/bizmodels.d.ts +96 -69
  227. package/dist/models/bizmodels.js +39 -34
  228. package/dist/models/contextLogger.d.ts +25 -25
  229. package/dist/models/contextLogger.js +112 -112
  230. package/dist/models/devops.d.ts +12 -12
  231. package/dist/models/devops.js +19 -19
  232. package/dist/models/userSession.d.ts +61 -61
  233. package/dist/models/userSession.js +165 -165
  234. package/dist/schedule/anonymousContext.d.ts +14 -13
  235. package/dist/schedule/anonymousContext.js +59 -59
  236. package/dist/schedule/index.d.ts +4 -4
  237. package/dist/schedule/index.js +10 -10
  238. package/dist/schedule/runSchedule.d.ts +12 -15
  239. package/dist/schedule/runSchedule.js +68 -68
  240. package/dist/schedule/scheduleNames.d.ts +13 -13
  241. package/dist/schedule/scheduleNames.js +17 -17
  242. package/dist/service/AuthService.d.ts +70 -70
  243. package/dist/service/AuthService.js +251 -251
  244. package/dist/service/EnumInfoService.d.ts +30 -30
  245. package/dist/service/EnumInfoService.js +127 -126
  246. package/dist/service/FileCenterService.d.ts +43 -43
  247. package/dist/service/FileCenterService.js +351 -351
  248. package/dist/service/SysConfigService.d.ts +7 -7
  249. package/dist/service/SysConfigService.js +47 -47
  250. package/dist/service/UserAccountService.d.ts +23 -23
  251. package/dist/service/UserAccountService.js +107 -107
  252. package/dist/service/UserSessionService.d.ts +16 -16
  253. package/dist/service/UserSessionService.js +86 -86
  254. package/dist/service/VisitStatService.d.ts +14 -14
  255. package/dist/service/VisitStatService.js +158 -158
  256. package/dist/service/WorkbenchService.d.ts +20 -20
  257. package/dist/service/WorkbenchService.js +159 -155
  258. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  259. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  260. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  261. package/dist/service/anyapi/AnyApiService.js +181 -181
  262. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +37 -37
  263. package/dist/service/asyncTask/AsyncTaskRunnerService.js +242 -232
  264. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  265. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  266. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  267. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  268. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  269. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  270. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  271. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +130 -0
  272. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  273. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  274. package/dist/service/base/ApiBaseService.d.ts +15 -15
  275. package/dist/service/base/ApiBaseService.js +50 -50
  276. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  277. package/dist/service/base/ApiRateLimiter.js +51 -51
  278. package/dist/service/base/BaseService.d.ts +41 -29
  279. package/dist/service/base/BaseService.js +101 -79
  280. package/dist/service/base/RedisCacheService.d.ts +13 -13
  281. package/dist/service/base/RedisCacheService.js +50 -50
  282. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  283. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  284. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  285. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  286. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  287. package/dist/service/crudstd/CrudStdRelationService.js +85 -85
  288. package/dist/service/crudstd/CrudStdService.d.ts +63 -51
  289. package/dist/service/crudstd/CrudStdService.js +259 -227
  290. package/dist/service/curd/CrudProQuick.d.ts +24 -24
  291. package/dist/service/curd/CrudProQuick.js +109 -105
  292. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  293. package/dist/service/curd/CurdMixByAccountService.js +93 -93
  294. package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
  295. package/dist/service/curd/CurdMixByDictService.js +114 -113
  296. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -31
  297. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -202
  298. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
  299. package/dist/service/curd/CurdMixBySysConfigService.js +80 -80
  300. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
  301. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -78
  302. package/dist/service/curd/CurdMixService.d.ts +27 -17
  303. package/dist/service/curd/CurdMixService.js +100 -76
  304. package/dist/service/curd/CurdMixUtils.d.ts +51 -35
  305. package/dist/service/curd/CurdMixUtils.js +275 -238
  306. package/dist/service/curd/CurdProService.d.ts +32 -31
  307. package/dist/service/curd/CurdProService.js +210 -207
  308. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  309. package/dist/service/curd/fixCfgModel.js +107 -107
  310. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  311. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  312. package/dist/service/proxyapi/ProxyApiService.d.ts +60 -60
  313. package/dist/service/proxyapi/ProxyApiService.js +260 -260
  314. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  315. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  316. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  317. package/dist/service/proxyapi/RouteHandler.js +9 -9
  318. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  319. package/dist/service/proxyapi/RouteTrie.js +63 -63
  320. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  321. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  322. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  323. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  324. package/dist/views/404_app.html +31 -31
  325. package/dist/views/404_workbench.html +34 -34
  326. package/index.d.ts +10 -10
  327. package/package.json +80 -78
  328. package/src/config/config.default.ts +207 -203
  329. package/src/config/seed/aeskey.txt +1 -1
  330. package/src/config/utils.ts +2 -3
  331. package/src/configuration.ts +5 -12
  332. package/src/controller/base/BaseApiController.ts +21 -3
  333. package/src/controller/gateway/AsyncTaskController.ts +76 -2
  334. package/src/controller/gateway/StaticController.ts +15 -12
  335. package/src/controller/manage/AnyApiMangeApi.ts +66 -66
  336. package/src/controller/manage/AppLogMangeApi.ts +53 -53
  337. package/src/controller/manage/AppMangeApi.ts +53 -53
  338. package/src/controller/manage/AppPageMangeApi.ts +52 -52
  339. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
  340. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
  341. package/src/controller/manage/DataDictManageApi.ts +78 -78
  342. package/src/controller/manage/DocLibManageApi.ts +69 -69
  343. package/src/controller/manage/DocManageApi.ts +99 -99
  344. package/src/controller/manage/FileManageApi.ts +45 -45
  345. package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
  346. package/src/controller/manage/MenuManageApi.ts +58 -58
  347. package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
  348. package/src/controller/manage/SysConfigMangeApi.ts +95 -95
  349. package/src/controller/manage/UserAccountManageApi.ts +94 -94
  350. package/src/controller/manage/WorkbenchMangeApi.ts +72 -72
  351. package/src/index.ts +106 -105
  352. package/src/interface.ts +31 -31
  353. package/src/libs/crud-pro/models/ExecuteContext.ts +13 -4
  354. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +2 -3
  355. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +8 -9
  356. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -86
  357. package/src/libs/crud-pro/sql.txt +120 -120
  358. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +26 -26
  359. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +25 -25
  360. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +11 -11
  361. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +11 -11
  362. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +129 -129
  363. package/src/libs/utils/functions.ts +73 -67
  364. package/src/libs/utils/render-utils.ts +184 -184
  365. package/src/middleware/permission.middleware.ts +1 -2
  366. package/src/models/AsyncTaskModel.ts +9 -6
  367. package/src/models/RedisKeys.ts +11 -11
  368. package/src/models/SystemEntities.ts +115 -115
  369. package/src/models/SystemPerm.ts +105 -105
  370. package/src/models/SystemTables.ts +27 -27
  371. package/src/models/bizmodels.ts +120 -88
  372. package/src/models/contextLogger.ts +132 -132
  373. package/src/models/devops.ts +17 -17
  374. package/src/models/userSession.ts +216 -216
  375. package/src/schedule/anonymousContext.ts +17 -23
  376. package/src/schedule/index.ts +12 -12
  377. package/src/schedule/runSchedule.ts +82 -83
  378. package/src/schedule/scheduleNames.ts +21 -21
  379. package/src/service/AuthService.ts +7 -10
  380. package/src/service/EnumInfoService.ts +24 -28
  381. package/src/service/FileCenterService.ts +4 -9
  382. package/src/service/SysConfigService.ts +4 -5
  383. package/src/service/UserAccountService.ts +107 -110
  384. package/src/service/UserSessionService.ts +12 -16
  385. package/src/service/WorkbenchService.ts +15 -15
  386. package/src/service/anyapi/AnyApiService.ts +1 -2
  387. package/src/service/asyncTask/AsyncTaskRunnerService.ts +22 -11
  388. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  389. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
  390. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +147 -0
  391. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +138 -0
  392. package/src/service/base/ApiBaseService.ts +3 -3
  393. package/src/service/base/ApiRateLimiter.ts +59 -59
  394. package/src/service/base/BaseService.ts +100 -74
  395. package/src/service/base/RedisCacheService.ts +38 -38
  396. package/src/service/crudstd/CrudStdActionService.ts +27 -27
  397. package/src/service/crudstd/CrudStdConstant.ts +62 -62
  398. package/src/service/crudstd/CrudStdRelationService.ts +78 -78
  399. package/src/service/crudstd/CrudStdService.ts +283 -243
  400. package/src/service/curd/CrudProQuick.ts +11 -17
  401. package/src/service/curd/CurdMixByAccountService.ts +8 -9
  402. package/src/service/curd/CurdMixByDictService.ts +19 -24
  403. package/src/service/curd/CurdMixByLinkToCustomService.ts +10 -9
  404. package/src/service/curd/CurdMixBySysConfigService.ts +8 -13
  405. package/src/service/curd/CurdMixByWorkbenchService.ts +7 -8
  406. package/src/service/curd/CurdMixService.ts +37 -5
  407. package/src/service/curd/CurdMixUtils.ts +65 -45
  408. package/src/service/curd/CurdProService.ts +42 -48
  409. package/src/service/curd/fixCfgModel.ts +139 -139
  410. package/src/service/proxyapi/ProxyApiLoadService.ts +174 -174
  411. package/src/service/proxyapi/ProxyApiService.ts +262 -262
  412. package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
  413. package/src/service/proxyapi/RouteHandler.ts +8 -8
  414. package/src/service/proxyapi/RouteTrie.ts +74 -74
  415. package/src/service/proxyapi/WeightedRandom.ts +37 -37
  416. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
  417. package/src/views/404_app.html +31 -31
  418. package/src/views/404_workbench.html +34 -34
  419. package/tsconfig.json +32 -32
@@ -1,44 +1,44 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseConfigContentToEnumInfo = void 0;
4
- const _ = require("lodash");
5
- const functions_1 = require("./functions");
6
- function parseTreeTableToIEnumInfo(dataSource) {
7
- if (!dataSource || !Array.isArray(dataSource)) {
8
- return undefined;
9
- }
10
- return dataSource.map((item) => {
11
- const { key, nodeName, value, label } = item;
12
- const children = parseTreeTableToIEnumInfo(item.children);
13
- const enumInfo = {
14
- label: label || nodeName,
15
- value: value || key,
16
- };
17
- if (children) {
18
- enumInfo.children = children;
19
- }
20
- return enumInfo;
21
- });
22
- }
23
- function parseConfigContentToEnumInfo(configEntity) {
24
- const { config_content, config_type } = configEntity;
25
- const configObj = (0, functions_1.parseJsonObject)(config_content);
26
- if (!configObj) {
27
- return null;
28
- }
29
- if (config_type === 'treeTable') {
30
- const dataSource = _.get(configObj, 'data.dataSource');
31
- if (Array.isArray(dataSource)) {
32
- return parseTreeTableToIEnumInfo(dataSource);
33
- }
34
- return [];
35
- }
36
- if (configObj.data && Array.isArray(configObj.data)) {
37
- return configObj.data;
38
- }
39
- if (Array.isArray(configObj)) {
40
- return configObj;
41
- }
42
- return [];
43
- }
44
- exports.parseConfigContentToEnumInfo = parseConfigContentToEnumInfo;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseConfigContentToEnumInfo = void 0;
4
+ const _ = require("lodash");
5
+ const functions_1 = require("./functions");
6
+ function parseTreeTableToIEnumInfo(dataSource) {
7
+ if (!dataSource || !Array.isArray(dataSource)) {
8
+ return undefined;
9
+ }
10
+ return dataSource.map((item) => {
11
+ const { key, nodeName, value, label } = item;
12
+ const children = parseTreeTableToIEnumInfo(item.children);
13
+ const enumInfo = {
14
+ label: label || nodeName,
15
+ value: value || key,
16
+ };
17
+ if (children) {
18
+ enumInfo.children = children;
19
+ }
20
+ return enumInfo;
21
+ });
22
+ }
23
+ function parseConfigContentToEnumInfo(configEntity) {
24
+ const { config_content, config_type } = configEntity;
25
+ const configObj = (0, functions_1.parseJsonObject)(config_content);
26
+ if (!configObj) {
27
+ return null;
28
+ }
29
+ if (config_type === 'treeTable') {
30
+ const dataSource = _.get(configObj, 'data.dataSource');
31
+ if (Array.isArray(dataSource)) {
32
+ return parseTreeTableToIEnumInfo(dataSource);
33
+ }
34
+ return [];
35
+ }
36
+ if (configObj.data && Array.isArray(configObj.data)) {
37
+ return configObj.data;
38
+ }
39
+ if (Array.isArray(configObj)) {
40
+ return configObj;
41
+ }
42
+ return [];
43
+ }
44
+ exports.parseConfigContentToEnumInfo = parseConfigContentToEnumInfo;
@@ -1,5 +1,5 @@
1
- declare function parseCreateSqlToTitleMap(createSqlStr: string): {
2
- tableTitle: string;
3
- fieldsTitleMap: {};
4
- };
5
- export { parseCreateSqlToTitleMap };
1
+ declare function parseCreateSqlToTitleMap(createSqlStr: string): {
2
+ tableTitle: string;
3
+ fieldsTitleMap: {};
4
+ };
5
+ export { parseCreateSqlToTitleMap };
@@ -1,86 +1,86 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseCreateSqlToTitleMap = void 0;
4
- function isChineseChar(char) {
5
- const reg = /[\u4e00-\u9fff]/;
6
- return reg.test(char);
7
- }
8
- function isLetterOrNumber(char) {
9
- const reg = /^[a-zA-Z0-9]$/;
10
- return reg.test(char);
11
- }
12
- function isTitleValidChar(c) {
13
- return isChineseChar(c) || isLetterOrNumber(c) || c === ' ';
14
- }
15
- /**
16
- * 移除引号
17
- * @param s
18
- */
19
- function parseTableFieldTitleFromComment(s) {
20
- if (!s) {
21
- return '';
22
- }
23
- s = s.trim();
24
- s = s.replace(/'/gm, '');
25
- const arr = [];
26
- for (let i = 0; i < s.length; i++) {
27
- const c = s.charAt(i);
28
- if (isTitleValidChar(c)) {
29
- arr.push(c);
30
- }
31
- else {
32
- break;
33
- }
34
- }
35
- return arr.join('');
36
- }
37
- /**
38
- * 从最后一行中提取表格的标题
39
- * @param arr
40
- */
41
- function parseTableTitle(arr) {
42
- if (arr.length === 0) {
43
- return '';
44
- }
45
- // 最后一行
46
- const key = ' COMMENT=';
47
- const lastStr = arr[arr.length - 1].toUpperCase();
48
- const s = lastStr.indexOf(key);
49
- if (s < 0) {
50
- return '';
51
- }
52
- const c = lastStr.substring(s + key.length).trim();
53
- return parseTableFieldTitleFromComment(c);
54
- }
55
- function parseCreateSqlToTitleMap(createSqlStr) {
56
- if (!createSqlStr) {
57
- return {
58
- tableTitle: '',
59
- fieldsTitleMap: {},
60
- };
61
- }
62
- const titleMap = {};
63
- const arr0 = createSqlStr.split('\n').map(s => {
64
- return s.trim();
65
- });
66
- const tableTitle = parseTableTitle(arr0);
67
- let arr = arr0.filter(s => {
68
- return !(s.endsWith('(') || s.startsWith('('));
69
- });
70
- arr = arr.filter(s => {
71
- return s.includes(' COMMENT ');
72
- });
73
- for (let i = 0; i < arr.length; i++) {
74
- const arrElement = arr[i].split(' COMMENT ');
75
- const e0 = arrElement[0];
76
- const e1 = arrElement[1];
77
- const keyArr = e0.split(' ');
78
- const field = keyArr[0].replace(/`/gm, '');
79
- titleMap[field] = parseTableFieldTitleFromComment(e1).trim();
80
- }
81
- return {
82
- tableTitle,
83
- fieldsTitleMap: titleMap, // 列标题
84
- };
85
- }
86
- exports.parseCreateSqlToTitleMap = parseCreateSqlToTitleMap;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseCreateSqlToTitleMap = void 0;
4
+ function isChineseChar(char) {
5
+ const reg = /[\u4e00-\u9fff]/;
6
+ return reg.test(char);
7
+ }
8
+ function isLetterOrNumber(char) {
9
+ const reg = /^[a-zA-Z0-9]$/;
10
+ return reg.test(char);
11
+ }
12
+ function isTitleValidChar(c) {
13
+ return isChineseChar(c) || isLetterOrNumber(c) || c === ' ';
14
+ }
15
+ /**
16
+ * 移除引号
17
+ * @param s
18
+ */
19
+ function parseTableFieldTitleFromComment(s) {
20
+ if (!s) {
21
+ return '';
22
+ }
23
+ s = s.trim();
24
+ s = s.replace(/'/gm, '');
25
+ const arr = [];
26
+ for (let i = 0; i < s.length; i++) {
27
+ const c = s.charAt(i);
28
+ if (isTitleValidChar(c)) {
29
+ arr.push(c);
30
+ }
31
+ else {
32
+ break;
33
+ }
34
+ }
35
+ return arr.join('');
36
+ }
37
+ /**
38
+ * 从最后一行中提取表格的标题
39
+ * @param arr
40
+ */
41
+ function parseTableTitle(arr) {
42
+ if (arr.length === 0) {
43
+ return '';
44
+ }
45
+ // 最后一行
46
+ const key = ' COMMENT=';
47
+ const lastStr = arr[arr.length - 1].toUpperCase();
48
+ const s = lastStr.indexOf(key);
49
+ if (s < 0) {
50
+ return '';
51
+ }
52
+ const c = lastStr.substring(s + key.length).trim();
53
+ return parseTableFieldTitleFromComment(c);
54
+ }
55
+ function parseCreateSqlToTitleMap(createSqlStr) {
56
+ if (!createSqlStr) {
57
+ return {
58
+ tableTitle: '',
59
+ fieldsTitleMap: {},
60
+ };
61
+ }
62
+ const titleMap = {};
63
+ const arr0 = createSqlStr.split('\n').map(s => {
64
+ return s.trim();
65
+ });
66
+ const tableTitle = parseTableTitle(arr0);
67
+ let arr = arr0.filter(s => {
68
+ return !(s.endsWith('(') || s.startsWith('('));
69
+ });
70
+ arr = arr.filter(s => {
71
+ return s.includes(' COMMENT ');
72
+ });
73
+ for (let i = 0; i < arr.length; i++) {
74
+ const arrElement = arr[i].split(' COMMENT ');
75
+ const e0 = arrElement[0];
76
+ const e1 = arrElement[1];
77
+ const keyArr = e0.split(' ');
78
+ const field = keyArr[0].replace(/`/gm, '');
79
+ titleMap[field] = parseTableFieldTitleFromComment(e1).trim();
80
+ }
81
+ return {
82
+ tableTitle,
83
+ fieldsTitleMap: titleMap, // 列标题
84
+ };
85
+ }
86
+ exports.parseCreateSqlToTitleMap = parseCreateSqlToTitleMap;
@@ -1,28 +1,28 @@
1
- import { Context } from '@midwayjs/koa';
2
- interface IRenderUtilsProps {
3
- ctx: Context;
4
- package_assets: any;
5
- workbenchInfo: any;
6
- userInfo?: any;
7
- appInfo?: any;
8
- fatcmscsrftoken: string;
9
- }
10
- declare class RenderUtils {
11
- private readonly ctx;
12
- private readonly fileList;
13
- private readonly workbenchInfo;
14
- private readonly userInfo;
15
- private readonly appInfo;
16
- private readonly fatcmscsrftoken;
17
- constructor(props: IRenderUtilsProps);
18
- renderCsrfToken(): string;
19
- renderUserInfo(): string;
20
- renderWorkbenchInfo(): string;
21
- renderAppInfo(): string;
22
- renderCookieInfo(keys: string): string;
23
- renderJsAssets(): string;
24
- renderCssAssets(): string;
25
- renderExtLocalLoaderPortByDevHeader(): string;
26
- }
27
- declare function createRenderUtils(props: IRenderUtilsProps): RenderUtils;
28
- export { createRenderUtils };
1
+ import { Context } from '@midwayjs/koa';
2
+ interface IRenderUtilsProps {
3
+ ctx: Context;
4
+ package_assets: any;
5
+ workbenchInfo: any;
6
+ userInfo?: any;
7
+ appInfo?: any;
8
+ fatcmscsrftoken: string;
9
+ }
10
+ declare class RenderUtils {
11
+ private readonly ctx;
12
+ private readonly fileList;
13
+ private readonly workbenchInfo;
14
+ private readonly userInfo;
15
+ private readonly appInfo;
16
+ private readonly fatcmscsrftoken;
17
+ constructor(props: IRenderUtilsProps);
18
+ renderCsrfToken(): string;
19
+ renderUserInfo(): string;
20
+ renderWorkbenchInfo(): string;
21
+ renderAppInfo(): string;
22
+ renderCookieInfo(keys: string): string;
23
+ renderJsAssets(): string;
24
+ renderCssAssets(): string;
25
+ renderExtLocalLoaderPortByDevHeader(): string;
26
+ }
27
+ declare function createRenderUtils(props: IRenderUtilsProps): RenderUtils;
28
+ export { createRenderUtils };
@@ -1,135 +1,135 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createRenderUtils = void 0;
4
- const _ = require("lodash");
5
- const moment = require("moment");
6
- const functions_1 = require("./functions");
7
- const fatcms_request_1 = require("./fatcms-request");
8
- const TypeUtils_1 = require("../crud-pro/utils/TypeUtils");
9
- function parseCookie(cookieStr) {
10
- const cookies = {};
11
- if (!cookieStr) {
12
- return cookies;
13
- }
14
- // 分割每个 cookie 项
15
- const cookieItems = cookieStr.split(';');
16
- for (const item of cookieItems) {
17
- // 去除空白字符
18
- const trimmedItem = item.trim();
19
- if (!trimmedItem) {
20
- continue;
21
- }
22
- // 找到第一个等号的位置
23
- const eqIndex = trimmedItem.indexOf('=');
24
- if (eqIndex === -1) {
25
- continue;
26
- }
27
- // 提取 key 和 value
28
- const key = trimmedItem.substring(0, eqIndex).trim();
29
- const value = trimmedItem.substring(eqIndex + 1).trim();
30
- // 处理可能的引号
31
- if (value.startsWith('"') && value.endsWith('"')) {
32
- cookies[key] = value.slice(1, -1);
33
- }
34
- else {
35
- cookies[key] = value;
36
- }
37
- }
38
- return cookies;
39
- }
40
- class RenderUtils {
41
- constructor(props) {
42
- var _a, _b;
43
- this.ctx = props.ctx;
44
- this.workbenchInfo = props.workbenchInfo || {};
45
- this.userInfo = props.userInfo || {};
46
- this.appInfo = props.appInfo || {};
47
- this.fatcmscsrftoken = props.fatcmscsrftoken;
48
- const packageAssets = (0, functions_1.parseJsonObject)(props.package_assets) || {};
49
- const fileList = _.get(packageAssets, 'data.fileList');
50
- if (Array.isArray(fileList)) {
51
- this.fileList = fileList.filter((f) => {
52
- return f && f.fileUrl && typeof f.fileUrl === 'string' && f.fileUrl.length > 5; // 至少五个字符。
53
- });
54
- }
55
- else {
56
- this.fileList = [];
57
- const time = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
58
- console.info(time + ' 解析fileList为空==>' + JSON.stringify({
59
- workbench_code: (_a = this.workbenchInfo) === null || _a === void 0 ? void 0 : _a.workbench_code,
60
- app_code: (_b = this.appInfo) === null || _b === void 0 ? void 0 : _b.app_code,
61
- }));
62
- }
63
- }
64
- renderCsrfToken() {
65
- return `<script>window.__fatcmscsrftoken = "${this.fatcmscsrftoken}";</script>`;
66
- }
67
- renderUserInfo() {
68
- return `<script>window.__user_info = ${JSON.stringify(this.userInfo)} </script>`;
69
- }
70
- renderWorkbenchInfo() {
71
- const infoPick = _.pick(this.workbenchInfo, [
72
- 'id', 'workbench_code', 'workbench_name', 'workbench_domain', 'workbench_desc', 'config_type', 'config_content'
73
- ]);
74
- return `<script>window.__workbench_info = ${JSON.stringify(infoPick)}</script>`;
75
- }
76
- renderAppInfo() {
77
- const infoPick = _.pick(this.appInfo, [
78
- 'id', 'app_code', 'app_name', 'app_type', 'app_desc', 'config_type', 'config_content'
79
- ]);
80
- return `<script>window.__app_info = ${JSON.stringify(infoPick)}</script>`;
81
- }
82
- renderCookieInfo(keys) {
83
- var _a;
84
- try {
85
- const cookies = parseCookie((_a = this.ctx.headers) === null || _a === void 0 ? void 0 : _a.cookie);
86
- const cookieObj = {};
87
- if (typeof keys === 'string') {
88
- const keyArr = keys.split(',');
89
- for (let i = 0; i < keyArr.length; i++) {
90
- const keyName = keyArr[i];
91
- cookieObj[keyName] = cookies[keyName];
92
- }
93
- }
94
- return `<script>window.__cookie_info = ${JSON.stringify(cookieObj)}</script>`;
95
- }
96
- catch (e) {
97
- return `<script>window.__cookie_info_error = ${e}; </script>`;
98
- }
99
- }
100
- renderJsAssets() {
101
- const fileList = this.fileList.filter((s) => {
102
- return s.fileType === 'js' || s.fileUrl.endsWith('.js');
103
- });
104
- const arr = fileList.map(f => {
105
- if (f.isModule) {
106
- return `<script type="module" crossorigin src="${f.fileUrl}" ></script>`;
107
- }
108
- return `<script src="${f.fileUrl}" ></script>`;
109
- });
110
- return arr.join('\n');
111
- }
112
- renderCssAssets() {
113
- const fileList = this.fileList.filter((s) => {
114
- return s.fileType === 'css' || s.fileUrl.endsWith('.css');
115
- });
116
- const fileUrlList = fileList.map(f => {
117
- return f.fileUrl;
118
- });
119
- const arr = fileUrlList.map((url) => {
120
- return `<link href="${url}" rel="stylesheet" />`;
121
- });
122
- return arr.join('\n');
123
- }
124
- renderExtLocalLoaderPortByDevHeader() {
125
- const loaderPort = (0, fatcms_request_1.getExtLocalLoaderPort)(this.ctx);
126
- if (loaderPort && TypeUtils_1.TypeUtils.isNumeric(loaderPort)) {
127
- return `<script>window.__local_loader_port_from_dev_header = ${loaderPort}</script>`;
128
- }
129
- return '';
130
- }
131
- }
132
- function createRenderUtils(props) {
133
- return new RenderUtils(props);
134
- }
135
- exports.createRenderUtils = createRenderUtils;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRenderUtils = void 0;
4
+ const _ = require("lodash");
5
+ const moment = require("moment");
6
+ const functions_1 = require("./functions");
7
+ const fatcms_request_1 = require("./fatcms-request");
8
+ const TypeUtils_1 = require("../crud-pro/utils/TypeUtils");
9
+ function parseCookie(cookieStr) {
10
+ const cookies = {};
11
+ if (!cookieStr) {
12
+ return cookies;
13
+ }
14
+ // 分割每个 cookie 项
15
+ const cookieItems = cookieStr.split(';');
16
+ for (const item of cookieItems) {
17
+ // 去除空白字符
18
+ const trimmedItem = item.trim();
19
+ if (!trimmedItem) {
20
+ continue;
21
+ }
22
+ // 找到第一个等号的位置
23
+ const eqIndex = trimmedItem.indexOf('=');
24
+ if (eqIndex === -1) {
25
+ continue;
26
+ }
27
+ // 提取 key 和 value
28
+ const key = trimmedItem.substring(0, eqIndex).trim();
29
+ const value = trimmedItem.substring(eqIndex + 1).trim();
30
+ // 处理可能的引号
31
+ if (value.startsWith('"') && value.endsWith('"')) {
32
+ cookies[key] = value.slice(1, -1);
33
+ }
34
+ else {
35
+ cookies[key] = value;
36
+ }
37
+ }
38
+ return cookies;
39
+ }
40
+ class RenderUtils {
41
+ constructor(props) {
42
+ var _a, _b;
43
+ this.ctx = props.ctx;
44
+ this.workbenchInfo = props.workbenchInfo || {};
45
+ this.userInfo = props.userInfo || {};
46
+ this.appInfo = props.appInfo || {};
47
+ this.fatcmscsrftoken = props.fatcmscsrftoken;
48
+ const packageAssets = (0, functions_1.parseJsonObject)(props.package_assets) || {};
49
+ const fileList = _.get(packageAssets, 'data.fileList');
50
+ if (Array.isArray(fileList)) {
51
+ this.fileList = fileList.filter((f) => {
52
+ return f && f.fileUrl && typeof f.fileUrl === 'string' && f.fileUrl.length > 5; // 至少五个字符。
53
+ });
54
+ }
55
+ else {
56
+ this.fileList = [];
57
+ const time = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
58
+ console.info(time + ' 解析fileList为空==>' + JSON.stringify({
59
+ workbench_code: (_a = this.workbenchInfo) === null || _a === void 0 ? void 0 : _a.workbench_code,
60
+ app_code: (_b = this.appInfo) === null || _b === void 0 ? void 0 : _b.app_code,
61
+ }));
62
+ }
63
+ }
64
+ renderCsrfToken() {
65
+ return `<script>window.__fatcmscsrftoken = "${this.fatcmscsrftoken}";</script>`;
66
+ }
67
+ renderUserInfo() {
68
+ return `<script>window.__user_info = ${JSON.stringify(this.userInfo)} </script>`;
69
+ }
70
+ renderWorkbenchInfo() {
71
+ const infoPick = _.pick(this.workbenchInfo, [
72
+ 'id', 'workbench_code', 'workbench_name', 'workbench_domain', 'workbench_desc', 'config_type', 'config_content'
73
+ ]);
74
+ return `<script>window.__workbench_info = ${JSON.stringify(infoPick)}</script>`;
75
+ }
76
+ renderAppInfo() {
77
+ const infoPick = _.pick(this.appInfo, [
78
+ 'id', 'app_code', 'app_name', 'app_type', 'app_desc', 'config_type', 'config_content'
79
+ ]);
80
+ return `<script>window.__app_info = ${JSON.stringify(infoPick)}</script>`;
81
+ }
82
+ renderCookieInfo(keys) {
83
+ var _a;
84
+ try {
85
+ const cookies = parseCookie((_a = this.ctx.headers) === null || _a === void 0 ? void 0 : _a.cookie);
86
+ const cookieObj = {};
87
+ if (typeof keys === 'string') {
88
+ const keyArr = keys.split(',');
89
+ for (let i = 0; i < keyArr.length; i++) {
90
+ const keyName = keyArr[i];
91
+ cookieObj[keyName] = cookies[keyName];
92
+ }
93
+ }
94
+ return `<script>window.__cookie_info = ${JSON.stringify(cookieObj)}</script>`;
95
+ }
96
+ catch (e) {
97
+ return `<script>window.__cookie_info_error = ${e}; </script>`;
98
+ }
99
+ }
100
+ renderJsAssets() {
101
+ const fileList = this.fileList.filter((s) => {
102
+ return s.fileType === 'js' || s.fileUrl.endsWith('.js');
103
+ });
104
+ const arr = fileList.map(f => {
105
+ if (f.isModule) {
106
+ return `<script type="module" crossorigin src="${f.fileUrl}" ></script>`;
107
+ }
108
+ return `<script src="${f.fileUrl}" ></script>`;
109
+ });
110
+ return arr.join('\n');
111
+ }
112
+ renderCssAssets() {
113
+ const fileList = this.fileList.filter((s) => {
114
+ return s.fileType === 'css' || s.fileUrl.endsWith('.css');
115
+ });
116
+ const fileUrlList = fileList.map(f => {
117
+ return f.fileUrl;
118
+ });
119
+ const arr = fileUrlList.map((url) => {
120
+ return `<link href="${url}" rel="stylesheet" />`;
121
+ });
122
+ return arr.join('\n');
123
+ }
124
+ renderExtLocalLoaderPortByDevHeader() {
125
+ const loaderPort = (0, fatcms_request_1.getExtLocalLoaderPort)(this.ctx);
126
+ if (loaderPort && TypeUtils_1.TypeUtils.isNumeric(loaderPort)) {
127
+ return `<script>window.__local_loader_port_from_dev_header = ${loaderPort}</script>`;
128
+ }
129
+ return '';
130
+ }
131
+ }
132
+ function createRenderUtils(props) {
133
+ return new RenderUtils(props);
134
+ }
135
+ exports.createRenderUtils = createRenderUtils;
@@ -1,10 +1,10 @@
1
- import { IMiddleware } from '@midwayjs/core';
2
- import { NextFunction, Context } from '@midwayjs/koa';
3
- /**
4
- * 针对一些路径禁止访问。避免一些爬虫抓取网站内容,实际上这里枚举的路径,本身就是不存在的。只是为了提前拦截,为了服务器性能考虑。
5
- */
6
- export declare class ForbiddenMiddleware implements IMiddleware<Context, NextFunction> {
7
- match(ctx: Context): boolean;
8
- resolve(): (ctx: Context, next: NextFunction) => Promise<void>;
9
- static getName(): string;
10
- }
1
+ import { IMiddleware } from '@midwayjs/core';
2
+ import { NextFunction, Context } from '@midwayjs/koa';
3
+ /**
4
+ * 针对一些路径禁止访问。避免一些爬虫抓取网站内容,实际上这里枚举的路径,本身就是不存在的。只是为了提前拦截,为了服务器性能考虑。
5
+ */
6
+ export declare class ForbiddenMiddleware implements IMiddleware<Context, NextFunction> {
7
+ match(ctx: Context): boolean;
8
+ resolve(): (ctx: Context, next: NextFunction) => Promise<void>;
9
+ static getName(): string;
10
+ }