midway-fatcms 0.0.1-beta.9 → 0.0.2

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 (560) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +407 -1
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +177 -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 +49 -31
  12. package/dist/controller/base/BaseApiController.js +198 -141
  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 -119
  19. package/dist/controller/gateway/CrudStdGatewayController.d.ts +39 -38
  20. package/dist/controller/gateway/CrudStdGatewayController.js +149 -137
  21. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  22. package/dist/controller/gateway/DocGatewayController.js +181 -179
  23. package/dist/controller/gateway/FileController.d.ts +32 -25
  24. package/dist/controller/gateway/FileController.js +160 -129
  25. package/dist/controller/gateway/FlowInstanceController.d.ts +16 -0
  26. package/dist/controller/gateway/FlowInstanceController.js +48 -0
  27. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  28. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  29. package/dist/controller/gateway/PublicApiController.d.ts +33 -27
  30. package/dist/controller/gateway/PublicApiController.js +194 -167
  31. package/dist/controller/gateway/StaticController.d.ts +23 -24
  32. package/dist/controller/gateway/StaticController.js +280 -285
  33. package/dist/controller/helpers.controller.d.ts +36 -39
  34. package/dist/controller/helpers.controller.js +187 -188
  35. package/dist/controller/home.controller.d.ts +9 -9
  36. package/dist/controller/home.controller.js +78 -71
  37. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  38. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  39. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  40. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  41. package/dist/controller/manage/AppMangeApi.d.ts +12 -10
  42. package/dist/controller/manage/AppMangeApi.js +101 -88
  43. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  44. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  45. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  46. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  47. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  48. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  49. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -38
  50. package/dist/controller/manage/CrudStandardDesignApi.js +395 -354
  51. package/dist/controller/manage/DataDictManageApi.d.ts +17 -15
  52. package/dist/controller/manage/DataDictManageApi.js +165 -133
  53. package/dist/controller/manage/DeployManageApi.d.ts +21 -19
  54. package/dist/controller/manage/DeployManageApi.js +203 -178
  55. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  56. package/dist/controller/manage/DocLibManageApi.js +104 -104
  57. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  58. package/dist/controller/manage/DocManageApi.js +130 -130
  59. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  60. package/dist/controller/manage/FileManageApi.js +77 -77
  61. package/dist/controller/manage/FlowConfigManageApi.d.ts +12 -0
  62. package/dist/controller/manage/FlowConfigManageApi.js +109 -0
  63. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  64. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  65. package/dist/controller/manage/MenuManageApi.d.ts +11 -10
  66. package/dist/controller/manage/MenuManageApi.js +104 -93
  67. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  68. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  69. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  70. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  71. package/dist/controller/manage/SysConfigMangeApi.d.ts +12 -11
  72. package/dist/controller/manage/SysConfigMangeApi.js +133 -126
  73. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  74. package/dist/controller/manage/SystemInfoManageApi.js +82 -66
  75. package/dist/controller/manage/UserAccountManageApi.d.ts +16 -14
  76. package/dist/controller/manage/UserAccountManageApi.js +153 -124
  77. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  78. package/dist/controller/manage/WorkbenchMangeApi.js +106 -103
  79. package/dist/controller/myinfo/AuthController.d.ts +37 -37
  80. package/dist/controller/myinfo/AuthController.js +157 -189
  81. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  82. package/dist/controller/myinfo/MyInfoController.js +51 -51
  83. package/dist/controller/render/AppRenderController.d.ts +12 -11
  84. package/dist/controller/render/AppRenderController.js +93 -87
  85. package/dist/controller/test.controller.d.ts +8 -8
  86. package/dist/controller/test.controller.js +51 -51
  87. package/dist/filter/default.filter.d.ts +7 -7
  88. package/dist/filter/default.filter.js +23 -23
  89. package/dist/filter/notfound.filter.d.ts +5 -5
  90. package/dist/filter/notfound.filter.js +20 -20
  91. package/dist/index.d.ts +111 -94
  92. package/dist/index.js +129 -112
  93. package/dist/interface.d.ts +30 -27
  94. package/dist/interface.js +3 -3
  95. package/dist/libs/crud-pro/CrudPro.d.ts +37 -36
  96. package/dist/libs/crud-pro/CrudPro.js +146 -131
  97. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  98. package/dist/libs/crud-pro/defaultConfigs.js +15 -13
  99. package/dist/libs/crud-pro/exceptions.d.ts +106 -104
  100. package/dist/libs/crud-pro/exceptions.js +119 -117
  101. package/dist/libs/crud-pro/interfaces.d.ts +175 -157
  102. package/dist/libs/crud-pro/interfaces.js +12 -12
  103. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +50 -42
  104. package/dist/libs/crud-pro/models/ExecuteContext.js +87 -79
  105. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -31
  106. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -64
  107. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  108. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  109. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  110. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  111. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  112. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  113. package/dist/libs/crud-pro/models/ResModel.d.ts +20 -0
  114. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  115. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  116. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  117. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +23 -22
  118. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  119. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  120. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  121. package/dist/libs/crud-pro/models/Transaction.d.ts +50 -29
  122. package/dist/libs/crud-pro/models/Transaction.js +179 -67
  123. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +19 -28
  124. package/dist/libs/crud-pro/models/TransactionMySQL.js +48 -76
  125. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +19 -28
  126. package/dist/libs/crud-pro/models/TransactionPostgres.js +64 -85
  127. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +9 -34
  128. package/dist/libs/crud-pro/models/TransactionSqlServer.js +61 -92
  129. package/dist/libs/crud-pro/models/keys.d.ts +110 -106
  130. package/dist/libs/crud-pro/models/keys.js +154 -149
  131. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -10
  132. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -61
  133. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  134. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -112
  135. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  136. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +224 -227
  137. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  138. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  139. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  140. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  141. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  142. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +355 -342
  143. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  144. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -174
  145. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  146. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +339 -333
  147. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -28
  148. package/dist/libs/crud-pro/services/CrudProServiceBase.js +88 -78
  149. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -8
  150. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -53
  151. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  152. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  153. package/dist/libs/crud-pro/sql.txt +120 -120
  154. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  155. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  156. package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +9 -0
  157. package/dist/libs/crud-pro/utils/CrudMonitor.js +12 -0
  158. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  159. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -29
  160. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  161. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  162. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  163. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  164. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  165. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  166. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +40 -39
  167. package/dist/libs/crud-pro/utils/MixinUtils.js +258 -255
  168. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  169. package/dist/libs/crud-pro/utils/ModelUtils.js +54 -49
  170. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  171. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  172. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  173. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  174. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  175. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  176. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  177. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  178. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  179. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  180. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  181. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  182. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  183. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -21
  186. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +0 -0
  187. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +24 -0
  188. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  189. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +14 -11
  190. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  191. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +14 -11
  192. package/dist/libs/global-config/global-config.d.ts +71 -29
  193. package/dist/libs/global-config/global-config.js +38 -28
  194. package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -0
  195. package/dist/libs/utils/AsymmetricCrypto.js +261 -0
  196. package/dist/libs/utils/base64.d.ts +9 -0
  197. package/dist/libs/utils/base64.js +42 -0
  198. package/dist/libs/utils/common-dto.d.ts +18 -18
  199. package/dist/libs/utils/common-dto.js +40 -40
  200. package/dist/libs/utils/crypto-utils.d.ts +3 -3
  201. package/dist/libs/utils/crypto-utils.js +55 -46
  202. package/dist/libs/utils/errorToString.d.ts +20 -0
  203. package/dist/libs/utils/errorToString.js +79 -0
  204. package/dist/libs/utils/fatcms-request.d.ts +45 -30
  205. package/dist/libs/utils/fatcms-request.js +161 -104
  206. package/dist/libs/utils/format-url.d.ts +17 -0
  207. package/dist/libs/utils/format-url.js +30 -0
  208. package/dist/libs/utils/functions.d.ts +11 -4
  209. package/dist/libs/utils/functions.js +99 -63
  210. package/dist/libs/utils/ordernum-utils.d.ts +22 -2
  211. package/dist/libs/utils/ordernum-utils.js +35 -13
  212. package/dist/libs/utils/parseConfig.d.ts +8 -7
  213. package/dist/libs/utils/parseConfig.js +47 -44
  214. package/dist/libs/utils/parseCreateSql.d.ts +10 -5
  215. package/dist/libs/utils/parseCreateSql.js +87 -86
  216. package/dist/libs/utils/render-utils.d.ts +40 -28
  217. package/dist/libs/utils/render-utils.js +158 -135
  218. package/dist/middleware/forbidden.middleware.d.ts +74 -10
  219. package/dist/middleware/forbidden.middleware.js +307 -70
  220. package/dist/middleware/global.middleware.d.ts +40 -10
  221. package/dist/middleware/global.middleware.js +310 -246
  222. package/dist/middleware/permission.middleware.d.ts +88 -18
  223. package/dist/middleware/permission.middleware.js +145 -74
  224. package/dist/middleware/rediscache.middleware.d.ts +28 -0
  225. package/dist/middleware/rediscache.middleware.js +114 -0
  226. package/dist/middleware/redislock.middleware.d.ts +29 -0
  227. package/dist/middleware/redislock.middleware.js +106 -0
  228. package/dist/middleware/tx.middleware.d.ts +55 -9
  229. package/dist/middleware/tx.middleware.js +83 -40
  230. package/dist/models/AsyncTaskModel.d.ts +74 -0
  231. package/dist/models/AsyncTaskModel.js +31 -0
  232. package/dist/models/FlowModel.d.ts +227 -0
  233. package/dist/models/FlowModel.js +53 -0
  234. package/dist/models/RedisKeys.d.ts +15 -0
  235. package/dist/models/RedisKeys.js +18 -0
  236. package/dist/models/SystemEntities.d.ts +117 -98
  237. package/dist/models/SystemEntities.js +17 -2
  238. package/dist/models/SystemPerm.d.ts +96 -95
  239. package/dist/models/SystemPerm.js +101 -100
  240. package/dist/models/SystemTables.d.ts +25 -24
  241. package/dist/models/SystemTables.js +28 -27
  242. package/dist/models/WorkbenchInfoTools.d.ts +7 -0
  243. package/dist/models/WorkbenchInfoTools.js +20 -0
  244. package/dist/models/bizmodels.d.ts +150 -69
  245. package/dist/models/bizmodels.js +62 -34
  246. package/dist/models/contextLogger.d.ts +27 -25
  247. package/dist/models/contextLogger.js +119 -112
  248. package/dist/models/devops.d.ts +12 -12
  249. package/dist/models/devops.js +19 -19
  250. package/dist/models/userSession.d.ts +67 -61
  251. package/dist/models/userSession.js +179 -165
  252. package/dist/schedule/anonymousContext.d.ts +15 -0
  253. package/dist/schedule/anonymousContext.js +74 -0
  254. package/dist/schedule/index.d.ts +4 -3
  255. package/dist/schedule/index.js +10 -69
  256. package/dist/schedule/runSchedule.d.ts +12 -0
  257. package/dist/schedule/runSchedule.js +68 -0
  258. package/dist/schedule/scheduleNames.d.ts +15 -0
  259. package/dist/schedule/scheduleNames.js +19 -0
  260. package/dist/service/AuthService.d.ts +56 -70
  261. package/dist/service/AuthService.js +248 -251
  262. package/dist/service/EnumInfoService.d.ts +30 -30
  263. package/dist/service/EnumInfoService.js +97 -126
  264. package/dist/service/FileCenterService.d.ts +64 -43
  265. package/dist/service/FileCenterService.js +422 -351
  266. package/dist/service/SysAppService.d.ts +15 -0
  267. package/dist/service/SysAppService.js +108 -0
  268. package/dist/service/SysConfigService.d.ts +10 -7
  269. package/dist/service/SysConfigService.js +64 -47
  270. package/dist/service/SysDictDataService.d.ts +9 -0
  271. package/dist/service/SysDictDataService.js +72 -0
  272. package/dist/service/SysMenuService.d.ts +51 -0
  273. package/dist/service/SysMenuService.js +58 -0
  274. package/dist/service/UserAccountService.d.ts +23 -23
  275. package/dist/service/UserAccountService.js +107 -107
  276. package/dist/service/UserSessionService.d.ts +43 -16
  277. package/dist/service/UserSessionService.js +163 -85
  278. package/dist/service/VisitStatService.d.ts +14 -14
  279. package/dist/service/VisitStatService.js +161 -167
  280. package/dist/service/WorkbenchService.d.ts +59 -20
  281. package/dist/service/WorkbenchService.js +249 -155
  282. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  283. package/dist/service/anyapi/AnyApiSandboxService.js +122 -122
  284. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  285. package/dist/service/anyapi/AnyApiService.js +181 -181
  286. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  287. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  288. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  289. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  290. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  291. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  292. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  293. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  294. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  295. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -0
  296. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  297. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -0
  298. package/dist/service/base/ApiBaseService.d.ts +22 -15
  299. package/dist/service/base/ApiBaseService.js +60 -50
  300. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  301. package/dist/service/base/ApiRateLimiter.js +51 -51
  302. package/dist/service/base/BaseService.d.ts +45 -29
  303. package/dist/service/base/BaseService.js +127 -79
  304. package/dist/service/base/cache/CacheServiceFactory.d.ts +26 -0
  305. package/dist/service/base/cache/CacheServiceFactory.js +122 -0
  306. package/dist/service/base/cache/CtxCache.d.ts +18 -0
  307. package/dist/service/base/cache/CtxCache.js +37 -0
  308. package/dist/service/base/cache/DiskCache.d.ts +19 -0
  309. package/dist/service/base/cache/DiskCache.js +81 -0
  310. package/dist/service/base/cache/MemoryCache.d.ts +12 -0
  311. package/dist/service/base/cache/MemoryCache.js +58 -0
  312. package/dist/service/base/cache/NoneCache.d.ts +10 -0
  313. package/dist/service/base/cache/NoneCache.js +19 -0
  314. package/dist/service/base/cache/RedisCache.d.ts +14 -0
  315. package/dist/service/base/cache/RedisCache.js +31 -0
  316. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  317. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  318. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  319. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  320. package/dist/service/crudstd/CrudStdRelationService.d.ts +11 -10
  321. package/dist/service/crudstd/CrudStdRelationService.js +179 -85
  322. package/dist/service/crudstd/CrudStdService.d.ts +59 -50
  323. package/dist/service/crudstd/CrudStdService.js +348 -186
  324. package/dist/service/curd/CrudProQuick.d.ts +60 -0
  325. package/dist/service/curd/CrudProQuick.js +167 -0
  326. package/dist/service/curd/CurdMixByAccountService.d.ts +14 -9
  327. package/dist/service/curd/CurdMixByAccountService.js +166 -89
  328. package/dist/service/curd/CurdMixByDictService.d.ts +12 -13
  329. package/dist/service/curd/CurdMixByDictService.js +114 -113
  330. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -22
  331. package/dist/service/curd/CurdMixByLinkToCustomService.js +209 -154
  332. package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -9
  333. package/dist/service/curd/CurdMixBySysConfigService.js +116 -80
  334. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -10
  335. package/dist/service/curd/CurdMixByWorkbenchService.js +80 -78
  336. package/dist/service/curd/CurdMixService.d.ts +28 -17
  337. package/dist/service/curd/CurdMixService.js +100 -76
  338. package/dist/service/curd/CurdMixUtils.d.ts +57 -28
  339. package/dist/service/curd/CurdMixUtils.js +331 -201
  340. package/dist/service/curd/CurdProService.d.ts +32 -39
  341. package/dist/service/curd/CurdProService.js +215 -322
  342. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  343. package/dist/service/curd/fixCfgModel.js +104 -0
  344. package/dist/service/curd/fixSoftDelete.d.ts +6 -0
  345. package/dist/service/curd/fixSoftDelete.js +43 -0
  346. package/dist/service/flow/FlowConfigService.d.ts +41 -0
  347. package/dist/service/flow/FlowConfigService.js +95 -0
  348. package/dist/service/flow/FlowInstanceCrudService.d.ts +35 -0
  349. package/dist/service/flow/FlowInstanceCrudService.js +257 -0
  350. package/dist/service/flow/FlowInstanceService.d.ts +88 -0
  351. package/dist/service/flow/FlowInstanceService.js +451 -0
  352. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  353. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  354. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -60
  355. package/dist/service/proxyapi/ProxyApiService.js +297 -260
  356. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  357. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  358. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  359. package/dist/service/proxyapi/RouteHandler.js +9 -9
  360. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  361. package/dist/service/proxyapi/RouteTrie.js +63 -63
  362. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  363. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  364. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  365. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  366. package/dist/views/404_app.html +108 -31
  367. package/dist/views/404_workbench.html +107 -34
  368. package/index.d.ts +10 -10
  369. package/package.json +87 -75
  370. package/src/config/config.default.ts +197 -203
  371. package/src/config/seed/aeskey.txt +1 -1
  372. package/src/config/utils.ts +22 -23
  373. package/src/configuration.ts +109 -83
  374. package/src/controller/base/BaseApiController.ts +228 -145
  375. package/src/controller/gateway/AnyApiGatewayController.ts +33 -33
  376. package/src/controller/gateway/AsyncTaskController.ts +157 -0
  377. package/src/controller/gateway/CrudMtdGatewayController.ts +116 -111
  378. package/src/controller/gateway/CrudStdGatewayController.ts +113 -101
  379. package/src/controller/gateway/DocGatewayController.ts +175 -173
  380. package/src/controller/gateway/FileController.ts +138 -110
  381. package/src/controller/gateway/FlowInstanceController.ts +31 -0
  382. package/src/controller/gateway/ProxyApiGatewayController.ts +47 -47
  383. package/src/controller/gateway/PublicApiController.ts +173 -145
  384. package/src/controller/gateway/StaticController.ts +290 -328
  385. package/src/controller/helpers.controller.ts +173 -161
  386. package/src/controller/home.controller.ts +72 -69
  387. package/src/controller/manage/AnyApiMangeApi.ts +66 -66
  388. package/src/controller/manage/AppLogMangeApi.ts +53 -53
  389. package/src/controller/manage/AppMangeApi.ts +66 -53
  390. package/src/controller/manage/AppPageMangeApi.ts +52 -52
  391. package/src/controller/manage/AppSchemaHistoryApi.ts +49 -49
  392. package/src/controller/manage/CrudMethodsMangeApi.ts +49 -49
  393. package/src/controller/manage/CrudStandardDesignApi.ts +406 -398
  394. package/src/controller/manage/DataDictManageApi.ts +119 -78
  395. package/src/controller/manage/DeployManageApi.ts +194 -182
  396. package/src/controller/manage/DocLibManageApi.ts +69 -69
  397. package/src/controller/manage/DocManageApi.ts +99 -99
  398. package/src/controller/manage/FileManageApi.ts +45 -45
  399. package/src/controller/manage/FlowConfigManageApi.ts +78 -0
  400. package/src/controller/manage/LowCodeTplManageApi.ts +52 -52
  401. package/src/controller/manage/MenuManageApi.ts +73 -63
  402. package/src/controller/manage/ProxyApiMangeApi.ts +52 -52
  403. package/src/controller/manage/SuperAdminManageApi.ts +139 -147
  404. package/src/controller/manage/SysConfigMangeApi.ts +103 -98
  405. package/src/controller/manage/SystemInfoManageApi.ts +65 -48
  406. package/src/controller/manage/UserAccountManageApi.ts +122 -88
  407. package/src/controller/manage/WorkbenchMangeApi.ts +80 -72
  408. package/src/controller/myinfo/AuthController.ts +127 -174
  409. package/src/controller/myinfo/MyInfoController.ts +32 -32
  410. package/src/controller/render/AppRenderController.ts +80 -79
  411. package/src/controller/test.controller.ts +37 -37
  412. package/src/filter/default.filter.ts +13 -13
  413. package/src/filter/notfound.filter.ts +10 -10
  414. package/src/index.ts +115 -99
  415. package/src/interface.ts +34 -31
  416. package/src/libs/crud-pro/CrudPro.ts +178 -158
  417. package/src/libs/crud-pro/defaultConfigs.ts +15 -13
  418. package/src/libs/crud-pro/exceptions.ts +126 -124
  419. package/src/libs/crud-pro/interfaces.ts +203 -183
  420. package/src/libs/crud-pro/models/ExecuteContext.ts +129 -111
  421. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +96 -86
  422. package/src/libs/crud-pro/models/FuncContext.ts +21 -21
  423. package/src/libs/crud-pro/models/RequestCfgModel.ts +141 -141
  424. package/src/libs/crud-pro/models/RequestModel.ts +141 -141
  425. package/src/libs/crud-pro/models/ResModel.ts +24 -0
  426. package/src/libs/crud-pro/models/ServiceHub.ts +32 -32
  427. package/src/libs/crud-pro/models/SqlCfgModel.ts +53 -52
  428. package/src/libs/crud-pro/models/SqlSegArg.ts +13 -13
  429. package/src/libs/crud-pro/models/Transaction.ts +205 -74
  430. package/src/libs/crud-pro/models/TransactionMySQL.ts +58 -79
  431. package/src/libs/crud-pro/models/TransactionPostgres.ts +79 -91
  432. package/src/libs/crud-pro/models/TransactionSqlServer.ts +77 -107
  433. package/src/libs/crud-pro/models/keys.ts +165 -159
  434. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +83 -75
  435. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +145 -128
  436. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +264 -279
  437. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +60 -60
  438. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +180 -180
  439. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +374 -373
  440. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +185 -202
  441. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +399 -397
  442. package/src/libs/crud-pro/services/CrudProServiceBase.ts +104 -98
  443. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +86 -59
  444. package/src/libs/crud-pro/services/CurdProServiceHub.ts +92 -92
  445. package/src/libs/crud-pro/sql.txt +120 -120
  446. package/src/libs/crud-pro/utils/CompareUtils.ts +23 -23
  447. package/src/libs/crud-pro/utils/CrudMonitor.ts +13 -0
  448. package/src/libs/crud-pro/utils/DatabaseName.ts +60 -40
  449. package/src/libs/crud-pro/utils/DateTimeUtils.ts +20 -20
  450. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +64 -64
  451. package/src/libs/crud-pro/utils/MessageParseUtils.ts +33 -33
  452. package/src/libs/crud-pro/utils/MixinUtils.ts +289 -285
  453. package/src/libs/crud-pro/utils/ModelUtils.ts +60 -55
  454. package/src/libs/crud-pro/utils/MultiKeyMap.ts +72 -72
  455. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +29 -29
  456. package/src/libs/crud-pro/utils/TypeUtils.ts +188 -188
  457. package/src/libs/crud-pro/utils/ValidateUtils.ts +165 -167
  458. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +20 -20
  459. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +22 -22
  460. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +22 -22
  461. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +39 -26
  462. package/src/libs/crud-pro/utils/sqlConvert/convertMix.ts +24 -0
  463. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +13 -11
  464. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +14 -11
  465. package/src/libs/global-config/global-config.ts +113 -54
  466. package/src/libs/utils/AsymmetricCrypto.ts +307 -0
  467. package/src/libs/utils/base64.ts +40 -0
  468. package/src/libs/utils/common-dto.ts +52 -52
  469. package/src/libs/utils/crypto-utils.ts +61 -52
  470. package/src/libs/utils/errorToString.ts +83 -0
  471. package/src/libs/utils/fatcms-request.ts +165 -115
  472. package/src/libs/utils/format-url.ts +30 -0
  473. package/src/libs/utils/functions.ts +109 -67
  474. package/src/libs/utils/ordernum-utils.ts +36 -18
  475. package/src/libs/utils/parseConfig.ts +58 -62
  476. package/src/libs/utils/parseCreateSql.ts +91 -91
  477. package/src/libs/utils/render-utils.ts +223 -184
  478. package/src/middleware/forbidden.middleware.ts +320 -71
  479. package/src/middleware/global.middleware.ts +340 -278
  480. package/src/middleware/permission.middleware.ts +151 -81
  481. package/src/middleware/rediscache.middleware.ts +127 -0
  482. package/src/middleware/redislock.middleware.ts +117 -0
  483. package/src/middleware/tx.middleware.ts +88 -30
  484. package/src/models/AsyncTaskModel.ts +85 -0
  485. package/src/models/FlowModel.ts +250 -0
  486. package/src/models/RedisKeys.ts +16 -0
  487. package/src/models/SystemEntities.ts +137 -115
  488. package/src/models/SystemPerm.ts +105 -105
  489. package/src/models/SystemTables.ts +28 -26
  490. package/src/models/WorkbenchInfoTools.ts +19 -0
  491. package/src/models/bizmodels.ts +183 -89
  492. package/src/models/contextLogger.ts +141 -132
  493. package/src/models/devops.ts +17 -17
  494. package/src/models/userSession.ts +242 -216
  495. package/src/schedule/anonymousContext.ts +90 -0
  496. package/src/schedule/index.ts +5 -73
  497. package/src/schedule/runSchedule.ts +74 -0
  498. package/src/schedule/scheduleNames.ts +17 -0
  499. package/src/service/AuthService.ts +279 -275
  500. package/src/service/EnumInfoService.ts +98 -134
  501. package/src/service/FileCenterService.ts +483 -400
  502. package/src/service/SysAppService.ts +103 -0
  503. package/src/service/SysConfigService.ts +51 -38
  504. package/src/service/SysDictDataService.ts +63 -0
  505. package/src/service/SysMenuService.ts +87 -0
  506. package/src/service/UserAccountService.ts +107 -110
  507. package/src/service/UserSessionService.ts +163 -81
  508. package/src/service/VisitStatService.ts +169 -183
  509. package/src/service/WorkbenchService.ts +279 -165
  510. package/src/service/anyapi/AnyApiSandboxService.ts +121 -121
  511. package/src/service/anyapi/AnyApiService.ts +186 -187
  512. package/src/service/asyncTask/AsyncTaskRunnerService.ts +319 -0
  513. package/src/service/asyncTask/AsyncTaskService.ts +21 -0
  514. package/src/service/asyncTask/handler/ExcelInfoModel.ts +11 -0
  515. package/src/service/asyncTask/handler/ExportExcelAsyncTaskHandler.ts +245 -0
  516. package/src/service/asyncTask/handler/ExportExcelByInnerHttpHandler.ts +159 -0
  517. package/src/service/asyncTask/handler/ExportExcelByStdCrudHandler.ts +158 -0
  518. package/src/service/base/ApiBaseService.ts +53 -42
  519. package/src/service/base/ApiRateLimiter.ts +59 -59
  520. package/src/service/base/BaseService.ts +126 -74
  521. package/src/service/base/cache/CacheServiceFactory.ts +135 -0
  522. package/src/service/base/cache/CtxCache.ts +45 -0
  523. package/src/service/base/cache/DiskCache.ts +90 -0
  524. package/src/service/base/cache/MemoryCache.ts +68 -0
  525. package/src/service/base/cache/NoneCache.ts +24 -0
  526. package/src/service/base/cache/RedisCache.ts +41 -0
  527. package/src/service/crudstd/CrudStdActionService.ts +26 -27
  528. package/src/service/crudstd/CrudStdConstant.ts +62 -62
  529. package/src/service/crudstd/CrudStdRelationService.ts +203 -78
  530. package/src/service/crudstd/CrudStdService.ts +424 -198
  531. package/src/service/curd/CrudProQuick.ts +201 -0
  532. package/src/service/curd/CurdMixByAccountService.ts +177 -88
  533. package/src/service/curd/CurdMixByDictService.ts +115 -119
  534. package/src/service/curd/CurdMixByLinkToCustomService.ts +228 -167
  535. package/src/service/curd/CurdMixBySysConfigService.ts +121 -83
  536. package/src/service/curd/CurdMixByWorkbenchService.ts +71 -72
  537. package/src/service/curd/CurdMixService.ts +97 -65
  538. package/src/service/curd/CurdMixUtils.ts +383 -248
  539. package/src/service/curd/CurdProService.ts +233 -379
  540. package/src/service/curd/fixCfgModel.ts +124 -0
  541. package/src/service/curd/fixSoftDelete.ts +58 -0
  542. package/src/service/flow/FlowConfigService.ts +104 -0
  543. package/src/service/flow/FlowInstanceCrudService.ts +271 -0
  544. package/src/service/flow/FlowInstanceService.ts +555 -0
  545. package/src/service/proxyapi/ProxyApiLoadService.ts +170 -173
  546. package/src/service/proxyapi/ProxyApiService.ts +301 -262
  547. package/src/service/proxyapi/ProxyApiUtils.ts +32 -32
  548. package/src/service/proxyapi/RouteHandler.ts +8 -8
  549. package/src/service/proxyapi/RouteTrie.ts +74 -74
  550. package/src/service/proxyapi/WeightedRandom.ts +37 -37
  551. package/src/service/proxyapi/WeightedRoundRobin.ts +44 -44
  552. package/src/views/404_app.html +108 -31
  553. package/src/views/404_workbench.html +107 -34
  554. package/tsconfig.json +32 -0
  555. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +0 -2
  556. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +0 -128
  557. package/dist/service/base/RedisCacheService.d.ts +0 -13
  558. package/dist/service/base/RedisCacheService.js +0 -50
  559. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  560. package/src/service/base/RedisCacheService.ts +0 -38
package/.eslintrc.json ADDED
@@ -0,0 +1,14 @@
1
+ {
2
+ "extends": "./node_modules/mwts/",
3
+ "ignorePatterns": ["node_modules", "dist", "test", "jest.config.js", "typings"],
4
+ "env": {
5
+ "jest": true
6
+ },
7
+ "rules": {
8
+ "max-len":"off",
9
+ "@typescript-eslint/no-unused-vars": "off",
10
+ "node/no-unpublished-import": "off",
11
+ "linebreak-style": "off",
12
+ "eol-last": "off"
13
+ }
14
+ }
package/.prettierrc.js ADDED
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ ...require('mwts/.prettierrc.json'),
3
+ printWidth: 500, // 与ESLint的max-len保持一致
4
+ }
package/README.md CHANGED
@@ -1 +1,407 @@
1
- #midway-fatcms
1
+ # Midway FatCMS
2
+
3
+ **企业级低代码/零代码开发平台**
4
+
5
+ 基于 Midway.js 框架的多租户 SaaS 低代码平台,提供 API 网关、CRUD-Pro 引擎、工作流、文档管理等企业级功能。
6
+
7
+ ## 项目简介
8
+
9
+ Midway FatCMS 是一个功能完整的企业级低代码开发平台,旨在通过配置化的方式快速构建企业应用系统。系统核心特性包括:
10
+
11
+ - **零代码 CRUD 开发**:通过配置自动生成 CRUD 接口
12
+ - **动态 API 管理**:支持 SQL 查询、沙箱脚本、自定义代码三种 API 类型
13
+ - **API 网关与代理**:反向代理、负载均衡、流量控制
14
+ - **多租户架构**:基于域名的租户隔离,支持 SaaS 部署
15
+ - **工作流引擎**:灵活的业务流程管理
16
+ - **文档管理系统**:支持文档库、版本控制、权限管理
17
+ - **文件服务**:OSS 对接、上传下载、预览管理
18
+
19
+ ## 核心功能
20
+
21
+ ### 1. CRUD-Pro 引擎
22
+
23
+ **智能 CRUD 生成引擎**,提供配置化的数据库操作能力:
24
+
25
+ - **标准化 CRUD**:基于表配置自动生成增删改查接口
26
+ - **复杂查询支持**:分页、排序、筛选、关联查询
27
+ - **字段级权限**:支持字段可见性、只读、必填等控制
28
+ - **数据验证**:内置 20+ 种验证器(邮箱、手机号、日期等)
29
+ - **关联关系**:自动处理一对一、一对多、多对多关系
30
+ - **软删除**:支持逻辑删除和物理删除
31
+ - **审计日志**:自动记录创建人、修改人、时间戳
32
+ - **多数据库支持**:MySQL、PostgreSQL、SQL Server
33
+
34
+ **应用场景**:
35
+ - 快速搭建后台管理系统
36
+ - 数据管理平台
37
+ - 报表查询系统
38
+ - 业务配置中心
39
+
40
+ ### 2. 动态 API 管理(Any API)
41
+
42
+ **三种 API 创建方式**,满足不同复杂度需求:
43
+
44
+ #### 2.1 SQL 查询 API
45
+ - 直接编写 SQL,自动转换为 REST API
46
+ - 支持参数化查询、防 SQL 注入
47
+ - 适用于复杂报表、数据分析
48
+
49
+ #### 2.2 沙箱脚本 API
50
+ - 使用 Node.js VM 沙箱执行自定义代码
51
+ - 提供安全的运行环境
52
+ - 内置工具库(axios、lodash、moment 等)
53
+ - 访问数据库、Redis、OSS 等资源
54
+
55
+ #### 2.3 自定义代码 API
56
+ - 完全自定义的业务逻辑
57
+ - 类似 Serverless Function
58
+ - 热更新,无需重启服务
59
+
60
+ **安全控制**:
61
+ - 权限验证(登录、角色、功能点)
62
+ - 限流控制(令牌桶算法)
63
+ - 服务降级开关
64
+ - 超时控制
65
+ - IP 黑白名单
66
+
67
+ **应用场景**:
68
+ - 快速开发业务接口
69
+ - 数据聚合 API
70
+ - 第三方集成
71
+ - 微服务编排
72
+
73
+ ### 3. API 网关与代理
74
+
75
+ **企业级 API 网关**,提供完整的代理转发能力:
76
+
77
+ #### 负载均衡策略
78
+ - 轮询(Round Robin)
79
+ - 加权轮询(Weighted Round Robin)
80
+ - 随机(Random)
81
+ - 加权随机(Weighted Random)
82
+ - IP Hash(同一 IP 固定路由)
83
+ - 用户 Hash(同一用户固定路由)
84
+ - 会话 Hash(同一会话固定路由)
85
+
86
+ #### 流量控制
87
+ - 请求限流
88
+ - 超时控制
89
+ - 重试机制
90
+ - 熔断降级
91
+
92
+ #### 安全特性
93
+ - 真实 IP 透传
94
+ - 用户上下文传递
95
+ - Host/Origin 修改
96
+ - 请求/响应头控制
97
+
98
+ **应用场景**:
99
+ - 微服务网关
100
+ - 灰度发布
101
+ - A/B 测试
102
+ - 流量分发
103
+ - 服务聚合
104
+
105
+ ### 4. 多租户架构
106
+
107
+ **工作台(Workbench)系统**,实现完整的多租户隔离:
108
+
109
+ #### 租户隔离机制
110
+ - **域名识别**:根据请求域名自动识别租户
111
+ - **数据隔离**:租户数据完全隔离
112
+ - **权限隔离**:用户、角色、权限独立管理
113
+ - **资源隔离**:文件、配置、应用独立
114
+
115
+ #### 灵活配置
116
+ - 支持主域名 + 2 个备用域名
117
+ - 通配符域名支持
118
+ - 租户模板机制
119
+ - 个性化配置
120
+
121
+ **应用场景**:
122
+ - SaaS 平台
123
+ - 多品牌运营
124
+ - 集团企业
125
+ - 白标产品
126
+
127
+ ### 5. 工作流引擎
128
+
129
+ **灵活的业务流程管理**:
130
+
131
+ - 流程定义与配置
132
+ - 流程实例管理
133
+ - 任务分配与审批
134
+ - 流程状态跟踪
135
+ - 流转记录查询
136
+
137
+ **应用场景**:
138
+ - 审批流程
139
+ - 业务流转
140
+ - 状态机管理
141
+
142
+ ### 6. 文档管理系统
143
+
144
+ **企业级文档管理**:
145
+
146
+ - **文档库管理**:支持多个文档库
147
+ - **目录结构**:树形目录组织
148
+ - **版本控制**:文档版本管理
149
+ - **访问统计**:PV/UV 统计(IP 去重)
150
+ - **权限控制**:文档级权限管理
151
+
152
+ **应用场景**:
153
+ - API 文档
154
+ - 产品文档
155
+ - 知识库
156
+ - 帮助中心
157
+
158
+ ### 7. 文件服务
159
+
160
+ **完整的文件管理能力**:
161
+
162
+ - **上传下载**:支持单文件、多文件上传
163
+ - **存储管理**:OSS 对接(公有桶、私有桶)
164
+ - **文件预览**:图片、PDF、Office 文档
165
+ - **访问控制**:临时链接、权限验证
166
+ - **分类管理**:文件分类、标签
167
+
168
+ ### 8. 系统管理
169
+
170
+ #### 用户权限管理
171
+ - 用户账号管理
172
+ - 角色管理
173
+ - 功能点管理
174
+ - 权限分配
175
+
176
+ #### 应用管理
177
+ - 应用列表
178
+ - 应用页面管理
179
+ - 菜单管理
180
+ - 低代码模板
181
+
182
+ #### 系统配置
183
+ - 数据字典
184
+ - 系统参数
185
+ - 枚举管理
186
+ - 定时任务
187
+
188
+ #### 监控运维
189
+ - 访问统计
190
+ - 操作日志
191
+ - 系统信息
192
+ - 部署管理
193
+
194
+ ## 技术架构
195
+
196
+ ### 技术栈
197
+
198
+ **后端框架**
199
+ - Midway.js 3.x(企业级 Node.js 框架)
200
+ - Koa(Web 框架)
201
+ - TypeScript(类型安全)
202
+
203
+ **数据存储**
204
+ - MySQL 2(主数据库)
205
+ - PostgreSQL 8(可选)
206
+ - SQL Server 11(可选)
207
+ - Redis(缓存、锁、会话)
208
+
209
+ **文件存储**
210
+ - 阿里云 OSS
211
+ - 兼容 S3 协议的对象存储
212
+
213
+ **工具库**
214
+ - Lodash(工具函数)
215
+ - Moment(日期处理)
216
+ - Axios(HTTP 客户端)
217
+ - EJS(模板引擎)
218
+ - Nodemailer(邮件发送)
219
+ - LRU Cache(内存缓存)
220
+
221
+ ### 核心中间件
222
+
223
+ #### 全局中间件
224
+ - **用户会话管理**:登录状态、权限信息
225
+ - **多租户隔离**:域名识别、数据隔离
226
+ - **事务管理**:自动事务控制
227
+ - **日志追踪**:请求级日志
228
+ - **响应格式化**:统一响应格式
229
+ - **调试信息注入**:开发环境调试
230
+ - **真实 IP 获取**:代理环境下获取真实 IP
231
+
232
+ #### 权限中间件
233
+ - **登录检查**(checkLogin)
234
+ - **角色检查**(checkRole)
235
+ - **权限检查**(checkPermission)
236
+
237
+ #### 安全中间件
238
+ - **黑名单拦截**(Forbidden):防止路径遍历、敏感文件访问
239
+ - **Redis 分布式锁**(RedisLock):防止并发冲突
240
+ - **Redis 缓存**(RedisCache):接口级缓存
241
+
242
+ #### 事务中间件
243
+ - **自动事务**(Transaction):开启、提交、回滚
244
+
245
+ ### 安全特性
246
+
247
+ #### 访问控制
248
+ - JWT Token 认证
249
+ - 会话管理
250
+ - 超级管理员机制
251
+ - 细粒度权限控制
252
+
253
+ #### 攻击防护
254
+ - SQL 注入防护
255
+ - XSS 防护
256
+ - CSRF Token
257
+ - 路径遍历防护
258
+ - User-Agent 黑名单(扫描工具检测)
259
+ - IP 限流
260
+
261
+ #### 数据安全
262
+ - AES-128-CBC 加密
263
+ - 非对称加密支持
264
+ - 敏感字段加密存储
265
+ - 密码加盐存储
266
+
267
+ ## 应用场景
268
+
269
+ ### 1. 企业后台系统
270
+ - 快速搭建管理后台
271
+ - 业务系统配置中心
272
+ - 内部工具平台
273
+
274
+ ### 2. SaaS 平台
275
+ - 多租户应用
276
+ - 白标产品
277
+ - 行业解决方案
278
+
279
+ ### 3. API 平台
280
+ - API 管理与网关
281
+ - 数据开放平台
282
+ - 微服务聚合
283
+
284
+ ### 4. 低代码平台
285
+ - 业务系统快速开发
286
+ - 表单驱动应用
287
+ - 数据分析平台
288
+
289
+ ### 5. 内容管理系统
290
+ - 文档管理
291
+ - 知识库
292
+ - 内容发布平台
293
+
294
+ ## 快速开始
295
+
296
+ ### 环境要求
297
+
298
+ - Node.js >= 10
299
+ - MySQL >= 5.7 / PostgreSQL >= 8 / SQL Server >= 11
300
+ - Redis >= 3.0
301
+
302
+ ### 安装依赖
303
+
304
+ ```bash
305
+ npm install
306
+ ```
307
+
308
+ ### 配置
309
+
310
+ 1. 配置数据库连接(`src/config/config.default.ts`)
311
+ 2. 配置 Redis 连接
312
+ 3. 配置 OSS(可选)
313
+ 4. 配置工作台信息
314
+
315
+ ### 数据库初始化
316
+
317
+ ```sql
318
+ -- 执行初始化 SQL
319
+ source ddl/2025-12-20.sql
320
+ ```
321
+
322
+ ### 启动服务
323
+
324
+ ```bash
325
+ # 开发模式
326
+ npm run dev
327
+
328
+ # 生产构建
329
+ npm run build
330
+
331
+ # 生产运行
332
+ npm start
333
+ ```
334
+
335
+ ### 代码检查
336
+
337
+ ```bash
338
+ # 检查代码规范
339
+ npm run lint
340
+
341
+ # 自动修复
342
+ npm run lint:fix
343
+ ```
344
+
345
+ ### 测试
346
+
347
+ ```bash
348
+ # 运行测试
349
+ npm test
350
+
351
+ # 测试覆盖率
352
+ npm run cov
353
+ ```
354
+
355
+ ## 工具接口
356
+
357
+ ### 加密工具
358
+
359
+ ```
360
+ http://127.0.0.1:7002/ns/api/helpers/cryptoAes128CBC?input=123
361
+ ```
362
+
363
+ ## 项目结构
364
+
365
+ ```
366
+ midway-fatcms/
367
+ ├── src/
368
+ │ ├── config/ # 配置文件
369
+ │ ├── controller/ # 控制器
370
+ │ │ ├── base/ # 基础控制器
371
+ │ │ ├── gateway/ # 网关接口
372
+ │ │ ├── manage/ # 管理接口
373
+ │ │ ├── myinfo/ # 个人信息
374
+ │ │ └── render/ # 渲染接口
375
+ │ ├── filter/ # 异常过滤器
376
+ │ ├── libs/ # 核心库
377
+ │ │ ├── crud-pro/ # CRUD-Pro 引擎
378
+ │ │ ├── global-config/ # 全局配置
379
+ │ │ └── utils/ # 工具函数
380
+ │ ├── middleware/ # 中间件
381
+ │ ├── models/ # 数据模型
382
+ │ ├── schedule/ # 定时任务
383
+ │ ├── service/ # 业务服务
384
+ │ │ ├── anyapi/ # 动态 API
385
+ │ │ ├── asyncTask/ # 异步任务
386
+ │ │ ├── base/ # 基础服务
387
+ │ │ ├── crudstd/ # CRUD 标准
388
+ │ │ ├── curd/ # CRUD 服务
389
+ │ │ ├── flow/ # 工作流
390
+ │ │ └── proxyapi/ # 代理 API
391
+ │ └── views/ # 视图模板
392
+ ├── ddl/ # 数据库脚本
393
+ ├── scripts/ # 脚本工具
394
+ └── package.json # 项目配置
395
+ ```
396
+
397
+ ## 版本
398
+
399
+ 当前版本:`0.0.1-beta.82`
400
+
401
+ ## 许可证
402
+
403
+ MIT License
404
+
405
+ ## 作者
406
+
407
+ 企业级低代码开发团队
@@ -1,3 +1,3 @@
1
- import { MidwayConfig } from '@midwayjs/core';
2
- declare const _default: (appInfo: any) => MidwayConfig;
3
- export default _default;
1
+ import { MidwayConfig } from '@midwayjs/core';
2
+ declare const _default: (appInfo: any) => MidwayConfig;
3
+ export default _default;