midway-fatcms 0.0.1-beta.65 → 0.0.1-beta.67

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 (385) hide show
  1. package/.eslintrc.json +14 -14
  2. package/.prettierrc.js +4 -4
  3. package/README.md +8 -8
  4. package/dist/config/config.default.d.ts +3 -3
  5. package/dist/config/config.default.js +167 -160
  6. package/dist/config/utils.d.ts +1 -1
  7. package/dist/config/utils.js +23 -23
  8. package/dist/configuration.d.ts +7 -7
  9. package/dist/configuration.js +113 -113
  10. package/dist/controller/base/BaseApiController.d.ts +42 -37
  11. package/dist/controller/base/BaseApiController.js +189 -164
  12. package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
  13. package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
  14. package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
  15. package/dist/controller/gateway/AsyncTaskController.js +181 -181
  16. package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
  17. package/dist/controller/gateway/CrudMtdGatewayController.js +122 -122
  18. package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -38
  19. package/dist/controller/gateway/CrudStdGatewayController.js +155 -129
  20. package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
  21. package/dist/controller/gateway/DocGatewayController.js +179 -179
  22. package/dist/controller/gateway/FileController.d.ts +28 -28
  23. package/dist/controller/gateway/FileController.js +145 -144
  24. package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
  25. package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
  26. package/dist/controller/gateway/PublicApiController.d.ts +32 -31
  27. package/dist/controller/gateway/PublicApiController.js +215 -179
  28. package/dist/controller/gateway/StaticController.d.ts +23 -23
  29. package/dist/controller/gateway/StaticController.js +286 -286
  30. package/dist/controller/helpers.controller.d.ts +39 -39
  31. package/dist/controller/helpers.controller.js +188 -188
  32. package/dist/controller/home.controller.d.ts +9 -9
  33. package/dist/controller/home.controller.js +72 -72
  34. package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
  35. package/dist/controller/manage/AnyApiMangeApi.js +98 -98
  36. package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
  37. package/dist/controller/manage/AppLogMangeApi.js +88 -88
  38. package/dist/controller/manage/AppMangeApi.d.ts +10 -10
  39. package/dist/controller/manage/AppMangeApi.js +88 -88
  40. package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
  41. package/dist/controller/manage/AppPageMangeApi.js +87 -87
  42. package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
  43. package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
  44. package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
  45. package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
  46. package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
  47. package/dist/controller/manage/CrudStandardDesignApi.js +367 -367
  48. package/dist/controller/manage/DataDictManageApi.d.ts +15 -15
  49. package/dist/controller/manage/DataDictManageApi.js +133 -133
  50. package/dist/controller/manage/DeployManageApi.d.ts +19 -19
  51. package/dist/controller/manage/DeployManageApi.js +180 -180
  52. package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
  53. package/dist/controller/manage/DocLibManageApi.js +104 -104
  54. package/dist/controller/manage/DocManageApi.d.ts +11 -11
  55. package/dist/controller/manage/DocManageApi.js +130 -130
  56. package/dist/controller/manage/FileManageApi.d.ts +13 -13
  57. package/dist/controller/manage/FileManageApi.js +77 -77
  58. package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
  59. package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
  60. package/dist/controller/manage/MenuManageApi.d.ts +10 -10
  61. package/dist/controller/manage/MenuManageApi.js +93 -93
  62. package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
  63. package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
  64. package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
  65. package/dist/controller/manage/SuperAdminManageApi.js +153 -153
  66. package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -11
  67. package/dist/controller/manage/SysConfigMangeApi.js +126 -126
  68. package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
  69. package/dist/controller/manage/SystemInfoManageApi.js +72 -72
  70. package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
  71. package/dist/controller/manage/UserAccountManageApi.js +129 -129
  72. package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
  73. package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
  74. package/dist/controller/myinfo/AuthController.d.ts +33 -33
  75. package/dist/controller/myinfo/AuthController.js +136 -136
  76. package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
  77. package/dist/controller/myinfo/MyInfoController.js +51 -51
  78. package/dist/controller/render/AppRenderController.d.ts +11 -11
  79. package/dist/controller/render/AppRenderController.js +92 -92
  80. package/dist/controller/test.controller.d.ts +8 -8
  81. package/dist/controller/test.controller.js +51 -51
  82. package/dist/filter/default.filter.d.ts +7 -7
  83. package/dist/filter/default.filter.js +23 -23
  84. package/dist/filter/notfound.filter.d.ts +5 -5
  85. package/dist/filter/notfound.filter.js +20 -20
  86. package/dist/index.d.ts +103 -103
  87. package/dist/index.js +121 -121
  88. package/dist/interface.d.ts +29 -27
  89. package/dist/interface.js +3 -3
  90. package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
  91. package/dist/libs/crud-pro/CrudPro.js +136 -136
  92. package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
  93. package/dist/libs/crud-pro/defaultConfigs.js +15 -15
  94. package/dist/libs/crud-pro/exceptions.d.ts +106 -104
  95. package/dist/libs/crud-pro/exceptions.js +119 -117
  96. package/dist/libs/crud-pro/interfaces.d.ts +165 -165
  97. package/dist/libs/crud-pro/interfaces.js +12 -12
  98. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -49
  99. package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
  100. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
  101. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
  102. package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
  103. package/dist/libs/crud-pro/models/FuncContext.js +6 -6
  104. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
  105. package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
  106. package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
  107. package/dist/libs/crud-pro/models/RequestModel.js +113 -113
  108. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -16
  109. package/dist/libs/crud-pro/models/ResModel.js +2 -2
  110. package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
  111. package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
  112. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -22
  113. package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
  114. package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
  115. package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
  116. package/dist/libs/crud-pro/models/Transaction.d.ts +30 -30
  117. package/dist/libs/crud-pro/models/Transaction.js +74 -74
  118. package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -28
  119. package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
  120. package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
  121. package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
  122. package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
  123. package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -92
  124. package/dist/libs/crud-pro/models/keys.d.ts +110 -110
  125. package/dist/libs/crud-pro/models/keys.js +154 -154
  126. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
  127. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
  128. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
  129. package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -125
  130. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
  131. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -225
  132. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
  133. package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
  134. package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
  135. package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
  136. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
  137. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +355 -355
  138. package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
  139. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
  140. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
  141. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +339 -334
  142. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
  143. package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -90
  144. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
  145. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +72 -72
  146. package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
  147. package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
  148. package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
  149. package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
  150. package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
  151. package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
  152. package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
  153. package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
  154. package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
  155. package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
  156. package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
  157. package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
  158. package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
  159. package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
  160. package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
  161. package/dist/libs/crud-pro/utils/ModelUtils.js +54 -54
  162. package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
  163. package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
  164. package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
  165. package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
  166. package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
  167. package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
  168. package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
  169. package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
  170. package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
  171. package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
  172. package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
  173. package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
  174. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
  175. package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
  176. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
  177. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -21
  178. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
  179. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
  180. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
  181. package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -11
  182. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
  183. package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
  184. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
  185. package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
  186. package/dist/libs/global-config/global-config.d.ts +69 -69
  187. package/dist/libs/global-config/global-config.js +36 -36
  188. package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -0
  189. package/dist/libs/utils/AsymmetricCrypto.js +261 -0
  190. package/dist/libs/utils/base64.d.ts +9 -9
  191. package/dist/libs/utils/base64.js +42 -42
  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 -2
  197. package/dist/libs/utils/errorToString.js +57 -57
  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/format-url.d.ts +2 -0
  201. package/dist/libs/utils/format-url.js +13 -0
  202. package/dist/libs/utils/functions.d.ts +5 -5
  203. package/dist/libs/utils/functions.js +72 -72
  204. package/dist/libs/utils/ordernum-utils.d.ts +2 -2
  205. package/dist/libs/utils/ordernum-utils.js +13 -13
  206. package/dist/libs/utils/parseConfig.d.ts +8 -8
  207. package/dist/libs/utils/parseConfig.js +47 -47
  208. package/dist/libs/utils/parseCreateSql.d.ts +10 -10
  209. package/dist/libs/utils/parseCreateSql.js +87 -87
  210. package/dist/libs/utils/render-utils.d.ts +37 -28
  211. package/dist/libs/utils/render-utils.js +154 -133
  212. package/dist/middleware/forbidden.middleware.d.ts +10 -10
  213. package/dist/middleware/forbidden.middleware.js +54 -54
  214. package/dist/middleware/global.middleware.d.ts +10 -10
  215. package/dist/middleware/global.middleware.js +273 -266
  216. package/dist/middleware/permission.middleware.d.ts +18 -18
  217. package/dist/middleware/permission.middleware.js +74 -74
  218. package/dist/middleware/rediscache.middleware.d.ts +3 -3
  219. package/dist/middleware/rediscache.middleware.js +77 -77
  220. package/dist/middleware/redislock.middleware.d.ts +7 -7
  221. package/dist/middleware/redislock.middleware.js +72 -72
  222. package/dist/middleware/tx.middleware.d.ts +9 -9
  223. package/dist/middleware/tx.middleware.js +40 -40
  224. package/dist/models/AsyncTaskModel.d.ts +74 -74
  225. package/dist/models/AsyncTaskModel.js +31 -31
  226. package/dist/models/RedisKeys.d.ts +15 -15
  227. package/dist/models/RedisKeys.js +18 -18
  228. package/dist/models/SystemEntities.d.ts +139 -105
  229. package/dist/models/SystemEntities.js +30 -9
  230. package/dist/models/SystemPerm.d.ts +95 -95
  231. package/dist/models/SystemPerm.js +100 -100
  232. package/dist/models/SystemTables.d.ts +25 -25
  233. package/dist/models/SystemTables.js +28 -28
  234. package/dist/models/WorkbenchInfoTools.d.ts +7 -0
  235. package/dist/models/WorkbenchInfoTools.js +20 -0
  236. package/dist/models/bizmodels.d.ts +113 -104
  237. package/dist/models/bizmodels.js +39 -39
  238. package/dist/models/contextLogger.d.ts +27 -25
  239. package/dist/models/contextLogger.js +119 -112
  240. package/dist/models/devops.d.ts +12 -12
  241. package/dist/models/devops.js +19 -19
  242. package/dist/models/userSession.d.ts +64 -62
  243. package/dist/models/userSession.js +167 -165
  244. package/dist/schedule/anonymousContext.d.ts +14 -14
  245. package/dist/schedule/anonymousContext.js +61 -59
  246. package/dist/schedule/index.d.ts +4 -4
  247. package/dist/schedule/index.js +10 -10
  248. package/dist/schedule/runSchedule.d.ts +12 -12
  249. package/dist/schedule/runSchedule.js +68 -68
  250. package/dist/schedule/scheduleNames.d.ts +13 -13
  251. package/dist/schedule/scheduleNames.js +17 -17
  252. package/dist/service/AuthService.d.ts +71 -71
  253. package/dist/service/AuthService.js +270 -263
  254. package/dist/service/EnumInfoService.d.ts +30 -30
  255. package/dist/service/EnumInfoService.js +133 -127
  256. package/dist/service/FileCenterService.d.ts +43 -43
  257. package/dist/service/FileCenterService.js +351 -351
  258. package/dist/service/SysConfigService.d.ts +7 -7
  259. package/dist/service/SysConfigService.js +47 -47
  260. package/dist/service/UserAccountService.d.ts +23 -23
  261. package/dist/service/UserAccountService.js +107 -107
  262. package/dist/service/UserSessionService.d.ts +43 -38
  263. package/dist/service/UserSessionService.js +166 -157
  264. package/dist/service/VisitStatService.d.ts +14 -14
  265. package/dist/service/VisitStatService.js +158 -158
  266. package/dist/service/WorkbenchService.d.ts +54 -53
  267. package/dist/service/WorkbenchService.js +237 -211
  268. package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
  269. package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
  270. package/dist/service/anyapi/AnyApiService.d.ts +27 -27
  271. package/dist/service/anyapi/AnyApiService.js +181 -181
  272. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
  273. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
  274. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
  275. package/dist/service/asyncTask/AsyncTaskService.js +34 -34
  276. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
  277. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
  278. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
  279. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
  280. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
  281. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
  282. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
  283. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
  284. package/dist/service/base/ApiBaseService.d.ts +15 -15
  285. package/dist/service/base/ApiBaseService.js +50 -50
  286. package/dist/service/base/ApiRateLimiter.d.ts +10 -10
  287. package/dist/service/base/ApiRateLimiter.js +51 -51
  288. package/dist/service/base/BaseService.d.ts +41 -41
  289. package/dist/service/base/BaseService.js +101 -101
  290. package/dist/service/base/cache/CacheServiceFactory.d.ts +20 -0
  291. package/dist/service/base/cache/CacheServiceFactory.js +67 -0
  292. package/dist/service/base/cache/CtxCache.d.ts +19 -0
  293. package/dist/service/base/cache/CtxCache.js +38 -0
  294. package/dist/service/base/cache/DiskCache.d.ts +24 -0
  295. package/dist/service/base/cache/DiskCache.js +81 -0
  296. package/dist/service/base/cache/MemoryCache.d.ts +18 -0
  297. package/dist/service/base/cache/MemoryCache.js +66 -0
  298. package/dist/service/base/cache/NoneCache.d.ts +10 -0
  299. package/dist/service/base/cache/NoneCache.js +19 -0
  300. package/dist/service/base/{RedisCacheService.d.ts → cache/RedisCache.d.ts} +20 -20
  301. package/dist/service/base/cache/RedisCache.js +39 -0
  302. package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
  303. package/dist/service/crudstd/CrudStdActionService.js +32 -32
  304. package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
  305. package/dist/service/crudstd/CrudStdConstant.js +64 -64
  306. package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
  307. package/dist/service/crudstd/CrudStdRelationService.js +121 -121
  308. package/dist/service/crudstd/CrudStdService.d.ts +72 -70
  309. package/dist/service/crudstd/CrudStdService.js +417 -403
  310. package/dist/service/curd/CrudProQuick.d.ts +44 -44
  311. package/dist/service/curd/CrudProQuick.js +147 -147
  312. package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
  313. package/dist/service/curd/CurdMixByAccountService.js +113 -113
  314. package/dist/service/curd/CurdMixByDictService.d.ts +12 -13
  315. package/dist/service/curd/CurdMixByDictService.js +118 -114
  316. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -31
  317. package/dist/service/curd/CurdMixByLinkToCustomService.js +207 -203
  318. package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -9
  319. package/dist/service/curd/CurdMixBySysConfigService.js +120 -80
  320. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -10
  321. package/dist/service/curd/CurdMixByWorkbenchService.js +86 -78
  322. package/dist/service/curd/CurdMixService.d.ts +28 -28
  323. package/dist/service/curd/CurdMixService.js +100 -100
  324. package/dist/service/curd/CurdMixUtils.d.ts +57 -57
  325. package/dist/service/curd/CurdMixUtils.js +331 -331
  326. package/dist/service/curd/CurdProService.d.ts +32 -32
  327. package/dist/service/curd/CurdProService.js +212 -212
  328. package/dist/service/curd/fixCfgModel.d.ts +3 -3
  329. package/dist/service/curd/fixCfgModel.js +104 -104
  330. package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
  331. package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
  332. package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
  333. package/dist/service/proxyapi/ProxyApiService.js +294 -294
  334. package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
  335. package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
  336. package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
  337. package/dist/service/proxyapi/RouteHandler.js +9 -9
  338. package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
  339. package/dist/service/proxyapi/RouteTrie.js +63 -63
  340. package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
  341. package/dist/service/proxyapi/WeightedRandom.js +31 -31
  342. package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
  343. package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
  344. package/index.d.ts +10 -10
  345. package/package.json +87 -87
  346. package/src/config/config.default.ts +8 -0
  347. package/src/controller/base/BaseApiController.ts +39 -0
  348. package/src/controller/gateway/CrudStdGatewayController.ts +42 -10
  349. package/src/controller/gateway/FileController.ts +2 -2
  350. package/src/controller/gateway/PublicApiController.ts +72 -28
  351. package/src/index.ts +1 -1
  352. package/src/interface.ts +2 -0
  353. package/src/libs/crud-pro/exceptions.ts +2 -0
  354. package/src/libs/crud-pro/models/keys.ts +6 -6
  355. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +7 -1
  356. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +18 -0
  357. package/src/libs/utils/AsymmetricCrypto.ts +310 -0
  358. package/src/libs/utils/format-url.ts +16 -0
  359. package/src/libs/utils/render-utils.ts +56 -15
  360. package/src/middleware/global.middleware.ts +8 -0
  361. package/src/models/SystemEntities.ts +43 -0
  362. package/src/models/WorkbenchInfoTools.ts +18 -0
  363. package/src/models/bizmodels.ts +12 -0
  364. package/src/models/contextLogger.ts +10 -1
  365. package/src/models/userSession.ts +4 -0
  366. package/src/schedule/anonymousContext.ts +2 -0
  367. package/src/service/AuthService.ts +11 -0
  368. package/src/service/EnumInfoService.ts +35 -22
  369. package/src/service/UserSessionService.ts +29 -18
  370. package/src/service/WorkbenchService.ts +42 -2
  371. package/src/service/base/cache/CacheServiceFactory.ts +66 -0
  372. package/src/service/base/cache/CtxCache.ts +47 -0
  373. package/src/service/base/cache/DiskCache.ts +87 -0
  374. package/src/service/base/cache/MemoryCache.ts +74 -0
  375. package/src/service/base/cache/NoneCache.ts +24 -0
  376. package/src/service/base/cache/RedisCache.ts +48 -0
  377. package/src/service/crudstd/CrudStdService.ts +28 -12
  378. package/src/service/curd/CurdMixByAccountService.ts +1 -0
  379. package/src/service/curd/CurdMixByDictService.ts +14 -8
  380. package/src/service/curd/CurdMixByLinkToCustomService.ts +21 -12
  381. package/src/service/curd/CurdMixBySysConfigService.ts +60 -11
  382. package/src/service/curd/CurdMixByWorkbenchService.ts +31 -24
  383. package/tsconfig.json +32 -32
  384. package/dist/service/base/RedisCacheService.js +0 -57
  385. package/src/service/base/RedisCacheService.ts +0 -42
@@ -1,74 +1,74 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkRole = exports.checkLogin = exports.checkPermission = void 0;
4
- const exceptions_1 = require("../libs/crud-pro/exceptions");
5
- function checkPermission(codeList) {
6
- return async (ctx, next) => {
7
- const userSession = ctx.userSession;
8
- // 只有登录用户才会有功能点权限,所以必须登录
9
- if (!userSession.isLogin()) {
10
- return {
11
- success: false,
12
- message: '用户未登录, 请先登录',
13
- code: exceptions_1.Exceptions.NOT_LOGIN,
14
- };
15
- }
16
- // 查询当前用户是否用此功能点的权限
17
- const hasPermission = userSession.hasAnyPermission(codeList);
18
- if (!hasPermission) {
19
- let message;
20
- const loginName = userSession.getSessionInfo().loginName;
21
- if (loginName === 'devopsviewer') {
22
- message = '开放体验账号不支持这些操作:新增、修改、删除、上传';
23
- }
24
- else {
25
- message = '缺少权限: ' + JSON.stringify(codeList);
26
- }
27
- return {
28
- success: false,
29
- message: message,
30
- code: exceptions_1.Exceptions.NO_AUTH,
31
- };
32
- }
33
- await next();
34
- };
35
- }
36
- exports.checkPermission = checkPermission;
37
- function checkRole(codeList) {
38
- return async (ctx, next) => {
39
- const userSession = ctx.userSession;
40
- // 只有登录用户才会有功能点权限,所以必须登录
41
- if (!userSession.isLogin()) {
42
- return {
43
- success: false,
44
- message: '用户未登录, 请先登录',
45
- code: exceptions_1.Exceptions.NOT_LOGIN,
46
- };
47
- }
48
- // 查询当前用户是否用此功能点的权限
49
- const hasRole = userSession.hasAnyRole(codeList);
50
- if (!hasRole) {
51
- return {
52
- success: false,
53
- message: '缺少角色权限: ' + JSON.stringify(codeList),
54
- code: exceptions_1.Exceptions.NO_AUTH,
55
- };
56
- }
57
- await next();
58
- };
59
- }
60
- exports.checkRole = checkRole;
61
- function checkLogin() {
62
- return async (ctx, next) => {
63
- const userSession = ctx.userSession;
64
- if (!userSession.isLogin()) {
65
- return {
66
- success: false,
67
- message: '用户未登录, 请先登录',
68
- code: exceptions_1.Exceptions.NOT_LOGIN,
69
- };
70
- }
71
- await next();
72
- };
73
- }
74
- exports.checkLogin = checkLogin;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkRole = exports.checkLogin = exports.checkPermission = void 0;
4
+ const exceptions_1 = require("../libs/crud-pro/exceptions");
5
+ function checkPermission(codeList) {
6
+ return async (ctx, next) => {
7
+ const userSession = ctx.userSession;
8
+ // 只有登录用户才会有功能点权限,所以必须登录
9
+ if (!userSession.isLogin()) {
10
+ return {
11
+ success: false,
12
+ message: '用户未登录, 请先登录',
13
+ code: exceptions_1.Exceptions.NOT_LOGIN,
14
+ };
15
+ }
16
+ // 查询当前用户是否用此功能点的权限
17
+ const hasPermission = userSession.hasAnyPermission(codeList);
18
+ if (!hasPermission) {
19
+ let message;
20
+ const loginName = userSession.getSessionInfo().loginName;
21
+ if (loginName === 'devopsviewer') {
22
+ message = '开放体验账号不支持这些操作:新增、修改、删除、上传';
23
+ }
24
+ else {
25
+ message = '缺少权限: ' + JSON.stringify(codeList);
26
+ }
27
+ return {
28
+ success: false,
29
+ message: message,
30
+ code: exceptions_1.Exceptions.NO_AUTH,
31
+ };
32
+ }
33
+ await next();
34
+ };
35
+ }
36
+ exports.checkPermission = checkPermission;
37
+ function checkRole(codeList) {
38
+ return async (ctx, next) => {
39
+ const userSession = ctx.userSession;
40
+ // 只有登录用户才会有功能点权限,所以必须登录
41
+ if (!userSession.isLogin()) {
42
+ return {
43
+ success: false,
44
+ message: '用户未登录, 请先登录',
45
+ code: exceptions_1.Exceptions.NOT_LOGIN,
46
+ };
47
+ }
48
+ // 查询当前用户是否用此功能点的权限
49
+ const hasRole = userSession.hasAnyRole(codeList);
50
+ if (!hasRole) {
51
+ return {
52
+ success: false,
53
+ message: '缺少角色权限: ' + JSON.stringify(codeList),
54
+ code: exceptions_1.Exceptions.NO_AUTH,
55
+ };
56
+ }
57
+ await next();
58
+ };
59
+ }
60
+ exports.checkRole = checkRole;
61
+ function checkLogin() {
62
+ return async (ctx, next) => {
63
+ const userSession = ctx.userSession;
64
+ if (!userSession.isLogin()) {
65
+ return {
66
+ success: false,
67
+ message: '用户未登录, 请先登录',
68
+ code: exceptions_1.Exceptions.NOT_LOGIN,
69
+ };
70
+ }
71
+ await next();
72
+ };
73
+ }
74
+ exports.checkLogin = checkLogin;
@@ -1,3 +1,3 @@
1
- import { NextFunction, Context } from '@midwayjs/koa';
2
- declare function redisCache(cacheKeyConfigList: string[], cacheTimeSecond: number): (ctx: Context, next: NextFunction) => Promise<any>;
3
- export { redisCache };
1
+ import { NextFunction, Context } from '@midwayjs/koa';
2
+ declare function redisCache(cacheKeyConfigList: string[], cacheTimeSecond: number): (ctx: Context, next: NextFunction) => Promise<any>;
3
+ export { redisCache };
@@ -1,77 +1,77 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.redisCache = void 0;
4
- const redis_1 = require("@midwayjs/redis");
5
- const _ = require("lodash");
6
- const md5 = require("md5");
7
- const RedisKeys_1 = require("../models/RedisKeys");
8
- const exceptions_1 = require("../libs/crud-pro/exceptions");
9
- const getRedisService = async (ctx) => {
10
- const service = await ctx.requestContext.getAsync(redis_1.RedisService);
11
- if (!service) {
12
- return await ctx.requestContext.getAsync('redisService');
13
- }
14
- };
15
- const createError = () => {
16
- return new exceptions_1.CommonException('redis_cache_middleware_error_config', 'redisCache中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
- };
18
- const checkCacheKeyConfigList = (cacheKeyConfigList) => {
19
- if (!Array.isArray(cacheKeyConfigList)) {
20
- throw createError();
21
- }
22
- for (let i = 0; i < cacheKeyConfigList.length; i++) {
23
- const cacheKeyConfig = cacheKeyConfigList[i];
24
- if (typeof cacheKeyConfig !== 'string') {
25
- throw createError();
26
- }
27
- if (!cacheKeyConfig.startsWith('query.') && !cacheKeyConfig.startsWith('body.')) {
28
- throw createError();
29
- }
30
- }
31
- };
32
- // {middleware:[redisCache(['query.id', 'body.id'])]}
33
- const toCacheKey = (ctx, cacheKeyConfigList) => {
34
- checkCacheKeyConfigList(cacheKeyConfigList);
35
- const path = ctx.path;
36
- const query = ctx.query || {};
37
- const body = ctx.request.body || {};
38
- const newCtx = { path, query, body };
39
- // 至少要根据path缓存
40
- const cacheKeyConfigList2 = ['path', ...cacheKeyConfigList];
41
- const strArray = cacheKeyConfigList2.map((key) => {
42
- const value = _.get(newCtx, key);
43
- return { key, value };
44
- });
45
- const strArrayStr = JSON.stringify(strArray);
46
- const strMd5 = md5(strArrayStr);
47
- return RedisKeys_1.RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
48
- };
49
- function toCacheDataString(resData) {
50
- throw new Error('Function not implemented.');
51
- }
52
- function parseCacheData(cacheData) {
53
- throw new Error('Function not implemented.');
54
- }
55
- function redisCache(cacheKeyConfigList, cacheTimeSecond) {
56
- return async (ctx, next) => {
57
- const redisService = await getRedisService(ctx);
58
- const cacheKey = toCacheKey(ctx, cacheKeyConfigList);
59
- let cacheTime = typeof cacheTimeSecond === 'number' ? cacheTimeSecond : 60; // 默认缓存1分钟
60
- cacheTime = Math.max(cacheTimeSecond, 1); // 至少缓存1秒。
61
- cacheTime = Math.min(cacheTimeSecond, 60 * 60); // 最长缓存1小时
62
- const cacheData = await redisService.get(cacheKey);
63
- if (cacheData) {
64
- return parseCacheData(cacheData);
65
- }
66
- try {
67
- const resData = await next();
68
- const resDataStr = toCacheDataString(resData);
69
- await redisService.set(cacheKey, resDataStr, 'EX', cacheTime);
70
- return resData;
71
- }
72
- catch (e) {
73
- console.error('redisCache', e);
74
- }
75
- };
76
- }
77
- exports.redisCache = redisCache;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.redisCache = void 0;
4
+ const redis_1 = require("@midwayjs/redis");
5
+ const _ = require("lodash");
6
+ const md5 = require("md5");
7
+ const RedisKeys_1 = require("../models/RedisKeys");
8
+ const exceptions_1 = require("../libs/crud-pro/exceptions");
9
+ const getRedisService = async (ctx) => {
10
+ const service = await ctx.requestContext.getAsync(redis_1.RedisService);
11
+ if (!service) {
12
+ return await ctx.requestContext.getAsync('redisService');
13
+ }
14
+ };
15
+ const createError = () => {
16
+ return new exceptions_1.CommonException('redis_cache_middleware_error_config', 'redisCache中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
+ };
18
+ const checkCacheKeyConfigList = (cacheKeyConfigList) => {
19
+ if (!Array.isArray(cacheKeyConfigList)) {
20
+ throw createError();
21
+ }
22
+ for (let i = 0; i < cacheKeyConfigList.length; i++) {
23
+ const cacheKeyConfig = cacheKeyConfigList[i];
24
+ if (typeof cacheKeyConfig !== 'string') {
25
+ throw createError();
26
+ }
27
+ if (!cacheKeyConfig.startsWith('query.') && !cacheKeyConfig.startsWith('body.')) {
28
+ throw createError();
29
+ }
30
+ }
31
+ };
32
+ // {middleware:[redisCache(['query.id', 'body.id'])]}
33
+ const toCacheKey = (ctx, cacheKeyConfigList) => {
34
+ checkCacheKeyConfigList(cacheKeyConfigList);
35
+ const path = ctx.path;
36
+ const query = ctx.query || {};
37
+ const body = ctx.request.body || {};
38
+ const newCtx = { path, query, body };
39
+ // 至少要根据path缓存
40
+ const cacheKeyConfigList2 = ['path', ...cacheKeyConfigList];
41
+ const strArray = cacheKeyConfigList2.map((key) => {
42
+ const value = _.get(newCtx, key);
43
+ return { key, value };
44
+ });
45
+ const strArrayStr = JSON.stringify(strArray);
46
+ const strMd5 = md5(strArrayStr);
47
+ return RedisKeys_1.RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
48
+ };
49
+ function toCacheDataString(resData) {
50
+ throw new Error('Function not implemented.');
51
+ }
52
+ function parseCacheData(cacheData) {
53
+ throw new Error('Function not implemented.');
54
+ }
55
+ function redisCache(cacheKeyConfigList, cacheTimeSecond) {
56
+ return async (ctx, next) => {
57
+ const redisService = await getRedisService(ctx);
58
+ const cacheKey = toCacheKey(ctx, cacheKeyConfigList);
59
+ let cacheTime = typeof cacheTimeSecond === 'number' ? cacheTimeSecond : 60; // 默认缓存1分钟
60
+ cacheTime = Math.max(cacheTimeSecond, 1); // 至少缓存1秒。
61
+ cacheTime = Math.min(cacheTimeSecond, 60 * 60); // 最长缓存1小时
62
+ const cacheData = await redisService.get(cacheKey);
63
+ if (cacheData) {
64
+ return parseCacheData(cacheData);
65
+ }
66
+ try {
67
+ const resData = await next();
68
+ const resDataStr = toCacheDataString(resData);
69
+ await redisService.set(cacheKey, resDataStr, 'EX', cacheTime);
70
+ return resData;
71
+ }
72
+ catch (e) {
73
+ console.error('redisCache', e);
74
+ }
75
+ };
76
+ }
77
+ exports.redisCache = redisCache;
@@ -1,7 +1,7 @@
1
- import { NextFunction, Context } from '@midwayjs/koa';
2
- declare function redisLock(lockKeyConfigList: string[], lockTimeSecond: number): (ctx: Context, next: NextFunction) => Promise<{
3
- success: boolean;
4
- message: string;
5
- code: string;
6
- }>;
7
- export { redisLock };
1
+ import { NextFunction, Context } from '@midwayjs/koa';
2
+ declare function redisLock(lockKeyConfigList: string[], lockTimeSecond: number): (ctx: Context, next: NextFunction) => Promise<{
3
+ success: boolean;
4
+ message: string;
5
+ code: string;
6
+ }>;
7
+ export { redisLock };
@@ -1,72 +1,72 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.redisLock = void 0;
4
- const redis_1 = require("@midwayjs/redis");
5
- const _ = require("lodash");
6
- const md5 = require("md5");
7
- const RedisKeys_1 = require("../models/RedisKeys");
8
- const exceptions_1 = require("../libs/crud-pro/exceptions");
9
- const getRedisService = async (ctx) => {
10
- const service = await ctx.requestContext.getAsync(redis_1.RedisService);
11
- if (!service) {
12
- return await ctx.requestContext.getAsync('redisService');
13
- }
14
- };
15
- const createError = () => {
16
- return new exceptions_1.CommonException('redis_lock_middleware_error_config', 'redisLock中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
- };
18
- const checkLockKeyConfigList = (lockKeyConfigList) => {
19
- if (!Array.isArray(lockKeyConfigList)) {
20
- throw createError();
21
- }
22
- for (let i = 0; i < lockKeyConfigList.length; i++) {
23
- const lockKeyConfig = lockKeyConfigList[i];
24
- if (typeof lockKeyConfig !== 'string') {
25
- throw createError();
26
- }
27
- if (!lockKeyConfig.startsWith('query.') && !lockKeyConfig.startsWith('body.')) {
28
- throw createError();
29
- }
30
- }
31
- };
32
- // {middleware:[redisLock(['query.id', 'body.id'])]}
33
- const toLockKey = (ctx, lockKeyConfigList) => {
34
- checkLockKeyConfigList(lockKeyConfigList);
35
- const path = ctx.path;
36
- const query = ctx.query || {};
37
- const body = ctx.request.body || {};
38
- const newCtx = { path, query, body };
39
- // 至少要根据path锁
40
- const lockKeyConfigList2 = ['path', ...lockKeyConfigList];
41
- const strArray = lockKeyConfigList2.map((key) => {
42
- const value = _.get(newCtx, key);
43
- return { key, value };
44
- });
45
- const strArrayStr = JSON.stringify(strArray);
46
- const strMd5 = md5(strArrayStr);
47
- return RedisKeys_1.RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
48
- };
49
- function redisLock(lockKeyConfigList, lockTimeSecond) {
50
- return async (ctx, next) => {
51
- const redisService = await getRedisService(ctx);
52
- const lockKey = toLockKey(ctx, lockKeyConfigList);
53
- let lockTime = typeof lockTimeSecond === 'number' ? lockTimeSecond : 60; // 默认锁住1分钟(失败的情况)
54
- lockTime = Math.max(lockTimeSecond, 1); // 至少锁一秒 (失败的情况)
55
- lockTime = Math.min(lockTimeSecond, 5 * 60); // 最长锁 5分钟(失败的情况)
56
- const lock = await redisService.set(lockKey, 1, 'EX', lockTime, 'NX');
57
- if (lock !== 'OK') {
58
- return {
59
- success: false,
60
- message: '您请求的接口当前正在处理中,请稍后再试',
61
- code: 'redis_lock_middleware_error_locked',
62
- };
63
- }
64
- try {
65
- await next();
66
- }
67
- finally {
68
- await redisService.del(lockKey); // 正常运行完成,立即释放锁。
69
- }
70
- };
71
- }
72
- exports.redisLock = redisLock;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.redisLock = void 0;
4
+ const redis_1 = require("@midwayjs/redis");
5
+ const _ = require("lodash");
6
+ const md5 = require("md5");
7
+ const RedisKeys_1 = require("../models/RedisKeys");
8
+ const exceptions_1 = require("../libs/crud-pro/exceptions");
9
+ const getRedisService = async (ctx) => {
10
+ const service = await ctx.requestContext.getAsync(redis_1.RedisService);
11
+ if (!service) {
12
+ return await ctx.requestContext.getAsync('redisService');
13
+ }
14
+ };
15
+ const createError = () => {
16
+ return new exceptions_1.CommonException('redis_lock_middleware_error_config', 'redisLock中间件的第一个参数必须是一个字符串数组, 并且以“query.”或“body.”开头');
17
+ };
18
+ const checkLockKeyConfigList = (lockKeyConfigList) => {
19
+ if (!Array.isArray(lockKeyConfigList)) {
20
+ throw createError();
21
+ }
22
+ for (let i = 0; i < lockKeyConfigList.length; i++) {
23
+ const lockKeyConfig = lockKeyConfigList[i];
24
+ if (typeof lockKeyConfig !== 'string') {
25
+ throw createError();
26
+ }
27
+ if (!lockKeyConfig.startsWith('query.') && !lockKeyConfig.startsWith('body.')) {
28
+ throw createError();
29
+ }
30
+ }
31
+ };
32
+ // {middleware:[redisLock(['query.id', 'body.id'])]}
33
+ const toLockKey = (ctx, lockKeyConfigList) => {
34
+ checkLockKeyConfigList(lockKeyConfigList);
35
+ const path = ctx.path;
36
+ const query = ctx.query || {};
37
+ const body = ctx.request.body || {};
38
+ const newCtx = { path, query, body };
39
+ // 至少要根据path锁
40
+ const lockKeyConfigList2 = ['path', ...lockKeyConfigList];
41
+ const strArray = lockKeyConfigList2.map((key) => {
42
+ const value = _.get(newCtx, key);
43
+ return { key, value };
44
+ });
45
+ const strArrayStr = JSON.stringify(strArray);
46
+ const strMd5 = md5(strArrayStr);
47
+ return RedisKeys_1.RedisKeys.REDIS_LOCK_MIDDILEWARE + strMd5;
48
+ };
49
+ function redisLock(lockKeyConfigList, lockTimeSecond) {
50
+ return async (ctx, next) => {
51
+ const redisService = await getRedisService(ctx);
52
+ const lockKey = toLockKey(ctx, lockKeyConfigList);
53
+ let lockTime = typeof lockTimeSecond === 'number' ? lockTimeSecond : 60; // 默认锁住1分钟(失败的情况)
54
+ lockTime = Math.max(lockTimeSecond, 1); // 至少锁一秒 (失败的情况)
55
+ lockTime = Math.min(lockTimeSecond, 5 * 60); // 最长锁 5分钟(失败的情况)
56
+ const lock = await redisService.set(lockKey, 1, 'EX', lockTime, 'NX');
57
+ if (lock !== 'OK') {
58
+ return {
59
+ success: false,
60
+ message: '您请求的接口当前正在处理中,请稍后再试',
61
+ code: 'redis_lock_middleware_error_locked',
62
+ };
63
+ }
64
+ try {
65
+ await next();
66
+ }
67
+ finally {
68
+ await redisService.del(lockKey); // 正常运行完成,立即释放锁。
69
+ }
70
+ };
71
+ }
72
+ exports.redisLock = redisLock;
@@ -1,9 +1,9 @@
1
- import { IMiddleware } from '@midwayjs/core';
2
- import { NextFunction, Context } from '@midwayjs/koa';
3
- /**
4
- * 事务中间件
5
- */
6
- export declare class TxMiddleware implements IMiddleware<Context, NextFunction> {
7
- resolve(): (ctx: Context, next: NextFunction) => Promise<any>;
8
- static getName(): string;
9
- }
1
+ import { IMiddleware } from '@midwayjs/core';
2
+ import { NextFunction, Context } from '@midwayjs/koa';
3
+ /**
4
+ * 事务中间件
5
+ */
6
+ export declare class TxMiddleware implements IMiddleware<Context, NextFunction> {
7
+ resolve(): (ctx: Context, next: NextFunction) => Promise<any>;
8
+ static getName(): string;
9
+ }
@@ -1,40 +1,40 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.TxMiddleware = void 0;
10
- const core_1 = require("@midwayjs/core");
11
- /**
12
- * 事务中间件
13
- */
14
- let TxMiddleware = class TxMiddleware {
15
- resolve() {
16
- return async (ctx, next) => {
17
- const transaction = ctx.transaction;
18
- try {
19
- await transaction.beginTx();
20
- const res = await next();
21
- await transaction.commitTx();
22
- return res;
23
- }
24
- catch (e) {
25
- ctx.contextLogger.error('ReportMiddleware', e);
26
- await transaction.rollbackTx();
27
- }
28
- finally {
29
- await transaction.releaseTx();
30
- }
31
- };
32
- }
33
- static getName() {
34
- return 'TxMiddleware';
35
- }
36
- };
37
- TxMiddleware = __decorate([
38
- (0, core_1.Middleware)()
39
- ], TxMiddleware);
40
- exports.TxMiddleware = TxMiddleware;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TxMiddleware = void 0;
10
+ const core_1 = require("@midwayjs/core");
11
+ /**
12
+ * 事务中间件
13
+ */
14
+ let TxMiddleware = class TxMiddleware {
15
+ resolve() {
16
+ return async (ctx, next) => {
17
+ const transaction = ctx.transaction;
18
+ try {
19
+ await transaction.beginTx();
20
+ const res = await next();
21
+ await transaction.commitTx();
22
+ return res;
23
+ }
24
+ catch (e) {
25
+ ctx.contextLogger.error('ReportMiddleware', e);
26
+ await transaction.rollbackTx();
27
+ }
28
+ finally {
29
+ await transaction.releaseTx();
30
+ }
31
+ };
32
+ }
33
+ static getName() {
34
+ return 'TxMiddleware';
35
+ }
36
+ };
37
+ TxMiddleware = __decorate([
38
+ (0, core_1.Middleware)()
39
+ ], TxMiddleware);
40
+ exports.TxMiddleware = TxMiddleware;