midway-fatcms 0.0.1-beta.6 → 0.0.1-beta.60

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 (500) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +8 -1
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +160 -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 -6
  10. package/dist/configuration.js +113 -89
  11. package/dist/controller/base/BaseApiController.d.ts +37 -31
  12. package/dist/controller/base/BaseApiController.js +164 -138
  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 -0
  16. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  17. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  18. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -116
  19. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  20. package/dist/controller/gateway/CrudStdGatewayController.js +129 -137
  21. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  22. package/dist/controller/gateway/DocGatewayController.js +179 -174
  23. package/dist/controller/gateway/FileController.d.ts +26 -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 +162 -167
  29. package/dist/controller/gateway/StaticController.d.ts +23 -24
  30. package/dist/controller/gateway/StaticController.js +286 -285
  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 +72 -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 +46 -38
  48. package/dist/controller/manage/CrudStandardDesignApi.js +395 -354
  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 -176
  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 -149
  67. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  68. package/dist/controller/manage/SysConfigMangeApi.js +126 -124
  69. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  70. package/dist/controller/manage/SystemInfoManageApi.js +72 -66
  71. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  72. package/dist/controller/manage/UserAccountManageApi.js +129 -124
  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 -37
  76. package/dist/controller/myinfo/AuthController.js +136 -189
  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 +92 -85
  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 +103 -93
  88. package/dist/index.js +121 -111
  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 -36
  92. package/dist/libs/crud-pro/CrudPro.js +136 -131
  93. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  94. package/dist/libs/crud-pro/defaultConfigs.js +15 -13
  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 -157
  98. package/dist/libs/crud-pro/interfaces.js +12 -12
  99. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -42
  100. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -31
  102. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -64
  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 -0
  110. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  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 +30 -29
  118. package/dist/libs/crud-pro/models/Transaction.js +74 -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 -10
  128. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -61
  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 -227
  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 -342
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  140. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -174
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  142. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -333
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -28
  144. package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -78
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -8
  146. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -53
  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 -29
  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 -0
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  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 +69 -0
  189. package/dist/libs/global-config/global-config.js +36 -0
  190. package/dist/libs/utils/base64.d.ts +9 -0
  191. package/dist/libs/utils/base64.js +42 -0
  192. package/dist/libs/utils/common-dto.d.ts +18 -18
  193. package/dist/libs/utils/common-dto.js +40 -40
  194. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  195. package/dist/libs/utils/crypto-utils.js +46 -46
  196. package/dist/libs/utils/errorToString.d.ts +2 -0
  197. package/dist/libs/utils/errorToString.js +57 -0
  198. package/dist/libs/utils/fatcms-request.d.ts +30 -30
  199. package/dist/libs/utils/fatcms-request.js +104 -104
  200. package/dist/libs/utils/functions.d.ts +5 -4
  201. package/dist/libs/utils/functions.js +72 -63
  202. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  203. package/dist/libs/utils/ordernum-utils.js +13 -13
  204. package/dist/libs/utils/parseConfig.d.ts +7 -7
  205. package/dist/libs/utils/parseConfig.js +44 -44
  206. package/dist/libs/utils/parseCreateSql.d.ts +10 -5
  207. package/dist/libs/utils/parseCreateSql.js +87 -86
  208. package/dist/libs/utils/render-utils.d.ts +28 -28
  209. package/dist/libs/utils/render-utils.js +133 -135
  210. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  211. package/dist/middleware/forbidden.middleware.js +54 -70
  212. package/dist/middleware/global.middleware.d.ts +10 -10
  213. package/dist/middleware/global.middleware.js +266 -246
  214. package/dist/middleware/permission.middleware.d.ts +18 -18
  215. package/dist/middleware/permission.middleware.js +74 -74
  216. package/dist/middleware/rediscache.middleware.d.ts +3 -0
  217. package/dist/middleware/rediscache.middleware.js +77 -0
  218. package/dist/middleware/redislock.middleware.d.ts +7 -0
  219. package/dist/middleware/redislock.middleware.js +72 -0
  220. package/dist/middleware/tx.middleware.d.ts +9 -9
  221. package/dist/middleware/tx.middleware.js +40 -40
  222. package/dist/models/AsyncTaskModel.d.ts +74 -0
  223. package/dist/models/AsyncTaskModel.js +31 -0
  224. package/dist/models/RedisKeys.d.ts +15 -0
  225. package/dist/models/RedisKeys.js +18 -0
  226. package/dist/models/SystemEntities.d.ts +105 -98
  227. package/dist/models/SystemEntities.js +9 -2
  228. package/dist/models/SystemPerm.d.ts +95 -95
  229. package/dist/models/SystemPerm.js +100 -100
  230. package/dist/models/SystemTables.d.ts +25 -27
  231. package/dist/models/SystemTables.js +28 -30
  232. package/dist/models/bizmodels.d.ts +99 -69
  233. package/dist/models/bizmodels.js +39 -34
  234. package/dist/models/contextLogger.d.ts +25 -25
  235. package/dist/models/contextLogger.js +112 -112
  236. package/dist/models/devops.d.ts +12 -12
  237. package/dist/models/devops.js +19 -19
  238. package/dist/models/userSession.d.ts +62 -61
  239. package/dist/models/userSession.js +165 -165
  240. package/dist/schedule/anonymousContext.d.ts +14 -0
  241. package/dist/schedule/anonymousContext.js +59 -0
  242. package/dist/schedule/index.d.ts +4 -3
  243. package/dist/schedule/index.js +10 -69
  244. package/dist/schedule/runSchedule.d.ts +12 -0
  245. package/dist/schedule/runSchedule.js +68 -0
  246. package/dist/schedule/scheduleNames.d.ts +13 -0
  247. package/dist/schedule/scheduleNames.js +17 -0
  248. package/dist/service/AuthService.d.ts +71 -70
  249. package/dist/service/AuthService.js +259 -248
  250. package/dist/service/EnumInfoService.d.ts +30 -30
  251. package/dist/service/EnumInfoService.js +127 -123
  252. package/dist/service/FileCenterService.d.ts +43 -43
  253. package/dist/service/FileCenterService.js +351 -347
  254. package/dist/service/SysConfigService.d.ts +7 -7
  255. package/dist/service/SysConfigService.js +47 -45
  256. package/dist/service/UserAccountService.d.ts +23 -23
  257. package/dist/service/UserAccountService.js +107 -103
  258. package/dist/service/UserSessionService.d.ts +38 -16
  259. package/dist/service/UserSessionService.js +157 -85
  260. package/dist/service/VisitStatService.d.ts +14 -14
  261. package/dist/service/VisitStatService.js +158 -165
  262. package/dist/service/WorkbenchService.d.ts +53 -20
  263. package/dist/service/WorkbenchService.js +211 -153
  264. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  265. package/dist/service/anyapi/AnyApiSandboxService.js +122 -122
  266. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  267. package/dist/service/anyapi/AnyApiService.js +181 -179
  268. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  269. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  270. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  271. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  272. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  273. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  274. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  275. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  276. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  277. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -0
  278. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  279. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -0
  280. package/dist/service/base/ApiBaseService.d.ts +15 -15
  281. package/dist/service/base/ApiBaseService.js +50 -50
  282. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  283. package/dist/service/base/ApiRateLimiter.js +51 -51
  284. package/dist/service/base/BaseService.d.ts +41 -29
  285. package/dist/service/base/BaseService.js +101 -79
  286. package/dist/service/base/RedisCacheService.d.ts +20 -13
  287. package/dist/service/base/RedisCacheService.js +57 -50
  288. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  289. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  290. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  291. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  292. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  293. package/dist/service/crudstd/CrudStdRelationService.js +112 -85
  294. package/dist/service/crudstd/CrudStdService.d.ts +69 -50
  295. package/dist/service/crudstd/CrudStdService.js +392 -182
  296. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  297. package/dist/service/curd/CrudProQuick.js +147 -0
  298. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  299. package/dist/service/curd/CurdMixByAccountService.js +92 -87
  300. package/dist/service/curd/CurdMixByDictService.d.ts +13 -13
  301. package/dist/service/curd/CurdMixByDictService.js +114 -111
  302. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -22
  303. package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -154
  304. package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -9
  305. package/dist/service/curd/CurdMixBySysConfigService.js +80 -78
  306. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -10
  307. package/dist/service/curd/CurdMixByWorkbenchService.js +78 -76
  308. package/dist/service/curd/CurdMixService.d.ts +28 -17
  309. package/dist/service/curd/CurdMixService.js +100 -76
  310. package/dist/service/curd/CurdMixUtils.d.ts +51 -28
  311. package/dist/service/curd/CurdMixUtils.js +277 -201
  312. package/dist/service/curd/CurdProService.d.ts +32 -39
  313. package/dist/service/curd/CurdProService.js +212 -322
  314. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  315. package/dist/service/curd/fixCfgModel.js +104 -0
  316. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  317. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -164
  318. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -60
  319. package/dist/service/proxyapi/ProxyApiService.js +294 -260
  320. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  321. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  322. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  323. package/dist/service/proxyapi/RouteHandler.js +9 -9
  324. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  325. package/dist/service/proxyapi/RouteTrie.js +63 -63
  326. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  327. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  328. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  329. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  330. package/dist/views/404_app.html +31 -31
  331. package/dist/views/404_workbench.html +34 -34
  332. package/index.d.ts +10 -10
  333. package/package.json +87 -75
  334. package/src/config/config.default.ts +179 -203
  335. package/src/config/seed/aeskey.txt +1 -1
  336. package/src/config/utils.ts +22 -23
  337. package/src/configuration.ts +109 -83
  338. package/src/controller/base/BaseApiController.ts +170 -145
  339. package/src/controller/gateway/AnyApiGatewayController.ts +33 -33
  340. package/src/controller/gateway/AsyncTaskController.ts +157 -0
  341. package/src/controller/gateway/CrudMtdGatewayController.ts +116 -107
  342. package/src/controller/gateway/CrudStdGatewayController.ts +87 -101
  343. package/src/controller/gateway/DocGatewayController.ts +173 -165
  344. package/src/controller/gateway/FileController.ts +109 -110
  345. package/src/controller/gateway/ProxyApiGatewayController.ts +47 -47
  346. package/src/controller/gateway/PublicApiController.ts +140 -145
  347. package/src/controller/gateway/StaticController.ts +296 -328
  348. package/src/controller/helpers.controller.ts +161 -161
  349. package/src/controller/home.controller.ts +66 -71
  350. package/src/controller/manage/AnyApiMangeApi.ts +66 -66
  351. package/src/controller/manage/AppLogMangeApi.ts +53 -53
  352. package/src/controller/manage/AppMangeApi.ts +53 -53
  353. package/src/controller/manage/AppPageMangeApi.ts +52 -52
  354. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
  355. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
  356. package/src/controller/manage/CrudStandardDesignApi.ts +406 -398
  357. package/src/controller/manage/DataDictManageApi.ts +78 -78
  358. package/src/controller/manage/DeployManageApi.ts +175 -179
  359. package/src/controller/manage/DocLibManageApi.ts +69 -69
  360. package/src/controller/manage/DocManageApi.ts +99 -99
  361. package/src/controller/manage/FileManageApi.ts +45 -45
  362. package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
  363. package/src/controller/manage/MenuManageApi.ts +58 -63
  364. package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
  365. package/src/controller/manage/SuperAdminManageApi.ts +139 -138
  366. package/src/controller/manage/SysConfigMangeApi.ts +95 -95
  367. package/src/controller/manage/SystemInfoManageApi.ts +53 -48
  368. package/src/controller/manage/UserAccountManageApi.ts +94 -88
  369. package/src/controller/manage/WorkbenchMangeApi.ts +72 -72
  370. package/src/controller/myinfo/AuthController.ts +108 -174
  371. package/src/controller/myinfo/MyInfoController.ts +32 -32
  372. package/src/controller/render/AppRenderController.ts +81 -76
  373. package/src/controller/test.controller.ts +37 -37
  374. package/src/filter/default.filter.ts +13 -13
  375. package/src/filter/notfound.filter.ts +10 -10
  376. package/src/index.ts +107 -99
  377. package/src/interface.ts +31 -31
  378. package/src/libs/crud-pro/CrudPro.ts +165 -158
  379. package/src/libs/crud-pro/defaultConfigs.ts +15 -13
  380. package/src/libs/crud-pro/exceptions.ts +124 -124
  381. package/src/libs/crud-pro/interfaces.ts +190 -183
  382. package/src/libs/crud-pro/models/ExecuteContext.ts +120 -111
  383. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +96 -86
  384. package/src/libs/crud-pro/models/FuncContext.ts +21 -21
  385. package/src/libs/crud-pro/models/RequestCfgModel.ts +141 -141
  386. package/src/libs/crud-pro/models/RequestModel.ts +141 -141
  387. package/src/libs/crud-pro/models/ResModel.ts +19 -0
  388. package/src/libs/crud-pro/models/ServiceHub.ts +32 -32
  389. package/src/libs/crud-pro/models/SqlCfgModel.ts +52 -52
  390. package/src/libs/crud-pro/models/SqlSegArg.ts +13 -13
  391. package/src/libs/crud-pro/models/Transaction.ts +81 -74
  392. package/src/libs/crud-pro/models/TransactionMySQL.ts +79 -79
  393. package/src/libs/crud-pro/models/TransactionPostgres.ts +91 -91
  394. package/src/libs/crud-pro/models/TransactionSqlServer.ts +102 -107
  395. package/src/libs/crud-pro/models/keys.ts +159 -159
  396. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +83 -75
  397. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +128 -128
  398. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +262 -279
  399. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +60 -60
  400. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +180 -180
  401. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +354 -373
  402. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +185 -202
  403. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +393 -397
  404. package/src/libs/crud-pro/services/CrudProServiceBase.ts +106 -98
  405. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -59
  406. package/src/libs/crud-pro/services/CurdProServiceHub.ts +92 -92
  407. package/src/libs/crud-pro/sql.txt +120 -120
  408. package/src/libs/crud-pro/utils/CompareUtils.ts +23 -23
  409. package/src/libs/crud-pro/utils/DatabaseName.ts +60 -40
  410. package/src/libs/crud-pro/utils/DateTimeUtils.ts +20 -20
  411. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +64 -64
  412. package/src/libs/crud-pro/utils/MessageParseUtils.ts +33 -33
  413. package/src/libs/crud-pro/utils/MixinUtils.ts +285 -285
  414. package/src/libs/crud-pro/utils/ModelUtils.ts +55 -55
  415. package/src/libs/crud-pro/utils/MultiKeyMap.ts +72 -72
  416. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +29 -29
  417. package/src/libs/crud-pro/utils/TypeUtils.ts +188 -188
  418. package/src/libs/crud-pro/utils/ValidateUtils.ts +165 -167
  419. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +20 -20
  420. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +22 -22
  421. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +22 -22
  422. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +21 -26
  423. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +24 -0
  424. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +9 -11
  425. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +9 -11
  426. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +127 -129
  427. package/src/libs/global-config/global-config.ts +108 -0
  428. package/src/libs/utils/base64.ts +40 -0
  429. package/src/libs/utils/common-dto.ts +52 -52
  430. package/src/libs/utils/crypto-utils.ts +50 -52
  431. package/src/libs/utils/errorToString.ts +61 -0
  432. package/src/libs/utils/fatcms-request.ts +103 -115
  433. package/src/libs/utils/functions.ts +78 -67
  434. package/src/libs/utils/ordernum-utils.ts +14 -18
  435. package/src/libs/utils/parseConfig.ts +54 -62
  436. package/src/libs/utils/parseCreateSql.ts +91 -91
  437. package/src/libs/utils/render-utils.ts +175 -184
  438. package/src/middleware/forbidden.middleware.ts +52 -71
  439. package/src/middleware/global.middleware.ts +293 -278
  440. package/src/middleware/permission.middleware.ts +80 -81
  441. package/src/middleware/rediscache.middleware.ts +91 -0
  442. package/src/middleware/redislock.middleware.ts +83 -0
  443. package/src/middleware/tx.middleware.ts +30 -30
  444. package/src/models/AsyncTaskModel.ts +85 -0
  445. package/src/models/RedisKeys.ts +16 -0
  446. package/src/models/SystemEntities.ts +123 -115
  447. package/src/models/SystemPerm.ts +104 -105
  448. package/src/models/SystemTables.ts +26 -30
  449. package/src/models/bizmodels.ts +121 -89
  450. package/src/models/contextLogger.ts +132 -132
  451. package/src/models/devops.ts +17 -17
  452. package/src/models/userSession.ts +217 -216
  453. package/src/schedule/anonymousContext.ts +73 -0
  454. package/src/schedule/index.ts +5 -73
  455. package/src/schedule/runSchedule.ts +74 -0
  456. package/src/schedule/scheduleNames.ts +15 -0
  457. package/src/service/AuthService.ts +283 -270
  458. package/src/service/EnumInfoService.ts +130 -129
  459. package/src/service/FileCenterService.ts +395 -394
  460. package/src/service/SysConfigService.ts +37 -34
  461. package/src/service/UserAccountService.ts +107 -100
  462. package/src/service/UserSessionService.ts +157 -81
  463. package/src/service/VisitStatService.ts +166 -179
  464. package/src/service/WorkbenchService.ts +220 -160
  465. package/src/service/anyapi/AnyApiSandboxService.ts +121 -121
  466. package/src/service/anyapi/AnyApiService.ts +186 -184
  467. package/src/service/asyncTask/AsyncTaskRunnerService.ts +319 -0
  468. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  469. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  470. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
  471. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +159 -0
  472. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +158 -0
  473. package/src/service/base/ApiBaseService.ts +42 -42
  474. package/src/service/base/ApiRateLimiter.ts +59 -59
  475. package/src/service/base/BaseService.ts +95 -74
  476. package/src/service/base/RedisCacheService.ts +42 -38
  477. package/src/service/crudstd/CrudStdActionService.ts +27 -27
  478. package/src/service/crudstd/CrudStdConstant.ts +62 -62
  479. package/src/service/crudstd/CrudStdRelationService.ts +118 -78
  480. package/src/service/crudstd/CrudStdService.ts +477 -188
  481. package/src/service/curd/CrudProQuick.ts +170 -0
  482. package/src/service/curd/CurdMixByAccountService.ts +89 -83
  483. package/src/service/curd/CurdMixByDictService.ts +114 -113
  484. package/src/service/curd/CurdMixByLinkToCustomService.ts +219 -167
  485. package/src/service/curd/CurdMixBySysConfigService.ts +78 -78
  486. package/src/service/curd/CurdMixByWorkbenchService.ts +71 -68
  487. package/src/service/curd/CurdMixService.ts +97 -65
  488. package/src/service/curd/CurdMixUtils.ts +314 -248
  489. package/src/service/curd/CurdProService.ts +231 -379
  490. package/src/service/curd/fixCfgModel.ts +120 -0
  491. package/src/service/proxyapi/ProxyApiLoadService.ts +170 -165
  492. package/src/service/proxyapi/ProxyApiService.ts +298 -262
  493. package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
  494. package/src/service/proxyapi/RouteHandler.ts +8 -8
  495. package/src/service/proxyapi/RouteTrie.ts +74 -74
  496. package/src/service/proxyapi/WeightedRandom.ts +37 -37
  497. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
  498. package/src/views/404_app.html +31 -31
  499. package/src/views/404_workbench.html +34 -34
  500. package/tsconfig.json +32 -0
@@ -1,129 +1,127 @@
1
- //
2
- // // 定义 PostgreSQL 数据类型 OID 映射
3
- // const PG_TYPE_OIDS = {
4
- // INT2: 21, // smallint
5
- // INT4: 23, // integer
6
- // INT8: 20, // bigint
7
- // FLOAT4: 700, // real
8
- // FLOAT8: 701, // double precision
9
- // NUMERIC: 1700, // numeric
10
- // MONEY: 790, // money
11
- // BOOL: 16, // boolean
12
- // DATE: 1082, // date
13
- // TIMESTAMP: 1114, // timestamp without time zone
14
- // TIMESTAMPTZ: 1184, // timestamp with time zone
15
- // JSON: 114, // json
16
- // JSONB: 3802, // jsonb
17
- // };
18
- //
19
- //
20
- //
21
- // /**
22
- // * 将 PostgreSQL 数据类型转换为 JavaScript 类型
23
- // * @param {any} value - 原始值
24
- // * @param {number} oid - 数据类型 OID
25
- // * @returns {any} 转换后的值
26
- // */
27
- // function convertPgType(value: any, oid: any) {
28
- // // 如果值为 null,直接返回
29
- // if (value === null) {
30
- // return null;
31
- // }
32
- //
33
- // const typeOfValue = typeof value;
34
- // if (typeOfValue === 'undefined') {
35
- // return null;
36
- // }
37
- // if (typeOfValue === 'number' || typeOfValue === "boolean" || typeOfValue === "object") {
38
- // return value;
39
- // }
40
- // if (typeOfValue === 'bigint') {
41
- // return value.toString()
42
- // }
43
- //
44
- // switch (oid) {
45
- // // 整数类型(全部转为 Number)
46
- // case PG_TYPE_OIDS.INT2: // smallint
47
- // case PG_TYPE_OIDS.INT4: // integer
48
- // return Number(value);
49
- // case PG_TYPE_OIDS.INT8: // bigint
50
- // return value;
51
- //
52
- // // 浮点类型
53
- // case PG_TYPE_OIDS.FLOAT4: // real
54
- // case PG_TYPE_OIDS.FLOAT8: // double precision
55
- // case PG_TYPE_OIDS.NUMERIC: // numeric
56
- // case PG_TYPE_OIDS.MONEY: // money
57
- // return Number(value);
58
- //
59
- // // 布尔类型
60
- // case PG_TYPE_OIDS.BOOL:
61
- // if (typeof value === 'boolean') {
62
- // return value;
63
- // }
64
- // return value === 't' || value === 'true' || value === true;
65
- //
66
- // // 日期/时间类型
67
- // case PG_TYPE_OIDS.DATE:
68
- // return new Date(value).toISOString().split('T')[0];
69
- //
70
- // case PG_TYPE_OIDS.TIMESTAMP:
71
- // case PG_TYPE_OIDS.TIMESTAMPTZ:
72
- // return new Date(value).toISOString();
73
- //
74
- // // JSON 类型
75
- // case PG_TYPE_OIDS.JSON:
76
- // case PG_TYPE_OIDS.JSONB:
77
- // // try {
78
- // // return JSON.parse(value);
79
- // // } catch (e) {
80
- // // return value; // 解析失败时返回原始值
81
- // // }
82
- //
83
- // // 默认不转换
84
- // default:
85
- // return value;
86
- // }
87
- // }
88
- //
89
- //
90
- // /**
91
- // * 获取并转换PG查询结果的数据类型
92
- // * @param result
93
- // */
94
- // function pickAndConvertPgRows(result: any): any[] {
95
- // if (!result || !Array.isArray(result.rows)) {
96
- // return [];
97
- // }
98
- //
99
- // console.log('',convertPgType)
100
- // try {
101
- // // 获取字段类型 OID
102
- // const fieldTypes = result.fields.map((field: any) => field.dataTypeID);
103
- //
104
- // // 转换每一行的数据类型
105
- // return result.rows.map((row:any) => {
106
- // const convertedRow = {};
107
- // Object.keys(row).forEach((key, index) => {
108
- // const value = row[key];
109
- // const oid = fieldTypes[index];
110
- // convertedRow[key] = convertPgType(value, oid);
111
- // });
112
- // return convertedRow;
113
- // });
114
- // } catch (e) {
115
- // console.error('pickAndConvertPgRows', e);
116
- // }
117
- // return [];
118
- // }
119
-
120
- function pickAndConvertPgRows(result: any): any[] {
121
- if (!result || !Array.isArray(result.rows)) {
122
- return [];
123
- }
124
- return result.rows;
125
- }
126
-
127
- export {
128
- pickAndConvertPgRows
129
- }
1
+ //
2
+ // // 定义 PostgreSQL 数据类型 OID 映射
3
+ // const PG_TYPE_OIDS = {
4
+ // INT2: 21, // smallint
5
+ // INT4: 23, // integer
6
+ // INT8: 20, // bigint
7
+ // FLOAT4: 700, // real
8
+ // FLOAT8: 701, // double precision
9
+ // NUMERIC: 1700, // numeric
10
+ // MONEY: 790, // money
11
+ // BOOL: 16, // boolean
12
+ // DATE: 1082, // date
13
+ // TIMESTAMP: 1114, // timestamp without time zone
14
+ // TIMESTAMPTZ: 1184, // timestamp with time zone
15
+ // JSON: 114, // json
16
+ // JSONB: 3802, // jsonb
17
+ // };
18
+ //
19
+ //
20
+ //
21
+ // /**
22
+ // * 将 PostgreSQL 数据类型转换为 JavaScript 类型
23
+ // * @param {any} value - 原始值
24
+ // * @param {number} oid - 数据类型 OID
25
+ // * @returns {any} 转换后的值
26
+ // */
27
+ // function convertPgType(value: any, oid: any) {
28
+ // // 如果值为 null,直接返回
29
+ // if (value === null) {
30
+ // return null;
31
+ // }
32
+ //
33
+ // const typeOfValue = typeof value;
34
+ // if (typeOfValue === 'undefined') {
35
+ // return null;
36
+ // }
37
+ // if (typeOfValue === 'number' || typeOfValue === "boolean" || typeOfValue === "object") {
38
+ // return value;
39
+ // }
40
+ // if (typeOfValue === 'bigint') {
41
+ // return value.toString()
42
+ // }
43
+ //
44
+ // switch (oid) {
45
+ // // 整数类型(全部转为 Number)
46
+ // case PG_TYPE_OIDS.INT2: // smallint
47
+ // case PG_TYPE_OIDS.INT4: // integer
48
+ // return Number(value);
49
+ // case PG_TYPE_OIDS.INT8: // bigint
50
+ // return value;
51
+ //
52
+ // // 浮点类型
53
+ // case PG_TYPE_OIDS.FLOAT4: // real
54
+ // case PG_TYPE_OIDS.FLOAT8: // double precision
55
+ // case PG_TYPE_OIDS.NUMERIC: // numeric
56
+ // case PG_TYPE_OIDS.MONEY: // money
57
+ // return Number(value);
58
+ //
59
+ // // 布尔类型
60
+ // case PG_TYPE_OIDS.BOOL:
61
+ // if (typeof value === 'boolean') {
62
+ // return value;
63
+ // }
64
+ // return value === 't' || value === 'true' || value === true;
65
+ //
66
+ // // 日期/时间类型
67
+ // case PG_TYPE_OIDS.DATE:
68
+ // return new Date(value).toISOString().split('T')[0];
69
+ //
70
+ // case PG_TYPE_OIDS.TIMESTAMP:
71
+ // case PG_TYPE_OIDS.TIMESTAMPTZ:
72
+ // return new Date(value).toISOString();
73
+ //
74
+ // // JSON 类型
75
+ // case PG_TYPE_OIDS.JSON:
76
+ // case PG_TYPE_OIDS.JSONB:
77
+ // // try {
78
+ // // return JSON.parse(value);
79
+ // // } catch (e) {
80
+ // // return value; // 解析失败时返回原始值
81
+ // // }
82
+ //
83
+ // // 默认不转换
84
+ // default:
85
+ // return value;
86
+ // }
87
+ // }
88
+ //
89
+ //
90
+ // /**
91
+ // * 获取并转换PG查询结果的数据类型
92
+ // * @param result
93
+ // */
94
+ // function pickAndConvertPgRows(result: any): any[] {
95
+ // if (!result || !Array.isArray(result.rows)) {
96
+ // return [];
97
+ // }
98
+ //
99
+ // console.log('',convertPgType)
100
+ // try {
101
+ // // 获取字段类型 OID
102
+ // const fieldTypes = result.fields.map((field: any) => field.dataTypeID);
103
+ //
104
+ // // 转换每一行的数据类型
105
+ // return result.rows.map((row:any) => {
106
+ // const convertedRow = {};
107
+ // Object.keys(row).forEach((key, index) => {
108
+ // const value = row[key];
109
+ // const oid = fieldTypes[index];
110
+ // convertedRow[key] = convertPgType(value, oid);
111
+ // });
112
+ // return convertedRow;
113
+ // });
114
+ // } catch (e) {
115
+ // console.error('pickAndConvertPgRows', e);
116
+ // }
117
+ // return [];
118
+ // }
119
+
120
+ function pickAndConvertPgRows(result: any): any[] {
121
+ if (!result || !Array.isArray(result.rows)) {
122
+ return [];
123
+ }
124
+ return result.rows;
125
+ }
126
+
127
+ export { pickAndConvertPgRows };
@@ -0,0 +1,108 @@
1
+ import { IRequestCfgModel, IRequestModel } from '../crud-pro/interfaces';
2
+ import { ExecuteContext } from '../crud-pro/models/ExecuteContext';
3
+ import { SqlDbType } from '../crud-pro/models/keys';
4
+ import { Context } from '@midwayjs/koa';
5
+
6
+ interface IGlobalStaticConfig {
7
+ /**
8
+ * CrudStd: 业务系统自定义的修改:查询前的查询条件:cfgModel
9
+ * @param reqJson
10
+ * @param cfgModel
11
+ * @param appInfo
12
+ * @param ctx
13
+ */
14
+ bizUpdateCfgModelForCrudStd(reqJson: IRequestModel, cfgModel: IRequestCfgModel, appInfo: any, ctx: Context): Promise<any>;
15
+
16
+ /**
17
+ * CrudStd: 业务系统自定义的修改:查询后的返回值。
18
+ * @param reqJson
19
+ * @param cfgModel
20
+ * @param appInfo
21
+ * @param ctx
22
+ */
23
+ bizUpdateExecuteContextForCrudStd(reqJson: IRequestModel, cfgModel: IRequestCfgModel, appInfo: any, ctx: Context, executeContext: ExecuteContext): Promise<any>;
24
+
25
+ /**
26
+ * CrudMtd: 业务系统自定义的修改cfgModel
27
+ * @param reqJson
28
+ * @param cfgModel
29
+ * @param methodInfo
30
+ * @param ctx
31
+ */
32
+ bizUpdateCfgModelForCrudMtd(reqJson: any, cfgModel: any, methodInfo: any, ctx: any): Promise<any>;
33
+
34
+ /**
35
+ * CrudMtd: 业务系统自定义的修改ExecuteContext
36
+ * @param reqJson
37
+ * @param cfgModel
38
+ * @param methodInfo
39
+ * @param ctx
40
+ * @param executeContext
41
+ */
42
+ bizUpdateExecuteContextForCrudMtd(reqJson: any, cfgModel: any, methodInfo: any, ctx: any, executeContext: ExecuteContext): Promise<any>;
43
+
44
+ /**
45
+ * CrudPro: 业务系统自定义的修改cfgModel。这是最底层的!!全局的!!全局的!!全局的!!!
46
+ * @param reqJson
47
+ * @param cfgModel
48
+ */
49
+ bizUpdateCfgModelForCrudPro(reqJson: any, cfgModel: any): Promise<any>;
50
+
51
+ /**
52
+ * 生成用户的账号ID,业务系统可以生成类似工号的ID
53
+ * @param userSubmitData
54
+ */
55
+ generateUserAccountId(userSubmitData: any): Promise<string>;
56
+
57
+ /**
58
+ * 将业务系统表中的userId映射为fatcms的UserAccountId
59
+ * @param bizTableUserId 业余系统表中的UserId
60
+ */
61
+ toFatcmsUserAccountId(bizTableUserId: any): string;
62
+
63
+ SystemDbName: string;
64
+ SystemDbType: SqlDbType;
65
+
66
+ /**
67
+ * Excel导出时,每页查询的最大数量
68
+ */
69
+ maxPageSizeOfExportExcel: number;
70
+ }
71
+
72
+ const noop = () => {
73
+ return Promise.resolve();
74
+ };
75
+
76
+ class GlobalStaticConfig {
77
+ private configObject: IGlobalStaticConfig;
78
+ constructor() {
79
+ this.configObject = {
80
+ bizUpdateCfgModelForCrudStd: noop,
81
+ bizUpdateExecuteContextForCrudStd: noop,
82
+ bizUpdateCfgModelForCrudMtd: noop,
83
+ bizUpdateExecuteContextForCrudMtd: noop,
84
+ bizUpdateCfgModelForCrudPro: noop,
85
+ generateUserAccountId: null,
86
+ toFatcmsUserAccountId: (bizTableUserId: any) => {
87
+ return bizTableUserId;
88
+ },
89
+ SystemDbName: 'fatcms',
90
+ SystemDbType: SqlDbType.mysql,
91
+ maxPageSizeOfExportExcel: 1000,
92
+ };
93
+ }
94
+ public getConfig(): IGlobalStaticConfig {
95
+ return this.configObject as IGlobalStaticConfig;
96
+ }
97
+
98
+ public setConfig(configObject: any) {
99
+ if (!configObject || typeof configObject !== 'object') {
100
+ throw new Error('参数configObject不能为空');
101
+ }
102
+ Object.assign(this.configObject, configObject);
103
+ }
104
+ }
105
+
106
+ const GLOBAL_STATIC_CONFIG = new GlobalStaticConfig();
107
+
108
+ export { GLOBAL_STATIC_CONFIG };
@@ -0,0 +1,40 @@
1
+ function toBase64(obj: any): string {
2
+ const jsonString = JSON.stringify(obj);
3
+ return Buffer.from(jsonString, 'utf8').toString('base64');
4
+ }
5
+
6
+ /**
7
+ * 将经 toBase64 函数序列化的 Base64 字符串还原为 JS 对象
8
+ * @param base64Str - 经 toBase64 处理后的 Base64 字符串
9
+ * @returns 还原后的 JS 对象
10
+ * @throws 当 Base64 格式无效或 JSON 解析失败时抛出含具体原因的错误
11
+ */
12
+ function fromBase64(base64Str: string): any {
13
+ // 校验输入是否为字符串
14
+ if (typeof base64Str !== 'string') {
15
+ throw new Error('input must Base64 string');
16
+ }
17
+
18
+ try {
19
+ // 1. 反向步骤1:将 Base64 字符串解码为 UTF-8 格式的 JSON 字符串
20
+ // 对应原函数的 Buffer.from(jsonString, 'utf8') 反向操作
21
+ const jsonString = Buffer.from(base64Str, 'base64').toString('utf8');
22
+
23
+ // 2. 反向步骤2:将 JSON 字符串解析为 JS 对象
24
+ // 对应原函数的 JSON.stringify(obj) 反向操作
25
+ const restoredObj = JSON.parse(jsonString);
26
+
27
+ return restoredObj;
28
+ } catch (error) {
29
+ // 分类处理不同错误类型,提供明确提示
30
+ if (error instanceof TypeError && error.message.includes('invalid base64')) {
31
+ throw new Error('还原失败:输入不是有效的 Base64 字符串');
32
+ } else if (error instanceof SyntaxError && error.message.includes('JSON')) {
33
+ throw new Error('还原失败:解码后的内容不是有效的 JSON 格式');
34
+ } else {
35
+ throw new Error(`还原失败:未知错误 - ${(error as Error).message}`);
36
+ }
37
+ }
38
+ }
39
+
40
+ export { toBase64, fromBase64 };
@@ -1,52 +1,52 @@
1
- export interface ICommonResult {
2
- success: boolean;
3
- data?: any;
4
- message?: string;
5
- code?: string;
6
- debugInfo?: any;
7
- }
8
-
9
- export class CommonResult implements ICommonResult {
10
- code: string;
11
- data: any;
12
- message: string;
13
- success: boolean;
14
- debugInfo: any;
15
-
16
- public static successNotNull(data?: any): CommonResult {
17
- const res = new CommonResult();
18
- if (data) {
19
- res.success = true;
20
- res.data = data;
21
- } else {
22
- res.success = false;
23
- res.message = '对象找不到';
24
- }
25
- return res;
26
- }
27
-
28
- public static successRes(data?: any): CommonResult {
29
- const res = new CommonResult();
30
- res.success = true;
31
- res.data = data;
32
- return res;
33
- }
34
-
35
- public static successMsg(message: string, data?: any): CommonResult {
36
- const res = new CommonResult();
37
- res.success = true;
38
- res.message = message;
39
- res.data = data;
40
- return res;
41
- }
42
-
43
- public static errorRes(message: string, errorCode = '', debugInfo: any = null): CommonResult {
44
- const res = new CommonResult();
45
- res.success = false;
46
- res.data = null;
47
- res.message = message;
48
- res.code = errorCode;
49
- res.debugInfo = debugInfo;
50
- return res;
51
- }
52
- }
1
+ export interface ICommonResult {
2
+ success: boolean;
3
+ data?: any;
4
+ message?: string;
5
+ code?: string;
6
+ debugInfo?: any;
7
+ }
8
+
9
+ export class CommonResult implements ICommonResult {
10
+ code: string;
11
+ data: any;
12
+ message: string;
13
+ success: boolean;
14
+ debugInfo: any;
15
+
16
+ public static successNotNull(data?: any): CommonResult {
17
+ const res = new CommonResult();
18
+ if (data) {
19
+ res.success = true;
20
+ res.data = data;
21
+ } else {
22
+ res.success = false;
23
+ res.message = '对象找不到';
24
+ }
25
+ return res;
26
+ }
27
+
28
+ public static successRes(data?: any): CommonResult {
29
+ const res = new CommonResult();
30
+ res.success = true;
31
+ res.data = data;
32
+ return res;
33
+ }
34
+
35
+ public static successMsg(message: string, data?: any): CommonResult {
36
+ const res = new CommonResult();
37
+ res.success = true;
38
+ res.message = message;
39
+ res.data = data;
40
+ return res;
41
+ }
42
+
43
+ public static errorRes(message: string, errorCode = '', debugInfo: any = null): CommonResult {
44
+ const res = new CommonResult();
45
+ res.success = false;
46
+ res.data = null;
47
+ res.message = message;
48
+ res.code = errorCode;
49
+ res.debugInfo = debugInfo;
50
+ return res;
51
+ }
52
+ }
@@ -1,52 +1,50 @@
1
- import * as crypto from 'crypto';
2
- import * as path from 'path';
3
- import * as fs from 'fs';
4
- import * as md5 from 'md5';
5
- import { Aes128CBC } from 'aes-128-cbc';
6
-
7
- function hashUtf8Hex(data: string): string {
8
- const hash = crypto.createHash('sha256');
9
- const chunkSize = 1024; // 每次处理 1MB 数据
10
- for (let i = 0; i < data.length; i += chunkSize) {
11
- const chunk = data.slice(i, i + chunkSize);
12
- const inputBuffer = Buffer.from(chunk, 'utf8');
13
- hash.update(inputBuffer);
14
- }
15
- return hash.digest('hex');
16
- }
17
-
18
- function readSeed1() {
19
- // 这个文件肯定存在
20
- const t = path.join(__dirname, '../../config/seed/aeskey.txt');
21
- return fs.readFileSync(t, 'utf-8');
22
- }
23
-
24
- function readSeed2(): string {
25
- const filePath = path.join(__dirname, '../../../config/seed/aeskey.txt');
26
- if (!fs.existsSync(filePath)) {
27
- return null;
28
- }
29
- return fs.readFileSync(filePath, 'utf-8');
30
- }
31
-
32
-
33
- function createAes128BySeedContent(seedContent:string){
34
- const hash1 = hashUtf8Hex(seedContent.trim());
35
- const key = md5(hash1);
36
- const iv = md5(key + hash1);
37
- return new Aes128CBC(key, iv);
38
- }
39
-
40
- function createAes128BySeedFile() {
41
- const seed2 = readSeed2();
42
- if (seed2) {
43
- return createAes128BySeedContent(seed2);
44
- }
45
- const seed1 = readSeed1();
46
- return createAes128BySeedContent(seed1);
47
- }
48
-
49
-
50
- const privateAES = createAes128BySeedFile();
51
-
52
- export { privateAES };
1
+ import * as crypto from 'crypto';
2
+ import * as path from 'path';
3
+ import * as fs from 'fs';
4
+ import * as md5 from 'md5';
5
+ import { Aes128CBC } from 'aes-128-cbc';
6
+
7
+ function hashUtf8Hex(data: string): string {
8
+ const hash = crypto.createHash('sha256');
9
+ const chunkSize = 1024; // 每次处理 1MB 数据
10
+ for (let i = 0; i < data.length; i += chunkSize) {
11
+ const chunk = data.slice(i, i + chunkSize);
12
+ const inputBuffer = Buffer.from(chunk, 'utf8');
13
+ hash.update(inputBuffer);
14
+ }
15
+ return hash.digest('hex');
16
+ }
17
+
18
+ function readSeed1() {
19
+ // 这个文件肯定存在
20
+ const t = path.join(__dirname, '../../config/seed/aeskey.txt');
21
+ return fs.readFileSync(t, 'utf-8');
22
+ }
23
+
24
+ function readSeed2(): string {
25
+ const filePath = path.join(__dirname, '../../../config/seed/aeskey.txt');
26
+ if (!fs.existsSync(filePath)) {
27
+ return null;
28
+ }
29
+ return fs.readFileSync(filePath, 'utf-8');
30
+ }
31
+
32
+ function createAes128BySeedContent(seedContent: string) {
33
+ const hash1 = hashUtf8Hex(seedContent.trim());
34
+ const key = md5(hash1);
35
+ const iv = md5(key + hash1);
36
+ return new Aes128CBC(key, iv);
37
+ }
38
+
39
+ function createAes128BySeedFile() {
40
+ const seed2 = readSeed2();
41
+ if (seed2) {
42
+ return createAes128BySeedContent(seed2);
43
+ }
44
+ const seed1 = readSeed1();
45
+ return createAes128BySeedContent(seed1);
46
+ }
47
+
48
+ const privateAES = createAes128BySeedFile();
49
+
50
+ export { privateAES };
@@ -0,0 +1,61 @@
1
+ function errorToString(error: any): string {
2
+ // 处理非错误对象的情况
3
+ if (typeof error === 'undefined') {
4
+ return 'Error: undefined was thrown';
5
+ }
6
+
7
+ if (error === null) {
8
+ return 'Error: null was thrown';
9
+ }
10
+
11
+ // 处理原始值类型
12
+ const primitiveTypes = ['string', 'number', 'boolean', 'symbol'];
13
+ if (primitiveTypes.includes(typeof error)) {
14
+ return `Error: A primitive value was thrown\nValue: ${String(error)}`;
15
+ }
16
+
17
+ // 处理 Error 对象
18
+ if (error instanceof Error) {
19
+ const errorDetails = [];
20
+ errorDetails.push(`Error: ${error.name || 'Error'}`);
21
+ errorDetails.push(`Message: ${error.message || 'No error message'}`);
22
+
23
+ if (error.stack) {
24
+ errorDetails.push('Stack Trace:');
25
+ errorDetails.push(error.stack);
26
+ }
27
+
28
+ const extraProperties = ['code', 'fileName', 'lineNumber', 'columnNumber'];
29
+ extraProperties.forEach(prop => {
30
+ if (error[prop] !== undefined) {
31
+ errorDetails.push(`${prop}: ${error[prop]}`);
32
+ }
33
+ });
34
+
35
+ const customProps = Object.keys(error).filter(key => !['name', 'message', 'stack', ...extraProperties].includes(key));
36
+
37
+ if (customProps.length > 0) {
38
+ errorDetails.push('Custom Properties:');
39
+ customProps.forEach(prop => {
40
+ try {
41
+ const value = JSON.stringify(error[prop], null, 2) || String(error[prop]);
42
+ errorDetails.push(` ${prop}: ${value}`);
43
+ } catch (e) {
44
+ errorDetails.push(` ${prop}: [Object cannot be serialized]`);
45
+ }
46
+ });
47
+ }
48
+
49
+ return errorDetails.join('\n');
50
+ }
51
+
52
+ // 处理普通对象
53
+ try {
54
+ const objectDetails = JSON.stringify(error, null, 2);
55
+ return `Error: A plain object was thrown\nObject: ${objectDetails}`;
56
+ } catch (e) {
57
+ return `Error: An object was thrown but could not be serialized\nType: ${error.constructor?.name || 'Unknown'}`;
58
+ }
59
+ }
60
+
61
+ export { errorToString };