midway-fatcms 0.0.1-beta.4 → 0.0.1-beta.41

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 (336) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc.js +4 -0
  3. package/README.md +7 -0
  4. package/dist/config/config.default.js +58 -15
  5. package/dist/config/seed/aeskey.txt +1 -1
  6. package/dist/configuration.d.ts +1 -0
  7. package/dist/configuration.js +33 -9
  8. package/dist/controller/base/BaseApiController.d.ts +7 -1
  9. package/dist/controller/base/BaseApiController.js +32 -6
  10. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
  11. package/dist/controller/gateway/AsyncTaskController.js +181 -0
  12. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +3 -3
  13. package/dist/controller/gateway/CrudMtdGatewayController.js +9 -6
  14. package/dist/controller/gateway/DocGatewayController.js +14 -9
  15. package/dist/controller/gateway/FileController.d.ts +3 -2
  16. package/dist/controller/gateway/PublicApiController.js +4 -6
  17. package/dist/controller/gateway/StaticController.d.ts +0 -1
  18. package/dist/controller/gateway/StaticController.js +40 -39
  19. package/dist/controller/helpers.controller.d.ts +1 -1
  20. package/dist/controller/home.controller.js +4 -3
  21. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  22. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  23. package/dist/controller/manage/AppMangeApi.js +2 -2
  24. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  25. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  26. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  27. package/dist/controller/manage/CrudStandardDesignApi.d.ts +1 -1
  28. package/dist/controller/manage/CrudStandardDesignApi.js +86 -83
  29. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  30. package/dist/controller/manage/DataDictManageApi.js +1 -1
  31. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  32. package/dist/controller/manage/DeployManageApi.js +38 -34
  33. package/dist/controller/manage/DocLibManageApi.js +2 -2
  34. package/dist/controller/manage/DocManageApi.js +2 -2
  35. package/dist/controller/manage/FileManageApi.js +1 -1
  36. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  37. package/dist/controller/manage/MenuManageApi.js +2 -2
  38. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  39. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  40. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  41. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  42. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  43. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  44. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  45. package/dist/controller/manage/UserAccountManageApi.d.ts +2 -2
  46. package/dist/controller/manage/UserAccountManageApi.js +7 -2
  47. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  48. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  49. package/dist/controller/myinfo/AuthController.js +1 -54
  50. package/dist/controller/render/AppRenderController.js +12 -5
  51. package/dist/controller/test.controller.d.ts +1 -1
  52. package/dist/controller/test.controller.js +5 -5
  53. package/dist/index.d.ts +35 -4
  54. package/dist/index.js +35 -4
  55. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  56. package/dist/libs/crud-pro/CrudPro.js +5 -0
  57. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  58. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  59. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
  60. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  61. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  62. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  63. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  64. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  65. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  66. package/dist/libs/crud-pro/models/Transaction.d.ts +1 -0
  67. package/dist/libs/crud-pro/models/Transaction.js +7 -0
  68. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  69. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  70. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  71. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  72. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  73. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  74. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  75. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  76. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  77. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  78. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  79. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  80. package/dist/libs/crud-pro/sql.txt +120 -120
  81. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  82. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  83. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  84. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  85. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  86. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  87. package/dist/libs/global-config/global-config.d.ts +45 -0
  88. package/dist/libs/global-config/global-config.js +33 -0
  89. package/dist/libs/utils/base64.d.ts +9 -0
  90. package/dist/libs/utils/base64.js +42 -0
  91. package/dist/libs/utils/errorToString.d.ts +2 -0
  92. package/dist/libs/utils/errorToString.js +57 -0
  93. package/dist/libs/utils/fatcms-request.js +2 -2
  94. package/dist/libs/utils/functions.d.ts +2 -1
  95. package/dist/libs/utils/functions.js +6 -1
  96. package/dist/middleware/forbidden.middleware.js +4 -20
  97. package/dist/middleware/global.middleware.js +30 -10
  98. package/dist/middleware/permission.middleware.js +1 -1
  99. package/dist/models/AsyncTaskModel.d.ts +74 -0
  100. package/dist/models/AsyncTaskModel.js +31 -0
  101. package/dist/models/RedisKeys.d.ts +14 -0
  102. package/dist/models/RedisKeys.js +17 -0
  103. package/dist/models/SystemEntities.d.ts +8 -1
  104. package/dist/models/SystemEntities.js +7 -0
  105. package/dist/models/SystemTables.d.ts +1 -3
  106. package/dist/models/SystemTables.js +2 -4
  107. package/dist/models/bizmodels.d.ts +28 -0
  108. package/dist/models/bizmodels.js +6 -1
  109. package/dist/schedule/anonymousContext.d.ts +14 -0
  110. package/dist/schedule/anonymousContext.js +59 -0
  111. package/dist/schedule/index.d.ts +4 -3
  112. package/dist/schedule/index.js +8 -67
  113. package/dist/schedule/runSchedule.d.ts +12 -0
  114. package/dist/schedule/runSchedule.js +68 -0
  115. package/dist/schedule/scheduleNames.d.ts +13 -0
  116. package/dist/schedule/scheduleNames.js +17 -0
  117. package/dist/service/AuthService.js +8 -5
  118. package/dist/service/EnumInfoService.js +9 -5
  119. package/dist/service/FileCenterService.js +13 -9
  120. package/dist/service/SysConfigService.d.ts +1 -1
  121. package/dist/service/SysConfigService.js +4 -2
  122. package/dist/service/UserAccountService.js +10 -6
  123. package/dist/service/UserSessionService.d.ts +21 -0
  124. package/dist/service/UserSessionService.js +73 -2
  125. package/dist/service/VisitStatService.d.ts +1 -1
  126. package/dist/service/VisitStatService.js +20 -27
  127. package/dist/service/WorkbenchService.d.ts +33 -0
  128. package/dist/service/WorkbenchService.js +70 -12
  129. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  130. package/dist/service/anyapi/AnyApiService.js +4 -2
  131. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  132. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  133. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  134. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  135. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  136. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  137. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  138. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  139. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  140. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  141. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  142. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  143. package/dist/service/base/BaseService.d.ts +12 -0
  144. package/dist/service/base/BaseService.js +22 -0
  145. package/dist/service/base/RedisCacheService.d.ts +7 -0
  146. package/dist/service/base/RedisCacheService.js +7 -0
  147. package/dist/service/crudstd/CrudStdService.d.ts +8 -1
  148. package/dist/service/crudstd/CrudStdService.js +63 -6
  149. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  150. package/dist/service/curd/CrudProQuick.js +147 -0
  151. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  152. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  153. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  154. package/dist/service/curd/CurdMixByDictService.js +10 -7
  155. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  156. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  157. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  158. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  159. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  160. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  161. package/dist/service/curd/CurdMixService.d.ts +13 -3
  162. package/dist/service/curd/CurdMixService.js +26 -2
  163. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  164. package/dist/service/curd/CurdMixUtils.js +115 -41
  165. package/dist/service/curd/CurdProService.d.ts +3 -10
  166. package/dist/service/curd/CurdProService.js +36 -148
  167. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  168. package/dist/service/curd/fixCfgModel.js +107 -0
  169. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  170. package/dist/service/proxyapi/ProxyApiService.d.ts +1 -0
  171. package/dist/service/proxyapi/ProxyApiService.js +43 -9
  172. package/dist/views/404_app.html +31 -31
  173. package/dist/views/404_workbench.html +34 -34
  174. package/package.json +28 -24
  175. package/tsconfig.json +32 -0
  176. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  177. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  178. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  179. package/dist/controller/medstatistic/MedClientController.js +0 -188
  180. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  181. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  182. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  183. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  184. package/dist/controller/medstatistic/constants.d.ts +0 -32
  185. package/dist/controller/medstatistic/constants.js +0 -43
  186. package/src/config/config.default.ts +0 -172
  187. package/src/config/seed/aeskey.txt +0 -1
  188. package/src/config/utils.ts +0 -23
  189. package/src/configuration.ts +0 -83
  190. package/src/controller/base/BaseApiController.ts +0 -145
  191. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  192. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  193. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  194. package/src/controller/gateway/DocGatewayController.ts +0 -165
  195. package/src/controller/gateway/FileController.ts +0 -110
  196. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  197. package/src/controller/gateway/PublicApiController.ts +0 -145
  198. package/src/controller/gateway/StaticController.ts +0 -328
  199. package/src/controller/helpers.controller.ts +0 -161
  200. package/src/controller/home.controller.ts +0 -71
  201. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  202. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  203. package/src/controller/manage/AppMangeApi.ts +0 -53
  204. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  205. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  206. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  207. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  208. package/src/controller/manage/DataDictManageApi.ts +0 -78
  209. package/src/controller/manage/DeployManageApi.ts +0 -179
  210. package/src/controller/manage/DocLibManageApi.ts +0 -69
  211. package/src/controller/manage/DocManageApi.ts +0 -99
  212. package/src/controller/manage/FileManageApi.ts +0 -45
  213. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  214. package/src/controller/manage/MenuManageApi.ts +0 -63
  215. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  216. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  217. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  218. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  219. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  220. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  221. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  222. package/src/controller/medstatistic/MedClientController.ts +0 -188
  223. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  224. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  225. package/src/controller/medstatistic/constants.ts +0 -63
  226. package/src/controller/myinfo/AuthController.ts +0 -174
  227. package/src/controller/myinfo/MyInfoController.ts +0 -32
  228. package/src/controller/render/AppRenderController.ts +0 -76
  229. package/src/controller/test.controller.ts +0 -37
  230. package/src/filter/default.filter.ts +0 -13
  231. package/src/filter/notfound.filter.ts +0 -10
  232. package/src/index.ts +0 -71
  233. package/src/interface.ts +0 -31
  234. package/src/libs/crud-pro/CrudPro.ts +0 -158
  235. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  236. package/src/libs/crud-pro/exceptions.ts +0 -124
  237. package/src/libs/crud-pro/interfaces.ts +0 -183
  238. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  239. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  240. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  241. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  242. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  243. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  244. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  245. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  246. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  247. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  248. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  249. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  250. package/src/libs/crud-pro/models/keys.ts +0 -159
  251. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  252. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  253. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  254. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  255. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  256. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  257. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  258. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  259. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  260. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  261. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  262. package/src/libs/crud-pro/sql.txt +0 -120
  263. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  264. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  265. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  266. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  267. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  268. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  269. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  270. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  271. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  272. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  273. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  274. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  275. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  276. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  277. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  278. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  279. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  280. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  281. package/src/libs/utils/common-dto.ts +0 -52
  282. package/src/libs/utils/crypto-utils.ts +0 -52
  283. package/src/libs/utils/fatcms-request.ts +0 -115
  284. package/src/libs/utils/functions.ts +0 -67
  285. package/src/libs/utils/ordernum-utils.ts +0 -18
  286. package/src/libs/utils/parseConfig.ts +0 -62
  287. package/src/libs/utils/parseCreateSql.ts +0 -91
  288. package/src/libs/utils/render-utils.ts +0 -184
  289. package/src/middleware/forbidden.middleware.ts +0 -71
  290. package/src/middleware/global.middleware.ts +0 -278
  291. package/src/middleware/permission.middleware.ts +0 -81
  292. package/src/middleware/tx.middleware.ts +0 -30
  293. package/src/models/SystemEntities.ts +0 -115
  294. package/src/models/SystemPerm.ts +0 -105
  295. package/src/models/SystemTables.ts +0 -30
  296. package/src/models/bizmodels.ts +0 -89
  297. package/src/models/contextLogger.ts +0 -132
  298. package/src/models/devops.ts +0 -17
  299. package/src/models/userSession.ts +0 -216
  300. package/src/schedule/index.ts +0 -73
  301. package/src/service/AuthService.ts +0 -270
  302. package/src/service/EnumInfoService.ts +0 -129
  303. package/src/service/FileCenterService.ts +0 -394
  304. package/src/service/SysConfigService.ts +0 -34
  305. package/src/service/UserAccountService.ts +0 -100
  306. package/src/service/UserSessionService.ts +0 -81
  307. package/src/service/VisitStatService.ts +0 -179
  308. package/src/service/WorkbenchService.ts +0 -160
  309. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  310. package/src/service/anyapi/AnyApiService.ts +0 -184
  311. package/src/service/base/ApiBaseService.ts +0 -42
  312. package/src/service/base/ApiRateLimiter.ts +0 -59
  313. package/src/service/base/BaseService.ts +0 -74
  314. package/src/service/base/RedisCacheService.ts +0 -38
  315. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  316. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  317. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  318. package/src/service/crudstd/CrudStdService.ts +0 -188
  319. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  320. package/src/service/curd/CurdMixByDictService.ts +0 -113
  321. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  322. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  323. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  324. package/src/service/curd/CurdMixService.ts +0 -65
  325. package/src/service/curd/CurdMixUtils.ts +0 -248
  326. package/src/service/curd/CurdProService.ts +0 -379
  327. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  328. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  329. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  330. package/src/service/proxyapi/RouteHandler.ts +0 -8
  331. package/src/service/proxyapi/RouteTrie.ts +0 -74
  332. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  333. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  334. package/src/views/404_app.html +0 -31
  335. package/src/views/404_workbench.html +0 -34
  336. package/src/views/static/favicon.ico +0 -0
@@ -1,278 +0,0 @@
1
- import { Middleware, IMiddleware } from '@midwayjs/core';
2
- import { NextFunction, Context } from '@midwayjs/koa';
3
- import * as _ from 'lodash';
4
- import { Transaction } from '../libs/crud-pro/models/Transaction';
5
- import { UserSessionService } from '../service/UserSessionService';
6
- import { WorkbenchService } from '../service/WorkbenchService';
7
- import { ISessionInfo, UserSessionInfo } from '../models/userSession';
8
- import { ICommonResult, CommonResult } from '../libs/utils/common-dto';
9
- import {isEnableDebug, isEnableSuperAdmin} from '../libs/utils/fatcms-request';
10
- import { ContextLogger } from '../models/contextLogger';
11
- import { Stream } from 'node:stream';
12
- import {VisitStatService} from "../service/VisitStatService";
13
-
14
- function isFunction(fun: any): boolean {
15
- return typeof fun === 'function';
16
- }
17
-
18
- function isObject(obj: any): boolean {
19
- return obj && typeof obj === 'object';
20
- }
21
-
22
- function isArrayBuffer(obj): boolean {
23
- if (!obj) {
24
- return false;
25
- }
26
- return obj instanceof ArrayBuffer || Object.prototype.toString.call(obj) === '[object ArrayBuffer]';
27
- }
28
-
29
- function isBlob(obj) {
30
- return obj?.constructor?.name === 'Blob';
31
- }
32
-
33
- function isStream(obj) {
34
- return obj && obj instanceof Stream;
35
- }
36
-
37
- /**
38
- * 专门对ExecuteSqlContext对象进行处理
39
- * @param res
40
- */
41
- function handleExecuteSqlContext(res: any): ICommonResult {
42
- // ExecuteSqlContext
43
- if (res && isFunction(res.getResMessage) && isFunction(res.getResModel)) {
44
- const message = res.getResMessage();
45
- return { success: true, message: message, data: res.getResModel() };
46
- }
47
- return res;
48
- }
49
-
50
- /**
51
- * 处理空数据
52
- * @param res
53
- */
54
- function handleNullRes(res: any): ICommonResult {
55
- if (res === null || typeof res === 'undefined') {
56
- return { success: false, message: '接口没有返回任何数据', data: null };
57
- }
58
- return res;
59
- }
60
-
61
- /**
62
- * 处理普通数组数据
63
- * @param res
64
- */
65
- function handleArrayRes(res: any): ICommonResult {
66
- if (Array.isArray(res) && res.length) {
67
- return { success: true, data: res };
68
- }
69
- return res;
70
- }
71
-
72
- function addDebugInfoFromContext(debugInfo: any, ctx: Context): void {
73
- const userSession: UserSessionInfo = ctx.userSession;
74
- const contextLogger: ContextLogger = ctx.contextLogger;
75
- if (isObject(userSession)) {
76
- const sessionInfo = userSession.getSessionInfo();
77
- _.set(debugInfo, 'sessionInfo', sessionInfo);
78
- }
79
- if (isObject(contextLogger)) {
80
- _.set(debugInfo, 'logList', contextLogger.getLogList());
81
- }
82
- }
83
-
84
- /**
85
- * 处理调试信息
86
- * @param beforeRes 上一个输出
87
- * @param ctx
88
- * @param originRes 最原始的输出
89
- */
90
- function handleDebugRes(beforeRes: any, ctx: Context, originRes: any): ICommonResult {
91
- const isDebug = isEnableDebug(ctx);
92
-
93
- if (!isDebug) {
94
- // 没有开启debug模式
95
- if (beforeRes && beforeRes.debugInfo) {
96
- delete beforeRes.debugInfo;
97
- }
98
- return beforeRes;
99
- }
100
-
101
- // 开启了debug模式
102
- const debugInfo = {};
103
-
104
- addDebugInfoFromContext(debugInfo, ctx);
105
-
106
- //debugInfo3. 响应中本身就有debugInfo
107
- if (isObject(originRes)) {
108
- if (typeof originRes.debugInfo === 'string') {
109
- _.set(debugInfo, 'debugInfo', originRes.debugInfo);
110
- }
111
- if (isObject(beforeRes.debugInfo)) {
112
- Object.assign(debugInfo, originRes.debugInfo);
113
- }
114
-
115
- if (isFunction(originRes.getReqModel)) {
116
- _.set(debugInfo, 'reqMode', originRes.getReqModel());
117
- }
118
- if (isObject(originRes.cfgModel)) {
119
- _.set(debugInfo, 'cfgMode', originRes.cfgModel);
120
- }
121
- }
122
-
123
- // debugInfo处理完毕
124
- const nextRes: any = {};
125
- if (isObject(beforeRes)) {
126
- Object.assign(nextRes, beforeRes);
127
- }
128
- nextRes.debugInfo = debugInfo;
129
- return nextRes as ICommonResult;
130
- }
131
-
132
- async function getUserSessionService(ctx: Context): Promise<UserSessionService> {
133
- return ctx.requestContext.getAsync(UserSessionService);
134
- }
135
-
136
- async function getWorkbenchService(ctx: Context): Promise<WorkbenchService> {
137
- return ctx.requestContext.getAsync(WorkbenchService);
138
- }
139
-
140
- async function getVisitStatService(ctx: Context): Promise<VisitStatService> {
141
- return ctx.requestContext.getAsync(VisitStatService);
142
- }
143
-
144
-
145
-
146
- /**
147
- * 检查是否是超级管理员
148
- * @param ctx
149
- * @param sessionInfo
150
- */
151
- function checkIsSuperAdmin(ctx: Context, sessionInfo: ISessionInfo): boolean {
152
- if (!sessionInfo || !sessionInfo.loginName) {
153
- return false;
154
- }
155
-
156
- if (!isEnableSuperAdmin(ctx)) {
157
- return false;
158
- }
159
-
160
- const currentLoginName = sessionInfo.loginName;
161
- const superAdminList = ctx.app.getConfig('superAdminList');
162
-
163
- if (Array.isArray(superAdminList)) {
164
- for (let i = 0; i < superAdminList.length; i++) {
165
- const element = superAdminList[i];
166
- const login_name = _.get(element, 'login_name');
167
- if (login_name && login_name === currentLoginName) {
168
- return true;
169
- }
170
- }
171
- }
172
- return false;
173
- }
174
-
175
- function handleDebugError(e: any, ctx: Context): ICommonResult {
176
- ctx.logger.error('GlobalMiddleware', e);
177
-
178
- let errorStack = null;
179
- let errorCode = null;
180
- let errorMessage = '' + e;
181
-
182
- if (isObject(e)) {
183
- if (e.message) {
184
- errorMessage = e.message;
185
- }
186
- if (e.code) {
187
- errorCode = e.code;
188
- }
189
- errorStack = e.stack;
190
- }
191
-
192
- const res = CommonResult.errorRes(errorMessage, errorCode);
193
- if (isEnableDebug(ctx)) {
194
- const debugInfo = { errorStack };
195
- addDebugInfoFromContext(debugInfo, ctx);
196
- res.debugInfo = debugInfo;
197
- }
198
-
199
- return res;
200
- }
201
-
202
-
203
- async function trackRequest(ctx: Context) {
204
- try {
205
- const visitStatService = await getVisitStatService(ctx);
206
- await visitStatService.trackRequest(ctx.path, 'path');
207
- } catch (e) {
208
- console.error('trackRequestError', e);
209
- }
210
- }
211
-
212
- /**
213
- * 全局中间件
214
- */
215
- @Middleware()
216
- export class GlobalMiddleware implements IMiddleware<Context, NextFunction> {
217
-
218
- match(ctx: Context): boolean {
219
- const path: string = ctx.path;
220
- return !(path.startsWith('/ns/static/'));
221
- }
222
-
223
- resolve() {
224
- return async (ctx: Context, next: NextFunction) => {
225
- ctx.contextLogger = new ContextLogger(ctx);
226
- ctx.transaction = new Transaction();
227
-
228
- try {
229
-
230
- // 支持的站点
231
- const workbenchService = await getWorkbenchService(ctx);
232
- const isSupportTheHost = await workbenchService.isSupportCurrentHostForForMiddleware();
233
- if (isSupportTheHost !== true) {
234
- return isSupportTheHost;
235
- }
236
-
237
- const sessionService = await getUserSessionService(ctx);
238
- const sessionInfo = await sessionService.getCurrentUserSessionForMiddleware();
239
- const isSuperAdmin = checkIsSuperAdmin(ctx, sessionInfo);
240
-
241
- ctx.userSession = new UserSessionInfo(sessionInfo, isSuperAdmin);
242
- ctx.workbenchInfo = await workbenchService.getCurrentHostWorkbenchInfo();
243
-
244
- // 数据埋点
245
- await trackRequest(ctx)
246
-
247
- const res0 = await next();
248
-
249
- // 基本数据类型:需要搞成字符串
250
- if (['bigint', 'symbol'].includes(typeof res0)) {
251
- return res0.toString();
252
- }
253
-
254
- // 基本数据类型: 交给KOA处理的
255
- if (!res0 || ['string', 'number', 'boolean'].includes(typeof res0) || Buffer.isBuffer(res0) || isArrayBuffer(res0) || isStream(res0) || isBlob(res0)) {
256
- return res0;
257
- }
258
-
259
-
260
- // 其他:普通的JSON数据
261
- let res = handleExecuteSqlContext(res0);
262
- res = handleNullRes(res);
263
- res = handleArrayRes(res);
264
- res = handleDebugRes(res, ctx, res0);
265
-
266
- return res;
267
- } catch (e) {
268
- return handleDebugError(e, ctx);
269
- } finally {
270
- await ctx.transaction.releaseTx();
271
- }
272
- };
273
- }
274
-
275
- static getName(): string {
276
- return 'GlobalMiddleware';
277
- }
278
- }
@@ -1,81 +0,0 @@
1
- import { NextFunction, Context } from '@midwayjs/koa';
2
- import { Exceptions } from '../libs/crud-pro/exceptions';
3
-
4
- function checkPermission(codeList: string | string[]) {
5
- return async (ctx: Context, next: NextFunction) => {
6
- const userSession = ctx.userSession;
7
-
8
- // 只有登录用户才会有功能点权限,所以必须登录
9
- if (!userSession.isLogin()) {
10
- return {
11
- success: false,
12
- message: '用户未登录, 请先登录',
13
- code: Exceptions.NOT_LOGIN,
14
- };
15
- }
16
-
17
- // 查询当前用户是否用此功能点的权限
18
- const hasPermission = userSession.hasAnyPermission(codeList);
19
- if (!hasPermission) {
20
-
21
- let message: string;
22
- const loginName = userSession.getSessionInfo().loginName;
23
- if (loginName === 'devopsviewer') {
24
- message= "开放体验账号不支持这些操作:新增、修改、删除、上传";
25
- } else {
26
- message = '缺少权限: ' + JSON.stringify(codeList);
27
- }
28
-
29
- return {
30
- success: false,
31
- message: message,
32
- code: Exceptions.NO_AUTH,
33
- };
34
- }
35
-
36
- await next();
37
- };
38
- }
39
-
40
- function checkRole(codeList: string | string[]) {
41
- return async (ctx: Context, next: NextFunction) => {
42
- const userSession = ctx.userSession;
43
-
44
- // 只有登录用户才会有功能点权限,所以必须登录
45
- if (!userSession.isLogin()) {
46
- return {
47
- success: false,
48
- message: '用户未登录, 请先登录',
49
- code: Exceptions.NOT_LOGIN,
50
- };
51
- }
52
-
53
- // 查询当前用户是否用此功能点的权限
54
- const hasRole = userSession.hasAnyRole(codeList);
55
- if (!hasRole) {
56
- return {
57
- success: false,
58
- message: '缺少角色权限: ' + JSON.stringify(codeList),
59
- code: Exceptions.NO_AUTH,
60
- };
61
- }
62
-
63
- await next();
64
- };
65
- }
66
-
67
- function checkLogin() {
68
- return async (ctx: Context, next: NextFunction) => {
69
- const userSession = ctx.userSession;
70
- if (!userSession.isLogin()) {
71
- return {
72
- success: false,
73
- message: '用户未登录, 请先登录',
74
- code: Exceptions.NOT_LOGIN,
75
- };
76
- }
77
- await next();
78
- };
79
- }
80
-
81
- export { checkPermission, checkLogin, checkRole };
@@ -1,30 +0,0 @@
1
- import { Middleware, IMiddleware } from '@midwayjs/core';
2
- import { NextFunction, Context } from '@midwayjs/koa';
3
-
4
- /**
5
- * 事务中间件
6
- */
7
- @Middleware()
8
- export class TxMiddleware implements IMiddleware<Context, NextFunction> {
9
- resolve() {
10
- return async (ctx: Context, next: NextFunction) => {
11
- const transaction = ctx.transaction;
12
-
13
- try {
14
- await transaction.beginTx();
15
- const res = await next();
16
- await transaction.commitTx();
17
- return res;
18
- } catch (e) {
19
- ctx.contextLogger.error('ReportMiddleware', e);
20
- await transaction.rollbackTx();
21
- } finally {
22
- await transaction.releaseTx();
23
- }
24
- };
25
- }
26
-
27
- static getName(): string {
28
- return 'TxMiddleware';
29
- }
30
- }
@@ -1,115 +0,0 @@
1
- export interface IApiBaseEntity {
2
- id: number;
3
-
4
- // 权限控制
5
- auth_type: string;
6
- auth_config: string;
7
-
8
- //服务降级
9
- fallback_enable: number;
10
- fallback_message: string;
11
-
12
- //限流令牌桶
13
- limit_enabled: number;
14
- limit_max: number;
15
- limit_rate: number;
16
-
17
- // 接口缓存 TODO
18
- cache_enable: number;
19
- cache_keys: string;
20
- cache_keepms: number;
21
- }
22
-
23
- export interface IReqParamsConfigs {
24
- name: string;
25
- fromType: string; // queries, body, headers
26
- fromKey: string; //
27
- valueType?: string; // boolean, string, number, array, JSONObject
28
- defaultValue?: string; // 默认
29
- desc?: string; // 描述
30
-
31
- validate_cfg_list?: string[]; // 校验配置 下面所有的合并起来的
32
- validate_required?: boolean; // 校验配置
33
- validate_type?: string; // 校验配置
34
- validate_length?: string; // 校验配置
35
- validate_scale?: string; // 校验配置
36
- validate_regexp?: string; // 校验配置
37
- validate_enum?: string; // 校验配置
38
- }
39
-
40
- export interface ISysAnyApiEntityParsedOthers {
41
- req_params: IReqParamsConfigs[]; // 请求参数配置
42
- }
43
- export interface ISysAnyApiEntity extends IApiBaseEntity {
44
- method: string;
45
- method_name: string;
46
- method_desc: string;
47
- method_group: string;
48
- method_cate: string;
49
- timeout_ms: number;
50
- distribute_lock: number;
51
- res_type?: string;
52
- req_method: string;
53
- req_params: number; // 参数个数
54
- filter?: string;
55
- enable_log: number;
56
- func_code?: string;
57
- func_code_md5?: string;
58
- others?: string;
59
- parsedOthers?: ISysAnyApiEntityParsedOthers; // 由others解析而来
60
- created_by?: string;
61
- created_at: Date;
62
- modified_at: Date;
63
- modified_by?: string;
64
- status: number;
65
- workbench_code_array: string;
66
- }
67
-
68
- export interface IUpstreamItem {
69
- origin: string;
70
- weight: number;
71
- }
72
-
73
- export interface IUpstreamInfo {
74
- targetList: IUpstreamItem[];
75
- balanceStrategy: string;
76
- }
77
-
78
- export interface IProxyApiEntity extends IApiBaseEntity {
79
- path_prefix: string; // DONE
80
- upstream_code: string; // DONE
81
- timeout_ms: number; // DONE
82
- status: number; // DONE
83
- workbench_code_array: string; // DONE
84
-
85
- user_context: number; // DONE
86
- pass_real_ip: number; // DONE
87
- change_origin: string; // DONE
88
- change_host: string; // DONE
89
-
90
- balanceStrategy: string; // 负载均衡策略
91
- targetList: IUpstreamItem[]; // 运行时根据upstream_code计算的
92
- targetIndex: number; // 运行时根据upstream_code计算的
93
- weightedRandom: any; // 负载均衡算法:WeightedRandom
94
- weightedRoundRobin: any; // 负载均衡算法:WeightedRoundRobin
95
- }
96
-
97
- export interface IWorkbenchEntity {
98
- id: number;
99
- workbench_code: string;
100
- workbench_name: string;
101
- workbench_domain?: string;
102
- workbench_domain2?: string;
103
- workbench_domain3?: string;
104
- workbench_desc?: string;
105
- html_content: string;
106
- created_by?: string;
107
- modified_by?: string;
108
- created_at?: number;
109
- modified_at?: number;
110
- status: number;
111
- config_type?: string;
112
- config_content?: string;
113
- workbench_type: number;
114
- package_assets?: string;
115
- }
@@ -1,105 +0,0 @@
1
-
2
- /**
3
- * 系统内置功能点
4
- */
5
- export enum SystemFuncCode {
6
- FileMangeRead = 'FileMangeRead',
7
- FileMangeWrite = 'FileMangeWrite',
8
- DocMangeRead = 'DocMangeRead',
9
- DocMangeWrite = 'DocMangeWrite',
10
- DataDictMangeRead = 'DataDictMangeRead',
11
- DataDictMangeWrite = 'DataDictMangeWrite',
12
- AppMangeRead = 'AppMangeRead',
13
- AppMangeWrite = 'AppMangeWrite',
14
-
15
- AppPageMangeRead = 'AppPageMangeRead',
16
- AppPageMangeWrite = 'AppPageMangeWrite',
17
- SysConfigMangeRead = 'SysConfigMangeRead',
18
- SysConfigMangeWrite = 'SysConfigMangeWrite',
19
- CrudStandardDesignRead = 'CrudStandardDesignRead',
20
- CrudStandardDesignWrite = 'CrudStandardDesignWrite',
21
- AnyApiManageRead = 'AnyApiManageRead',
22
- AnyApiManageWrite = 'AnyApiManageWrite',
23
- CrudMethodApiRead = 'CrudMethodApiRead',
24
- CrudMethodApiWrite = 'CrudMethodApiWrite',
25
- WorkbenchMangeRead = 'WorkbenchMangeRead',
26
- WorkbenchMangeWrite = 'WorkbenchMangeWrite',
27
- ProxyApiManageRead = 'ProxyApiManageRead',
28
- ProxyApiManageWrite = 'ProxyApiManageWrite',
29
- SystemInfoManageApiRead = 'SystemInfoManageApiRead',
30
- SystemInfoManageApiWrite = 'SystemInfoManageApiWrite',
31
-
32
- UserAccountMangeRead = 'UserAccountMangeRead', // account
33
- UserAccountMangeWrite = 'UserAccountMangeWrite',
34
- RoleManageRead = 'RoleManageRead', // role
35
- RoleManageWrite = 'RoleManageWrite',
36
- FuncManageRead = 'FuncManageRead', // func
37
- FuncManageWrite = 'FuncManageWrite',
38
- RoleFuncManageRead = 'RoleFuncManageRead', //role-func
39
- RoleFuncManageWrite = 'RoleFuncManageWrite',
40
- AccountRoleManageRead = 'AccountRoleManageRead', // account-role
41
- AccountRoleManageWrite = 'AccountRoleManageWrite',
42
-
43
- MenuMangeRead = 'MenuMangeRead',
44
- MenuMangeWrite = 'MenuMangeWrite',
45
- }
46
-
47
- export const SystemFuncCodeNameMap = {
48
- FileMangeRead: '【devops】文件管理_查看',
49
- DocMangeRead: '【devops】文章管理_查看',
50
- DataDictMangeRead: '【devops】数据字典_查看',
51
- UserAccountMangeRead: '【devops】用户账号管理_查看',
52
- AppMangeRead: '【devops】应用管理_查看',
53
- AppPageMangeRead: '【devops】页面路由管理_查看',
54
- SysConfigMangeRead: '【devops】系统配置_查看',
55
- CrudStandardDesignRead: '【devops】CRUD简单页面搭建_查看',
56
- AnyApiManageRead: '【devops】FaaS接口搭建管理_查看',
57
- CrudMethodApiRead: '【devops】CRUD简单接口搭建_查看',
58
- ProxyApiManageRead: '【devops】接口网关配置_查看',
59
- WorkbenchMangeRead: '【devops】工作台配置_查看',
60
- SystemInfoManageApiRead: '【devops】系统信息查看_查看',
61
-
62
- FileMangeWrite: '【devops】文件管理_编辑',
63
- DocMangeWrite: '【devops】文章管理_编辑',
64
- DataDictMangeWrite: '【devops】数据字典_编辑',
65
- UserAccountMangeWrite: '【devops】用户账号管理_编辑',
66
- AppMangeWrite: '【devops】应用管理_编辑',
67
- AppPageMangeWrite: '【devops】页面路由管理_编辑',
68
- SysConfigMangeWrite: '【devops】系统配置_编辑',
69
- CrudStandardDesignWrite: '【devops】CRUD简单页面搭建_编辑',
70
- AnyApiManageWrite: '【devops】FaaS接口搭建管理_编辑',
71
- CrudMethodApiWrite: '【devops】CRUD简单接口搭建_编辑',
72
- ProxyApiManageWrite: '【devops】接口网关配置_编辑',
73
- WorkbenchMangeWrite: '【devops】工作台配置_编辑',
74
- SystemInfoManageApiWrite: '【devops】系统信息_编辑',
75
-
76
- RoleManageRead : '【devops】角色管理_查看', // role
77
- RoleManageWrite : '【devops】角色管理_编辑',
78
- FuncManageRead : '【devops】功能点管理_查看', // func
79
- FuncManageWrite : '【devops】功能点管理_编辑',
80
- RoleFuncManageRead : '【devops】角色功能点关联_查看', //role-func
81
- RoleFuncManageWrite : '【devops】角色功能点关联_编辑',
82
- AccountRoleManageRead : '【devops】账户角色关联_查看', // account-role
83
- AccountRoleManageWrite : '【devops】账户角色关联_编辑',
84
-
85
- MenuMangeRead : '【devops】菜单管理_查看',
86
- MenuMangeWrite : '【devops】菜单管理_查看',
87
- };
88
-
89
- /**
90
- * 系统内置角色
91
- */
92
- export enum SystemRoleCode {
93
- SuperAdmin = 'SuperAdmin', // 超级管理员,拥有一切权限。
94
- DevOpsWriter = 'DevOpsWriter', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
95
- DevOpsViewer = 'DevOpsViewer', // 开发&产品&测试。只有查看权限,给房客用来查看的。
96
- }
97
-
98
- /**
99
- * 系统内置角色
100
- */
101
- export const SystemRoleCodeNameMap = {
102
- SuperAdmin: '超级管理员', // 超级管理员,拥有一切权限。
103
- DevOpsWriter: '产技高级角色', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
104
- DevOpsViewer: '产技只读角色', // 开发&产品&测试。只有查看权限,给房客用来查看的。
105
- };
@@ -1,30 +0,0 @@
1
- import {SqlDbType} from "../libs/crud-pro/models/keys";
2
-
3
- export const SystemTables = {
4
- sys_workbench: 'sys_workbench',
5
- sys_user_account: 'sys_user_account',
6
- sys_perm_user_role: 'sys_perm_user_role',
7
- sys_perm_role_func: 'sys_perm_role_func',
8
- sys_perm_role: 'sys_perm_role',
9
- sys_perm_func: 'sys_perm_func',
10
- sys_file: 'sys_file',
11
- sys_doc: 'sys_doc',
12
- sys_doc_lib: 'sys_doc_lib',
13
- sys_menus: 'sys_menus',
14
- sys_data_dict_item: 'sys_data_dict_item',
15
- sys_data_dict: 'sys_data_dict',
16
- sys_crud_methods: 'sys_crud_methods',
17
- sys_configs: 'sys_configs',
18
- sys_app_page: 'sys_app_page',
19
- sys_app_log: 'sys_app_log',
20
- sys_app: 'sys_app',
21
- sys_nav: 'sys_nav',
22
- sys_anyapi: 'sys_anyapi',
23
- sys_proxyapi: 'sys_proxyapi',
24
- sys_visit_stats: 'sys_visit_stats',
25
- };
26
-
27
- export const SystemDbName = 'fatcms';
28
- export const SystemDbType = SqlDbType.mysql;
29
-
30
- export const SystemDevOpsWorkbench = 'devops';