midway-fatcms 0.0.1-beta.54 → 0.0.1-beta.56

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 (497) hide show
  1. package/.eslintrc.json +14 -14
  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 +160 -160
  6. package/dist/config/utils.d.ts +1 -1
  7. package/dist/config/utils.js +23 -23
  8. package/dist/configuration.d.ts +7 -7
  9. package/dist/configuration.js +113 -113
  10. package/dist/controller/base/BaseApiController.d.ts +37 -37
  11. package/dist/controller/base/BaseApiController.js +164 -164
  12. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  13. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  14. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
  15. package/dist/controller/gateway/AsyncTaskController.js +181 -181
  16. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  17. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -119
  18. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  19. package/dist/controller/gateway/CrudStdGatewayController.js +129 -129
  20. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  21. package/dist/controller/gateway/DocGatewayController.js +179 -179
  22. package/dist/controller/gateway/FileController.d.ts +26 -26
  23. package/dist/controller/gateway/FileController.js +129 -129
  24. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  25. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  26. package/dist/controller/gateway/PublicApiController.d.ts +27 -27
  27. package/dist/controller/gateway/PublicApiController.js +162 -162
  28. package/dist/controller/gateway/StaticController.d.ts +23 -23
  29. package/dist/controller/gateway/StaticController.js +286 -286
  30. package/dist/controller/helpers.controller.d.ts +39 -39
  31. package/dist/controller/helpers.controller.js +188 -188
  32. package/dist/controller/home.controller.d.ts +9 -9
  33. package/dist/controller/home.controller.js +72 -72
  34. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  35. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  36. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  37. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  38. package/dist/controller/manage/AppMangeApi.d.ts +10 -10
  39. package/dist/controller/manage/AppMangeApi.js +88 -88
  40. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  41. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  42. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  43. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  44. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  45. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  46. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
  47. package/dist/controller/manage/CrudStandardDesignApi.js +395 -395
  48. package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
  49. package/dist/controller/manage/DataDictManageApi.js +133 -133
  50. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  51. package/dist/controller/manage/DeployManageApi.js +180 -180
  52. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  53. package/dist/controller/manage/DocLibManageApi.js +104 -104
  54. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  55. package/dist/controller/manage/DocManageApi.js +130 -130
  56. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  57. package/dist/controller/manage/FileManageApi.js +77 -77
  58. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  59. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  60. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  61. package/dist/controller/manage/MenuManageApi.js +93 -93
  62. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  63. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  64. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  65. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  66. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  67. package/dist/controller/manage/SysConfigMangeApi.js +126 -126
  68. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  69. package/dist/controller/manage/SystemInfoManageApi.js +72 -72
  70. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  71. package/dist/controller/manage/UserAccountManageApi.js +129 -129
  72. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  73. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  74. package/dist/controller/myinfo/AuthController.d.ts +33 -33
  75. package/dist/controller/myinfo/AuthController.js +136 -136
  76. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  77. package/dist/controller/myinfo/MyInfoController.js +51 -51
  78. package/dist/controller/render/AppRenderController.d.ts +11 -11
  79. package/dist/controller/render/AppRenderController.js +92 -92
  80. package/dist/controller/test.controller.d.ts +8 -8
  81. package/dist/controller/test.controller.js +51 -51
  82. package/dist/filter/default.filter.d.ts +7 -7
  83. package/dist/filter/default.filter.js +23 -23
  84. package/dist/filter/notfound.filter.d.ts +5 -5
  85. package/dist/filter/notfound.filter.js +20 -20
  86. package/dist/index.d.ts +103 -103
  87. package/dist/index.js +121 -121
  88. package/dist/interface.d.ts +27 -27
  89. package/dist/interface.js +3 -3
  90. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  91. package/dist/libs/crud-pro/CrudPro.js +136 -136
  92. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  93. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  94. package/dist/libs/crud-pro/exceptions.d.ts +104 -104
  95. package/dist/libs/crud-pro/exceptions.js +117 -117
  96. package/dist/libs/crud-pro/interfaces.d.ts +163 -163
  97. package/dist/libs/crud-pro/interfaces.js +12 -12
  98. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -49
  99. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  100. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  102. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  103. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  104. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  105. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  106. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  107. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  108. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -16
  109. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  110. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  111. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  112. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
  113. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  114. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  115. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  116. package/dist/libs/crud-pro/models/Transaction.d.ts +30 -30
  117. package/dist/libs/crud-pro/models/Transaction.js +74 -74
  118. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  119. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  120. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  121. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  122. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  124. package/dist/libs/crud-pro/models/keys.d.ts +106 -106
  125. package/dist/libs/crud-pro/models/keys.js +149 -149
  126. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  128. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -112
  130. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -225
  132. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  134. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  136. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -340
  138. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  140. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -334
  142. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -90
  144. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +72 -72
  146. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  148. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  149. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  150. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  152. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  153. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  154. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  155. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  156. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  157. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  158. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  159. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  160. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  161. package/dist/libs/crud-pro/utils/ModelUtils.js +49 -49
  162. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  164. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  165. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  166. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  167. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  168. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  169. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  170. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  172. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  174. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  177. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -21
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -11
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  186. package/dist/libs/global-config/global-config.d.ts +69 -60
  187. package/dist/libs/global-config/global-config.js +36 -35
  188. package/dist/libs/utils/base64.d.ts +9 -9
  189. package/dist/libs/utils/base64.js +42 -42
  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 -5
  199. package/dist/libs/utils/functions.js +72 -72
  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 +10 -10
  205. package/dist/libs/utils/parseCreateSql.js +87 -87
  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 +266 -266
  212. package/dist/middleware/permission.middleware.d.ts +18 -18
  213. package/dist/middleware/permission.middleware.js +74 -74
  214. package/dist/middleware/rediscache.middleware.d.ts +3 -3
  215. package/dist/middleware/rediscache.middleware.js +77 -77
  216. package/dist/middleware/redislock.middleware.d.ts +7 -7
  217. package/dist/middleware/redislock.middleware.js +72 -72
  218. package/dist/middleware/tx.middleware.d.ts +9 -9
  219. package/dist/middleware/tx.middleware.js +40 -40
  220. package/dist/models/AsyncTaskModel.d.ts +74 -74
  221. package/dist/models/AsyncTaskModel.js +31 -31
  222. package/dist/models/RedisKeys.d.ts +15 -15
  223. package/dist/models/RedisKeys.js +18 -18
  224. package/dist/models/SystemEntities.d.ts +105 -105
  225. package/dist/models/SystemEntities.js +9 -9
  226. package/dist/models/SystemPerm.d.ts +95 -95
  227. package/dist/models/SystemPerm.js +100 -100
  228. package/dist/models/SystemTables.d.ts +25 -25
  229. package/dist/models/SystemTables.js +28 -28
  230. package/dist/models/bizmodels.d.ts +99 -99
  231. package/dist/models/bizmodels.js +39 -39
  232. package/dist/models/contextLogger.d.ts +25 -25
  233. package/dist/models/contextLogger.js +112 -112
  234. package/dist/models/devops.d.ts +12 -12
  235. package/dist/models/devops.js +19 -19
  236. package/dist/models/userSession.d.ts +62 -62
  237. package/dist/models/userSession.js +165 -165
  238. package/dist/schedule/anonymousContext.d.ts +14 -14
  239. package/dist/schedule/anonymousContext.js +59 -59
  240. package/dist/schedule/index.d.ts +4 -4
  241. package/dist/schedule/index.js +10 -10
  242. package/dist/schedule/runSchedule.d.ts +12 -12
  243. package/dist/schedule/runSchedule.js +68 -68
  244. package/dist/schedule/scheduleNames.d.ts +13 -13
  245. package/dist/schedule/scheduleNames.js +17 -17
  246. package/dist/service/AuthService.d.ts +71 -70
  247. package/dist/service/AuthService.js +259 -251
  248. package/dist/service/EnumInfoService.d.ts +30 -30
  249. package/dist/service/EnumInfoService.js +127 -127
  250. package/dist/service/FileCenterService.d.ts +43 -43
  251. package/dist/service/FileCenterService.js +351 -351
  252. package/dist/service/SysConfigService.d.ts +7 -7
  253. package/dist/service/SysConfigService.js +47 -47
  254. package/dist/service/UserAccountService.d.ts +23 -23
  255. package/dist/service/UserAccountService.js +107 -107
  256. package/dist/service/UserSessionService.d.ts +38 -38
  257. package/dist/service/UserSessionService.js +157 -157
  258. package/dist/service/VisitStatService.d.ts +14 -14
  259. package/dist/service/VisitStatService.js +158 -158
  260. package/dist/service/WorkbenchService.d.ts +53 -53
  261. package/dist/service/WorkbenchService.js +211 -211
  262. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  263. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  264. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  265. package/dist/service/anyapi/AnyApiService.js +181 -181
  266. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
  267. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
  268. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  269. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  270. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
  271. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
  272. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
  273. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
  274. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
  275. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
  276. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
  277. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
  278. package/dist/service/base/ApiBaseService.d.ts +15 -15
  279. package/dist/service/base/ApiBaseService.js +50 -50
  280. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  281. package/dist/service/base/ApiRateLimiter.js +51 -51
  282. package/dist/service/base/BaseService.d.ts +41 -41
  283. package/dist/service/base/BaseService.js +101 -101
  284. package/dist/service/base/RedisCacheService.d.ts +20 -20
  285. package/dist/service/base/RedisCacheService.js +57 -57
  286. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  287. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  288. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  289. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  290. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  291. package/dist/service/crudstd/CrudStdRelationService.js +112 -112
  292. package/dist/service/crudstd/CrudStdService.d.ts +68 -66
  293. package/dist/service/crudstd/CrudStdService.js +347 -299
  294. package/dist/service/curd/CrudProQuick.d.ts +44 -44
  295. package/dist/service/curd/CrudProQuick.js +147 -147
  296. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  297. package/dist/service/curd/CurdMixByAccountService.js +92 -92
  298. package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
  299. package/dist/service/curd/CurdMixByDictService.js +114 -114
  300. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -31
  301. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -203
  302. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
  303. package/dist/service/curd/CurdMixBySysConfigService.js +80 -80
  304. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
  305. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -78
  306. package/dist/service/curd/CurdMixService.d.ts +28 -28
  307. package/dist/service/curd/CurdMixService.js +100 -100
  308. package/dist/service/curd/CurdMixUtils.d.ts +51 -51
  309. package/dist/service/curd/CurdMixUtils.js +277 -277
  310. package/dist/service/curd/CurdProService.d.ts +32 -32
  311. package/dist/service/curd/CurdProService.js +212 -212
  312. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  313. package/dist/service/curd/fixCfgModel.js +104 -104
  314. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  315. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  316. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
  317. package/dist/service/proxyapi/ProxyApiService.js +294 -294
  318. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  319. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  320. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  321. package/dist/service/proxyapi/RouteHandler.js +9 -9
  322. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  323. package/dist/service/proxyapi/RouteTrie.js +63 -63
  324. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  325. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  326. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  327. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  328. package/index.d.ts +10 -10
  329. package/package.json +87 -79
  330. package/src/config/config.default.ts +179 -0
  331. package/src/config/seed/aeskey.txt +1 -0
  332. package/src/config/utils.ts +22 -0
  333. package/src/configuration.ts +109 -0
  334. package/src/controller/base/BaseApiController.ts +170 -0
  335. package/src/controller/gateway/AnyApiGatewayController.ts +1 -0
  336. package/src/controller/gateway/AsyncTaskController.ts +157 -0
  337. package/src/controller/gateway/CrudMtdGatewayController.ts +116 -0
  338. package/src/controller/gateway/CrudStdGatewayController.ts +87 -0
  339. package/src/controller/gateway/DocGatewayController.ts +173 -0
  340. package/src/controller/gateway/FileController.ts +109 -0
  341. package/src/controller/gateway/ProxyApiGatewayController.ts +47 -0
  342. package/src/controller/gateway/PublicApiController.ts +140 -0
  343. package/src/controller/gateway/StaticController.ts +296 -0
  344. package/src/controller/helpers.controller.ts +161 -0
  345. package/src/controller/home.controller.ts +66 -0
  346. package/src/controller/manage/AnyApiMangeApi.ts +66 -0
  347. package/src/controller/manage/AppLogMangeApi.ts +53 -0
  348. package/src/controller/manage/AppMangeApi.ts +53 -0
  349. package/src/controller/manage/AppPageMangeApi.ts +52 -0
  350. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -0
  351. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -0
  352. package/src/controller/manage/CrudStandardDesignApi.ts +406 -0
  353. package/src/controller/manage/DataDictManageApi.ts +78 -0
  354. package/src/controller/manage/DeployManageApi.ts +175 -0
  355. package/src/controller/manage/DocLibManageApi.ts +69 -0
  356. package/src/controller/manage/DocManageApi.ts +99 -0
  357. package/src/controller/manage/FileManageApi.ts +45 -0
  358. package/src/controller/manage/LowCodeTplManageApi.ts +52 -0
  359. package/src/controller/manage/MenuManageApi.ts +58 -0
  360. package/src/controller/manage/ProxyApiMangeApi.ts +52 -0
  361. package/src/controller/manage/SuperAdminManageApi.ts +139 -0
  362. package/src/controller/manage/SysConfigMangeApi.ts +95 -0
  363. package/src/controller/manage/SystemInfoManageApi.ts +53 -0
  364. package/src/controller/manage/UserAccountManageApi.ts +94 -0
  365. package/src/controller/manage/WorkbenchMangeApi.ts +72 -0
  366. package/src/controller/myinfo/AuthController.ts +108 -0
  367. package/src/controller/myinfo/MyInfoController.ts +32 -0
  368. package/src/controller/render/AppRenderController.ts +81 -0
  369. package/src/controller/test.controller.ts +37 -0
  370. package/src/filter/default.filter.ts +13 -0
  371. package/src/filter/notfound.filter.ts +10 -0
  372. package/src/index.ts +107 -0
  373. package/src/interface.ts +31 -0
  374. package/src/libs/crud-pro/CrudPro.ts +165 -0
  375. package/src/libs/crud-pro/defaultConfigs.ts +15 -0
  376. package/src/libs/crud-pro/exceptions.ts +124 -0
  377. package/src/libs/crud-pro/interfaces.ts +190 -0
  378. package/src/libs/crud-pro/models/ExecuteContext.ts +120 -0
  379. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +96 -0
  380. package/src/libs/crud-pro/models/FuncContext.ts +21 -0
  381. package/src/libs/crud-pro/models/RequestCfgModel.ts +141 -0
  382. package/src/libs/crud-pro/models/RequestModel.ts +141 -0
  383. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  384. package/src/libs/crud-pro/models/ServiceHub.ts +32 -0
  385. package/src/libs/crud-pro/models/SqlCfgModel.ts +52 -0
  386. package/src/libs/crud-pro/models/SqlSegArg.ts +13 -0
  387. package/src/libs/crud-pro/models/Transaction.ts +83 -0
  388. package/src/libs/crud-pro/models/TransactionMySQL.ts +79 -0
  389. package/src/libs/crud-pro/models/TransactionPostgres.ts +91 -0
  390. package/src/libs/crud-pro/models/TransactionSqlServer.ts +102 -0
  391. package/src/libs/crud-pro/models/keys.ts +159 -0
  392. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +83 -0
  393. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +128 -0
  394. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +262 -0
  395. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +60 -0
  396. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +180 -0
  397. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +354 -0
  398. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +185 -0
  399. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +393 -0
  400. package/src/libs/crud-pro/services/CrudProServiceBase.ts +107 -0
  401. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -0
  402. package/src/libs/crud-pro/services/CurdProServiceHub.ts +92 -0
  403. package/src/libs/crud-pro/sql.txt +120 -0
  404. package/src/libs/crud-pro/utils/CompareUtils.ts +23 -0
  405. package/src/libs/crud-pro/utils/DatabaseName.ts +60 -0
  406. package/src/libs/crud-pro/utils/DateTimeUtils.ts +20 -0
  407. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +64 -0
  408. package/src/libs/crud-pro/utils/MessageParseUtils.ts +33 -0
  409. package/src/libs/crud-pro/utils/MixinUtils.ts +285 -0
  410. package/src/libs/crud-pro/utils/ModelUtils.ts +55 -0
  411. package/src/libs/crud-pro/utils/MultiKeyMap.ts +72 -0
  412. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +29 -0
  413. package/src/libs/crud-pro/utils/TypeUtils.ts +188 -0
  414. package/src/libs/crud-pro/utils/ValidateUtils.ts +165 -0
  415. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +20 -0
  416. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +22 -0
  417. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +22 -0
  418. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +26 -0
  419. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +26 -0
  420. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +11 -0
  421. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +11 -0
  422. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +129 -0
  423. package/src/libs/global-config/global-config.ts +109 -0
  424. package/src/libs/utils/base64.ts +47 -0
  425. package/src/libs/utils/common-dto.ts +52 -0
  426. package/src/libs/utils/crypto-utils.ts +50 -0
  427. package/src/libs/utils/errorToString.ts +61 -0
  428. package/src/libs/utils/fatcms-request.ts +103 -0
  429. package/src/libs/utils/functions.ts +78 -0
  430. package/src/libs/utils/ordernum-utils.ts +14 -0
  431. package/src/libs/utils/parseConfig.ts +54 -0
  432. package/src/libs/utils/parseCreateSql.ts +91 -0
  433. package/src/libs/utils/render-utils.ts +184 -0
  434. package/src/middleware/forbidden.middleware.ts +52 -0
  435. package/src/middleware/global.middleware.ts +293 -0
  436. package/src/middleware/permission.middleware.ts +80 -0
  437. package/src/middleware/rediscache.middleware.ts +91 -0
  438. package/src/middleware/redislock.middleware.ts +83 -0
  439. package/src/middleware/tx.middleware.ts +30 -0
  440. package/src/models/AsyncTaskModel.ts +85 -0
  441. package/src/models/RedisKeys.ts +16 -0
  442. package/src/models/SystemEntities.ts +125 -0
  443. package/src/models/SystemPerm.ts +105 -0
  444. package/src/models/SystemTables.ts +27 -0
  445. package/src/models/bizmodels.ts +123 -0
  446. package/src/models/contextLogger.ts +132 -0
  447. package/src/models/devops.ts +17 -0
  448. package/src/models/userSession.ts +217 -0
  449. package/src/schedule/anonymousContext.ts +73 -0
  450. package/src/schedule/index.ts +12 -0
  451. package/src/schedule/runSchedule.ts +82 -0
  452. package/src/schedule/scheduleNames.ts +21 -0
  453. package/src/service/AuthService.ts +284 -0
  454. package/src/service/EnumInfoService.ts +130 -0
  455. package/src/service/FileCenterService.ts +395 -0
  456. package/src/service/SysConfigService.ts +37 -0
  457. package/src/service/UserAccountService.ts +107 -0
  458. package/src/service/UserSessionService.ts +161 -0
  459. package/src/service/VisitStatService.ts +166 -0
  460. package/src/service/WorkbenchService.ts +220 -0
  461. package/src/service/anyapi/AnyApiSandboxService.ts +121 -0
  462. package/src/service/anyapi/AnyApiService.ts +186 -0
  463. package/src/service/asyncTask/AsyncTaskRunnerService.ts +325 -0
  464. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  465. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  466. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
  467. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +159 -0
  468. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +159 -0
  469. package/src/service/base/ApiBaseService.ts +42 -0
  470. package/src/service/base/ApiRateLimiter.ts +59 -0
  471. package/src/service/base/BaseService.ts +100 -0
  472. package/src/service/base/RedisCacheService.ts +45 -0
  473. package/src/service/crudstd/CrudStdActionService.ts +27 -0
  474. package/src/service/crudstd/CrudStdConstant.ts +62 -0
  475. package/src/service/crudstd/CrudStdRelationService.ts +118 -0
  476. package/src/service/crudstd/CrudStdService.ts +420 -0
  477. package/src/service/curd/CrudProQuick.ts +172 -0
  478. package/src/service/curd/CurdMixByAccountService.ts +89 -0
  479. package/src/service/curd/CurdMixByDictService.ts +114 -0
  480. package/src/service/curd/CurdMixByLinkToCustomService.ts +219 -0
  481. package/src/service/curd/CurdMixBySysConfigService.ts +78 -0
  482. package/src/service/curd/CurdMixByWorkbenchService.ts +71 -0
  483. package/src/service/curd/CurdMixService.ts +97 -0
  484. package/src/service/curd/CurdMixUtils.ts +316 -0
  485. package/src/service/curd/CurdProService.ts +231 -0
  486. package/src/service/curd/fixCfgModel.ts +120 -0
  487. package/src/service/proxyapi/ProxyApiLoadService.ts +174 -0
  488. package/src/service/proxyapi/ProxyApiService.ts +298 -0
  489. package/src/service/proxyapi/ProxyApiUtils.ts +32 -0
  490. package/src/service/proxyapi/RouteHandler.ts +8 -0
  491. package/src/service/proxyapi/RouteTrie.ts +74 -0
  492. package/src/service/proxyapi/WeightedRandom.ts +37 -0
  493. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -0
  494. package/src/views/404_app.html +31 -0
  495. package/src/views/404_workbench.html +34 -0
  496. package/src/views/static/favicon.ico +0 -0
  497. package/tsconfig.json +32 -32
@@ -0,0 +1,91 @@
1
+ import { NextFunction, Context } from '@midwayjs/koa';
2
+ import { RedisService } from '@midwayjs/redis';
3
+ import * as _ from 'lodash';
4
+ import * as md5 from 'md5';
5
+ import { RedisKeys } from '@/models/RedisKeys';
6
+ import { CommonException } from '@/libs/crud-pro/exceptions';
7
+
8
+ const getRedisService = async (ctx: Context): Promise<RedisService> => {
9
+ const service = await ctx.requestContext.getAsync(RedisService);
10
+ if (!service) {
11
+ return await ctx.requestContext.getAsync('redisService');
12
+ }
13
+ };
14
+
15
+ const createError = () => {
16
+ return new CommonException('redis_cache_middleware_error_config', 'redisCache中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
+ };
18
+
19
+ const checkCacheKeyConfigList = (cacheKeyConfigList: string[]) => {
20
+ if (!Array.isArray(cacheKeyConfigList)) {
21
+ throw createError();
22
+ }
23
+
24
+ for (let i = 0; i < cacheKeyConfigList.length; i++) {
25
+ const cacheKeyConfig = cacheKeyConfigList[i];
26
+ if (typeof cacheKeyConfig !== 'string') {
27
+ throw createError();
28
+ }
29
+ if (!cacheKeyConfig.startsWith('query.') && !cacheKeyConfig.startsWith('body.')) {
30
+ throw createError();
31
+ }
32
+ }
33
+ };
34
+
35
+ // {middleware:[redisCache(['query.id', 'body.id'])]}
36
+ const toCacheKey = (ctx: Context, cacheKeyConfigList: string[]): string => {
37
+ checkCacheKeyConfigList(cacheKeyConfigList);
38
+
39
+ const path = ctx.path;
40
+ const query = ctx.query || {};
41
+ const body = ctx.request.body || {};
42
+ const newCtx = { path, query, body };
43
+
44
+ // 至少要根据path缓存
45
+ const cacheKeyConfigList2 = ['path', ...cacheKeyConfigList];
46
+
47
+ const strArray = cacheKeyConfigList2.map((key: string) => {
48
+ const value = _.get(newCtx, key);
49
+ return { key, value };
50
+ });
51
+ const strArrayStr = JSON.stringify(strArray);
52
+ const strMd5 = md5(strArrayStr);
53
+ return RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
54
+ };
55
+
56
+ function toCacheDataString(resData: any): string {
57
+ throw new Error('Function not implemented.');
58
+ }
59
+
60
+ function parseCacheData(cacheData: string): any {
61
+ throw new Error('Function not implemented.');
62
+ }
63
+
64
+ function redisCache(cacheKeyConfigList: string[], cacheTimeSecond: number) {
65
+ return async (ctx: Context, next: NextFunction) => {
66
+ const redisService = await getRedisService(ctx);
67
+
68
+ const cacheKey = toCacheKey(ctx, cacheKeyConfigList);
69
+
70
+ let cacheTime = typeof cacheTimeSecond === 'number' ? cacheTimeSecond : 60; // 默认缓存1分钟
71
+ cacheTime = Math.max(cacheTimeSecond, 1); // 至少缓存1秒。
72
+ cacheTime = Math.min(cacheTimeSecond, 60 * 60); // 最长缓存1小时
73
+
74
+ const cacheData = await redisService.get(cacheKey);
75
+
76
+ if (cacheData) {
77
+ return parseCacheData(cacheData);
78
+ }
79
+
80
+ try {
81
+ const resData = await next();
82
+ const resDataStr = toCacheDataString(resData);
83
+ await redisService.set(cacheKey, resDataStr, 'EX', cacheTime);
84
+ return resData;
85
+ } catch (e) {
86
+ console.error('redisCache', e);
87
+ }
88
+ };
89
+ }
90
+
91
+ export { redisCache };
@@ -0,0 +1,83 @@
1
+ import { NextFunction, Context } from '@midwayjs/koa';
2
+ import { RedisService } from '@midwayjs/redis';
3
+ import * as _ from 'lodash';
4
+ import * as md5 from 'md5';
5
+ import { RedisKeys } from '@/models/RedisKeys';
6
+ import { CommonException } from '@/libs/crud-pro/exceptions';
7
+
8
+ const getRedisService = async (ctx: Context): Promise<RedisService> => {
9
+ const service = await ctx.requestContext.getAsync(RedisService);
10
+ if (!service) {
11
+ return await ctx.requestContext.getAsync('redisService');
12
+ }
13
+ };
14
+
15
+ const createError = () => {
16
+ return new CommonException('redis_lock_middleware_error_config', 'redisLock中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
+ };
18
+
19
+ const checkLockKeyConfigList = (lockKeyConfigList: string[]) => {
20
+ if (!Array.isArray(lockKeyConfigList)) {
21
+ throw createError();
22
+ }
23
+
24
+ for (let i = 0; i < lockKeyConfigList.length; i++) {
25
+ const lockKeyConfig = lockKeyConfigList[i];
26
+ if (typeof lockKeyConfig !== 'string') {
27
+ throw createError();
28
+ }
29
+ if (!lockKeyConfig.startsWith('query.') && !lockKeyConfig.startsWith('body.')) {
30
+ throw createError();
31
+ }
32
+ }
33
+ };
34
+
35
+ // {middleware:[redisLock(['query.id', 'body.id'])]}
36
+ const toLockKey = (ctx: Context, lockKeyConfigList: string[]): string => {
37
+ checkLockKeyConfigList(lockKeyConfigList);
38
+
39
+ const path = ctx.path;
40
+ const query = ctx.query || {};
41
+ const body = ctx.request.body || {};
42
+ const newCtx = { path, query, body };
43
+
44
+ // 至少要根据path锁
45
+ const lockKeyConfigList2 = ['path', ...lockKeyConfigList];
46
+
47
+ const strArray = lockKeyConfigList2.map((key: string) => {
48
+ const value = _.get(newCtx, key);
49
+ return { key, value };
50
+ });
51
+ const strArrayStr = JSON.stringify(strArray);
52
+ const strMd5 = md5(strArrayStr);
53
+ return RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
54
+ };
55
+
56
+ function redisLock(lockKeyConfigList: string[], lockTimeSecond: number) {
57
+ return async (ctx: Context, next: NextFunction) => {
58
+ const redisService = await getRedisService(ctx);
59
+
60
+ const lockKey = toLockKey(ctx, lockKeyConfigList);
61
+
62
+ let lockTime = typeof lockTimeSecond === 'number' ? lockTimeSecond : 60; // 默认锁住1分钟(失败的情况)
63
+ lockTime = Math.max(lockTimeSecond, 1); // 至少锁一秒 (失败的情况)
64
+ lockTime = Math.min(lockTimeSecond, 5 * 60); // 最长锁 5分钟(失败的情况)
65
+
66
+ const lock = await redisService.set(lockKey, 1, 'EX', lockTime, 'NX');
67
+ if (lock !== 'OK') {
68
+ return {
69
+ success: false,
70
+ message: '您请求的接口当前正在处理中,请稍后再试',
71
+ code: 'redis_lock_middleware_error_locked',
72
+ };
73
+ }
74
+
75
+ try {
76
+ await next();
77
+ } finally {
78
+ await redisService.del(lockKey); // 正常运行完成,立即释放锁。
79
+ }
80
+ };
81
+ }
82
+
83
+ export { redisLock };
@@ -0,0 +1,30 @@
1
+ import { Middleware, IMiddleware } from '@midwayjs/core';
2
+ import { NextFunction, Context } from '@midwayjs/koa';
3
+
4
+ /**
5
+ * 事务中间件
6
+ */
7
+ @Middleware()
8
+ export class TxMiddleware implements IMiddleware<Context, NextFunction> {
9
+ resolve() {
10
+ return async (ctx: Context, next: NextFunction) => {
11
+ const transaction = ctx.transaction;
12
+
13
+ try {
14
+ await transaction.beginTx();
15
+ const res = await next();
16
+ await transaction.commitTx();
17
+ return res;
18
+ } catch (e) {
19
+ ctx.contextLogger.error('ReportMiddleware', e);
20
+ await transaction.rollbackTx();
21
+ } finally {
22
+ await transaction.releaseTx();
23
+ }
24
+ };
25
+ }
26
+
27
+ static getName(): string {
28
+ return 'TxMiddleware';
29
+ }
30
+ }
@@ -0,0 +1,85 @@
1
+ export interface SysAsyncTaskEntity {
2
+ id: number;
3
+ task_uuid: string;
4
+ task_name: string;
5
+ task_description: string | null;
6
+ task_type: string;
7
+ task_status: SysAsyncTaskStatus;
8
+ input_params: any;
9
+ output_result: any | null;
10
+
11
+ input_file_path: string | null;
12
+ input_file_format: SysAsyncFileFormat | null;
13
+ input_file_size: number | null;
14
+
15
+ output_file_path: string | null;
16
+ output_file_format: SysAsyncFileFormat | null;
17
+ output_file_size: number | null;
18
+
19
+ input_total_records: number | null;
20
+ output_total_records: number | null;
21
+ processed_records: number;
22
+ progress: number;
23
+ error_message: string | null;
24
+ error_records: any | null;
25
+ created_by: string | null;
26
+ priority: number;
27
+ retry_count: number;
28
+ max_retries: number;
29
+
30
+ parent_task_id: number | null;
31
+ created_at: Date | string | null;
32
+ started_at: Date | string | null;
33
+ updated_at: Date | string | null;
34
+ expired_at: Date | string | null;
35
+ completed_at: Date | string | null;
36
+ created_user_session: string;
37
+ }
38
+
39
+ export type SysAsyncTaskPartial = Partial<SysAsyncTaskEntity>;
40
+
41
+ export enum SysAsyncTaskStatus {
42
+ PENDING = 'PENDING', // 等待中,还未进入排队
43
+ RUNNING = 'RUNNING', // 运行中
44
+ SUCCEEDED = 'SUCCEEDED', // 终止状态:全部成功
45
+ PART_SUCCEEDED = 'PART_SUCCEEDED', // 终止状态:部分成功
46
+ FAILED = 'FAILED', // 终止状态:失败
47
+ CANCELLED = 'CANCELLED', // 取消
48
+ PAUSED = 'PAUSED', // 暂停
49
+ }
50
+
51
+ /**
52
+ * 导出的文件名后缀
53
+ */
54
+ export enum SysAsyncFileFormat {
55
+ XLSX = 'xlsx',
56
+ CSV = 'csv',
57
+ JSON = 'json',
58
+ PDF = 'pdf',
59
+ TXT = 'txt',
60
+ XML = 'xml',
61
+ ZIP = 'zip',
62
+ HTML = 'html',
63
+ PNG = 'png',
64
+ JPG = 'jpg',
65
+ }
66
+
67
+ export interface ISysAsyncTaskHandler {
68
+ execute(asyncTaskContext: SysAsyncTaskContext): Promise<void>;
69
+ }
70
+
71
+ export interface SysAsyncTaskContext {
72
+ task: SysAsyncTaskEntity;
73
+ updateTaskStatus: (sysAsyncTaskPartial: SysAsyncTaskPartial) => any;
74
+ }
75
+
76
+ export interface SysAsyncTaskHandlerConfig {
77
+ taskType: string;
78
+ handler: ISysAsyncTaskHandler;
79
+ maxRetries?: number;
80
+ priority?: number;
81
+ expireSeconds?: number;
82
+ }
83
+
84
+ export const HEADER_KEY_RUN_BY_ASYNC_TASK_ID = 'run-by-async-task-id';
85
+ export const HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = 'run-by-async-task-workbenchcode';
@@ -0,0 +1,16 @@
1
+ const RedisKeys = {
2
+ ASYNC_TASK_LOCK: 'FatAsyncTaskLock',
3
+ ASYNC_TASK_TIMEOUT_LOCK: 'FatAsyncTaskTimeoutLock',
4
+ ASYNC_TASK_UPDATE_TIME: 'FatAsyncTaskUpdateTime',
5
+ USER_SESSION_PREFIX: 'FatUserSession_',
6
+ USER_SESSION_ASYNC_TASK_ID_PREFIX: 'FatUserSessionAsyncTaskId_',
7
+ USER_ACTION_TIME_LIMIT_PREFIX: 'FatUserActionTimeLimit_',
8
+ VISIT_STAT_LOCK_PREFIX: 'FatVsLock_',
9
+ VISIT_STAT_DATE_PREFIX: 'FatVsDate_',
10
+ LINK_TO_CUSTOM_PREFIX: 'FatLinkToCustom@@',
11
+ CURD_MIX_BY_DICT_PREFIX: 'FatCurdMixByDict@@',
12
+ QUERY_ENUM_INFO_PREFIX: 'FatQueryEnum@@',
13
+ REDIS_LOCK_MIDDILEWARE: 'FatRedisLock@@',
14
+ };
15
+
16
+ export { RedisKeys };
@@ -0,0 +1,125 @@
1
+ export interface IApiBaseEntity {
2
+ id: number;
3
+
4
+ // 权限控制
5
+ auth_type: string;
6
+ auth_config: string;
7
+
8
+ //服务降级
9
+ fallback_enable: number;
10
+ fallback_message: string;
11
+
12
+ //限流令牌桶
13
+ limit_enabled: number;
14
+ limit_max: number;
15
+ limit_rate: number;
16
+
17
+ // 接口缓存 TODO
18
+ cache_enable: number;
19
+ cache_keys: string;
20
+ cache_keepms: number;
21
+ }
22
+
23
+ export interface IReqParamsConfigs {
24
+ name: string;
25
+ fromType: string; // queries, body, headers
26
+ fromKey: string; //
27
+ valueType?: string; // boolean, string, number, array, JSONObject
28
+ defaultValue?: string; // 默认
29
+ desc?: string; // 描述
30
+
31
+ validate_cfg_list?: string[]; // 校验配置 下面所有的合并起来的
32
+ validate_required?: boolean; // 校验配置
33
+ validate_type?: string; // 校验配置
34
+ validate_length?: string; // 校验配置
35
+ validate_scale?: string; // 校验配置
36
+ validate_regexp?: string; // 校验配置
37
+ validate_enum?: string; // 校验配置
38
+ }
39
+
40
+ export interface ISysAnyApiEntityParsedOthers {
41
+ req_params: IReqParamsConfigs[]; // 请求参数配置
42
+ }
43
+ export interface ISysAnyApiEntity extends IApiBaseEntity {
44
+ method: string;
45
+ method_name: string;
46
+ method_desc: string;
47
+ method_group: string;
48
+ method_cate: string;
49
+ timeout_ms: number;
50
+ distribute_lock: number;
51
+ res_type?: string;
52
+ req_method: string;
53
+ req_params: number; // 参数个数
54
+ filter?: string;
55
+ enable_log: number;
56
+ func_code?: string;
57
+ func_code_md5?: string;
58
+ others?: string;
59
+ parsedOthers?: ISysAnyApiEntityParsedOthers; // 由others解析而来
60
+ created_by?: string;
61
+ created_at: Date;
62
+ modified_at: Date;
63
+ modified_by?: string;
64
+ status: number;
65
+ workbench_code_array: string;
66
+ }
67
+
68
+ export interface IUpstreamItem {
69
+ origin: string;
70
+ weight: number;
71
+ }
72
+
73
+ export interface IUpstreamInfo {
74
+ targetList: IUpstreamItem[];
75
+ balanceStrategy: string;
76
+ }
77
+
78
+
79
+ export enum ProxyUserContextEnum {
80
+ NO_PASS = 0 ,
81
+ BASIC_INFO = 1,
82
+ SESSION_INFO = 2,
83
+ }
84
+
85
+
86
+ export interface IProxyApiEntity extends IApiBaseEntity {
87
+ proxy_name: string; // 配置编码。2025-09-09 新增
88
+ proxy_code: string; // 配置编码。2025-09-09 新增
89
+ path_prefix: string; // DONE
90
+ upstream_code: string; // DONE
91
+ timeout_ms: number; // DONE
92
+ status: number; // DONE
93
+ workbench_code_array: string; // DONE
94
+
95
+ user_context: ProxyUserContextEnum; // 转发 user session对象。(0 不传递,1 传递基本信息 2 传递整个Session)
96
+ pass_real_ip: number; // DONE
97
+ change_origin: string; // DONE
98
+ change_host: string; // DONE
99
+
100
+ balanceStrategy: string; // 负载均衡策略
101
+ targetList: IUpstreamItem[]; // 运行时根据upstream_code计算的
102
+ targetIndex: number; // 运行时根据upstream_code计算的
103
+ weightedRandom: any; // 负载均衡算法:WeightedRandom
104
+ weightedRoundRobin: any; // 负载均衡算法:WeightedRoundRobin
105
+ }
106
+
107
+ export interface IWorkbenchEntity {
108
+ id: number;
109
+ workbench_code: string;
110
+ workbench_name: string;
111
+ workbench_domain?: string;
112
+ workbench_domain2?: string;
113
+ workbench_domain3?: string;
114
+ workbench_desc?: string;
115
+ html_content: string;
116
+ created_by?: string;
117
+ modified_by?: string;
118
+ created_at?: number;
119
+ modified_at?: number;
120
+ status: number;
121
+ config_type?: string;
122
+ config_content?: string;
123
+ workbench_type: number;
124
+ package_assets?: string;
125
+ }
@@ -0,0 +1,105 @@
1
+
2
+ /**
3
+ * 系统内置功能点
4
+ */
5
+ export enum SystemFuncCode {
6
+ FileMangeRead = 'FileMangeRead',
7
+ FileMangeWrite = 'FileMangeWrite',
8
+ DocMangeRead = 'DocMangeRead',
9
+ DocMangeWrite = 'DocMangeWrite',
10
+ DataDictMangeRead = 'DataDictMangeRead',
11
+ DataDictMangeWrite = 'DataDictMangeWrite',
12
+ AppMangeRead = 'AppMangeRead',
13
+ AppMangeWrite = 'AppMangeWrite',
14
+
15
+ AppPageMangeRead = 'AppPageMangeRead',
16
+ AppPageMangeWrite = 'AppPageMangeWrite',
17
+ SysConfigMangeRead = 'SysConfigMangeRead',
18
+ SysConfigMangeWrite = 'SysConfigMangeWrite',
19
+ CrudStandardDesignRead = 'CrudStandardDesignRead',
20
+ CrudStandardDesignWrite = 'CrudStandardDesignWrite',
21
+ AnyApiManageRead = 'AnyApiManageRead',
22
+ AnyApiManageWrite = 'AnyApiManageWrite',
23
+ CrudMethodApiRead = 'CrudMethodApiRead',
24
+ CrudMethodApiWrite = 'CrudMethodApiWrite',
25
+ WorkbenchMangeRead = 'WorkbenchMangeRead',
26
+ WorkbenchMangeWrite = 'WorkbenchMangeWrite',
27
+ ProxyApiManageRead = 'ProxyApiManageRead',
28
+ ProxyApiManageWrite = 'ProxyApiManageWrite',
29
+ SystemInfoManageApiRead = 'SystemInfoManageApiRead',
30
+ SystemInfoManageApiWrite = 'SystemInfoManageApiWrite',
31
+
32
+ UserAccountMangeRead = 'UserAccountMangeRead', // account
33
+ UserAccountMangeWrite = 'UserAccountMangeWrite',
34
+ RoleManageRead = 'RoleManageRead', // role
35
+ RoleManageWrite = 'RoleManageWrite',
36
+ FuncManageRead = 'FuncManageRead', // func
37
+ FuncManageWrite = 'FuncManageWrite',
38
+ RoleFuncManageRead = 'RoleFuncManageRead', //role-func
39
+ RoleFuncManageWrite = 'RoleFuncManageWrite',
40
+ AccountRoleManageRead = 'AccountRoleManageRead', // account-role
41
+ AccountRoleManageWrite = 'AccountRoleManageWrite',
42
+
43
+ MenuMangeRead = 'MenuMangeRead',
44
+ MenuMangeWrite = 'MenuMangeWrite',
45
+ }
46
+
47
+ export const SystemFuncCodeNameMap = {
48
+ FileMangeRead: '【devops】文件管理_查看',
49
+ DocMangeRead: '【devops】文章管理_查看',
50
+ DataDictMangeRead: '【devops】数据字典_查看',
51
+ UserAccountMangeRead: '【devops】用户账号管理_查看',
52
+ AppMangeRead: '【devops】应用管理_查看',
53
+ AppPageMangeRead: '【devops】页面路由管理_查看',
54
+ SysConfigMangeRead: '【devops】系统配置_查看',
55
+ CrudStandardDesignRead: '【devops】CRUD简单页面搭建_查看',
56
+ AnyApiManageRead: '【devops】FaaS接口搭建管理_查看',
57
+ CrudMethodApiRead: '【devops】CRUD简单接口搭建_查看',
58
+ ProxyApiManageRead: '【devops】接口网关配置_查看',
59
+ WorkbenchMangeRead: '【devops】工作台配置_查看',
60
+ SystemInfoManageApiRead: '【devops】系统信息查看_查看',
61
+
62
+ FileMangeWrite: '【devops】文件管理_编辑',
63
+ DocMangeWrite: '【devops】文章管理_编辑',
64
+ DataDictMangeWrite: '【devops】数据字典_编辑',
65
+ UserAccountMangeWrite: '【devops】用户账号管理_编辑',
66
+ AppMangeWrite: '【devops】应用管理_编辑',
67
+ AppPageMangeWrite: '【devops】页面路由管理_编辑',
68
+ SysConfigMangeWrite: '【devops】系统配置_编辑',
69
+ CrudStandardDesignWrite: '【devops】CRUD简单页面搭建_编辑',
70
+ AnyApiManageWrite: '【devops】FaaS接口搭建管理_编辑',
71
+ CrudMethodApiWrite: '【devops】CRUD简单接口搭建_编辑',
72
+ ProxyApiManageWrite: '【devops】接口网关配置_编辑',
73
+ WorkbenchMangeWrite: '【devops】工作台配置_编辑',
74
+ SystemInfoManageApiWrite: '【devops】系统信息_编辑',
75
+
76
+ RoleManageRead : '【devops】角色管理_查看', // role
77
+ RoleManageWrite : '【devops】角色管理_编辑',
78
+ FuncManageRead : '【devops】功能点管理_查看', // func
79
+ FuncManageWrite : '【devops】功能点管理_编辑',
80
+ RoleFuncManageRead : '【devops】角色功能点关联_查看', //role-func
81
+ RoleFuncManageWrite : '【devops】角色功能点关联_编辑',
82
+ AccountRoleManageRead : '【devops】账户角色关联_查看', // account-role
83
+ AccountRoleManageWrite : '【devops】账户角色关联_编辑',
84
+
85
+ MenuMangeRead : '【devops】菜单管理_查看',
86
+ MenuMangeWrite : '【devops】菜单管理_查看',
87
+ };
88
+
89
+ /**
90
+ * 系统内置角色
91
+ */
92
+ export enum SystemRoleCode {
93
+ SuperAdmin = 'SuperAdmin', // 超级管理员,拥有一切权限。
94
+ DevOpsWriter = 'DevOpsWriter', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
95
+ DevOpsViewer = 'DevOpsViewer', // 开发&产品&测试。只有查看权限,给房客用来查看的。
96
+ }
97
+
98
+ /**
99
+ * 系统内置角色
100
+ */
101
+ export const SystemRoleCodeNameMap = {
102
+ SuperAdmin: '超级管理员', // 超级管理员,拥有一切权限。
103
+ DevOpsWriter: '产技高级角色', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
104
+ DevOpsViewer: '产技只读角色', // 开发&产品&测试。只有查看权限,给房客用来查看的。
105
+ };
@@ -0,0 +1,27 @@
1
+ export const SystemTables = {
2
+ sys_workbench: 'sys_workbench',
3
+ sys_user_account: 'sys_user_account',
4
+ sys_perm_user_role: 'sys_perm_user_role',
5
+ sys_perm_role_func: 'sys_perm_role_func',
6
+ sys_perm_role: 'sys_perm_role',
7
+ sys_perm_func: 'sys_perm_func',
8
+ sys_file: 'sys_file',
9
+ sys_doc: 'sys_doc',
10
+ sys_doc_lib: 'sys_doc_lib',
11
+ sys_menus: 'sys_menus',
12
+ sys_data_dict_item: 'sys_data_dict_item',
13
+ sys_data_dict: 'sys_data_dict',
14
+ sys_crud_methods: 'sys_crud_methods',
15
+ sys_configs: 'sys_configs',
16
+ sys_app_page: 'sys_app_page',
17
+ sys_app_log: 'sys_app_log',
18
+ sys_app: 'sys_app',
19
+ sys_nav: 'sys_nav',
20
+ sys_anyapi: 'sys_anyapi',
21
+ sys_proxyapi: 'sys_proxyapi',
22
+ sys_visit_stats: 'sys_visit_stats',
23
+ sys_async_tasks: 'sys_async_tasks',
24
+ };
25
+
26
+
27
+ export const SystemDevOpsWorkbench = 'devops';
@@ -0,0 +1,123 @@
1
+ import { IRequestCfgModel, IVisitor } from '../libs/crud-pro/interfaces';
2
+
3
+ /**
4
+ * 实体表公共字段
5
+ */
6
+ export interface IEntityCommonInfo {
7
+ id?: number;
8
+ created_by?: string;
9
+ modified_by?: string;
10
+ created_at?: string;
11
+ modified_at?: string;
12
+ status?: number;
13
+ }
14
+
15
+ export interface ITableBaseInfo {
16
+ databaseName: string;
17
+ tableName: string;
18
+ }
19
+
20
+ export interface IStdCrudCfgObj {
21
+ tableBaseInfo: ITableBaseInfo;
22
+ authSetting: any;
23
+ actionColumns?: any[];
24
+ queryFormFields?: any[];
25
+ tableColumns?: any[];
26
+ tableFields?: any[];
27
+ toolbarList?: any[];
28
+ }
29
+
30
+ export interface ICrudStdAppInfo {
31
+ app_code: string;
32
+ stdCrudCfgObj?: IStdCrudCfgObj;
33
+ actionsMap?: any;
34
+ status: number;
35
+ }
36
+
37
+ export interface ICrudStdAppInfoForSettingKey extends ICrudStdAppInfo {
38
+ settingKeyActionCfg?: any;
39
+ buttonSettingKeyActionCfg?: any;
40
+ authConfig?: string[];
41
+ authType?: string;
42
+ }
43
+
44
+ export enum AccessType {
45
+ owner = 'owner', // 只有上传人自己才有权限能查看
46
+ login = 'login', // 只有登录用户才能查看
47
+ open = 'open', // 所有人都能查看
48
+ }
49
+
50
+ export enum UploadCategoryType {
51
+ file = 'file', // 普通文件
52
+ assets = 'assets', // 前端资源文件
53
+ }
54
+
55
+ export class PermFunc {
56
+ public funcCode: string;
57
+ public funcName: string;
58
+ constructor(funcCode: string, funcName: string) {
59
+ this.funcName = funcName;
60
+ this.funcCode = funcCode;
61
+ }
62
+ }
63
+
64
+ export class PermRole {
65
+ public roleCode: string;
66
+ public roleName: string;
67
+ constructor(roleCode: string, roleName: string) {
68
+ this.roleName = roleName;
69
+ this.roleCode = roleCode;
70
+ }
71
+ }
72
+
73
+ export const CTX_VISITOR_ID = 'visitor.accountId';
74
+ export const CTX_VISITOR_AVATAR = 'visitor.avatar';
75
+ export const CTX_VISITOR_NICKNAME = 'visitor.nickName';
76
+ export const CTX_VISITOR_ACCOUNT_TYPE = 'visitor.accountType';
77
+ export const CTX_WORKBENCH_CODE = 'visitor.workbenchCode';
78
+
79
+ export interface IRequestCfgModel2 extends IRequestCfgModel {
80
+ enableStandardUpdateCfg?: boolean | string[]; // 默认为true
81
+ enableStandardUpdateCfgCondition?: boolean | string[]; // 默认为false
82
+ }
83
+
84
+ export interface IVisitorExt extends IVisitor {
85
+ workbenchCode: string;
86
+ avatar: string;
87
+ accountType: string;
88
+ bizExt?: any;
89
+ }
90
+
91
+ export const FILE_GET_TYPES = ['thumbnail', 'preview', 'download'];
92
+
93
+
94
+ /**
95
+ * fat-design中的TablePro组件的查询参数
96
+ */
97
+ export interface ITableProQueryParams {
98
+ condition: any;
99
+ pageNo: number;
100
+ pageSize: number;
101
+ orderBy: string | any;
102
+ }
103
+
104
+
105
+ export enum StdCrudExportInputParamsAppType {
106
+ STD_CRUD = 'STD_CRUD',
107
+ INNER_HTTP = 'INNER_HTTP',
108
+ }
109
+
110
+ /**
111
+ * fat-design中的TablePro组件的查询参数
112
+ */
113
+ export interface IStdCrudExportInputParams {
114
+ appType: StdCrudExportInputParamsAppType; // 公共
115
+ appCode?: string; // STD_CRUD导出需要。
116
+ innerHttpUrl?: string; // INNER_HTTP导出需要。
117
+ columns?: any[]; // INNER_HTTP导出需要。
118
+ lastQueryParams: ITableProQueryParams; // 公共
119
+ selectedRowKeys: string[] | number []; // 公共
120
+ headers: any; // 公共
121
+ primaryKey: any; // 公共
122
+ pageSize: number; // 公共
123
+ }