midway-fatcms 0.0.1-beta.5 → 0.0.1-beta.51

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 (330) 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 +25 -13
  5. package/dist/config/seed/aeskey.txt +1 -1
  6. package/dist/configuration.d.ts +1 -0
  7. package/dist/configuration.js +35 -11
  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/CrudStdGatewayController.js +8 -16
  15. package/dist/controller/gateway/DocGatewayController.js +14 -9
  16. package/dist/controller/gateway/FileController.d.ts +3 -2
  17. package/dist/controller/gateway/PublicApiController.js +4 -6
  18. package/dist/controller/gateway/StaticController.d.ts +0 -1
  19. package/dist/controller/gateway/StaticController.js +40 -39
  20. package/dist/controller/helpers.controller.d.ts +1 -1
  21. package/dist/controller/home.controller.js +4 -3
  22. package/dist/controller/manage/AnyApiMangeApi.js +2 -2
  23. package/dist/controller/manage/AppLogMangeApi.js +2 -2
  24. package/dist/controller/manage/AppMangeApi.js +2 -2
  25. package/dist/controller/manage/AppPageMangeApi.js +2 -2
  26. package/dist/controller/manage/AppSchemaHistoryApi.js +2 -2
  27. package/dist/controller/manage/CrudMethodsMangeApi.js +2 -2
  28. package/dist/controller/manage/CrudStandardDesignApi.d.ts +9 -1
  29. package/dist/controller/manage/CrudStandardDesignApi.js +135 -79
  30. package/dist/controller/manage/DataDictManageApi.d.ts +1 -1
  31. package/dist/controller/manage/DataDictManageApi.js +1 -1
  32. package/dist/controller/manage/DeployManageApi.d.ts +1 -1
  33. package/dist/controller/manage/DeployManageApi.js +38 -34
  34. package/dist/controller/manage/DocLibManageApi.js +2 -2
  35. package/dist/controller/manage/DocManageApi.js +2 -2
  36. package/dist/controller/manage/FileManageApi.js +1 -1
  37. package/dist/controller/manage/LowCodeTplManageApi.js +2 -2
  38. package/dist/controller/manage/MenuManageApi.js +2 -2
  39. package/dist/controller/manage/ProxyApiMangeApi.js +2 -2
  40. package/dist/controller/manage/SuperAdminManageApi.d.ts +2 -2
  41. package/dist/controller/manage/SuperAdminManageApi.js +12 -8
  42. package/dist/controller/manage/SysConfigMangeApi.d.ts +1 -1
  43. package/dist/controller/manage/SysConfigMangeApi.js +8 -6
  44. package/dist/controller/manage/SystemInfoManageApi.d.ts +1 -1
  45. package/dist/controller/manage/SystemInfoManageApi.js +7 -1
  46. package/dist/controller/manage/UserAccountManageApi.d.ts +1 -1
  47. package/dist/controller/manage/UserAccountManageApi.js +9 -4
  48. package/dist/controller/manage/WorkbenchMangeApi.js +3 -3
  49. package/dist/controller/myinfo/AuthController.d.ts +0 -4
  50. package/dist/controller/myinfo/AuthController.js +1 -54
  51. package/dist/controller/render/AppRenderController.js +12 -5
  52. package/dist/controller/test.controller.d.ts +1 -1
  53. package/dist/controller/test.controller.js +5 -5
  54. package/dist/index.d.ts +10 -0
  55. package/dist/index.js +10 -0
  56. package/dist/libs/crud-pro/CrudPro.d.ts +1 -0
  57. package/dist/libs/crud-pro/CrudPro.js +5 -0
  58. package/dist/libs/crud-pro/defaultConfigs.js +2 -0
  59. package/dist/libs/crud-pro/interfaces.d.ts +7 -1
  60. package/dist/libs/crud-pro/models/ExecuteContext.d.ts +12 -5
  61. package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +8 -1
  62. package/dist/libs/crud-pro/models/ExecuteContextFunc.js +8 -0
  63. package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +1 -1
  64. package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
  65. package/dist/libs/crud-pro/models/ResModel.js +2 -0
  66. package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +1 -1
  67. package/dist/libs/crud-pro/models/Transaction.d.ts +1 -0
  68. package/dist/libs/crud-pro/models/Transaction.js +7 -0
  69. package/dist/libs/crud-pro/models/TransactionSqlServer.js +1 -1
  70. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  71. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  72. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  73. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  74. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  75. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  76. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  77. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  78. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  79. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  80. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  81. package/dist/libs/crud-pro/sql.txt +120 -120
  82. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  83. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  84. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  85. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  86. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  87. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  88. package/dist/libs/global-config/global-config.d.ts +60 -0
  89. package/dist/libs/global-config/global-config.js +35 -0
  90. package/dist/libs/utils/base64.d.ts +9 -0
  91. package/dist/libs/utils/base64.js +42 -0
  92. package/dist/libs/utils/errorToString.d.ts +2 -0
  93. package/dist/libs/utils/errorToString.js +57 -0
  94. package/dist/libs/utils/fatcms-request.js +2 -2
  95. package/dist/libs/utils/functions.d.ts +2 -1
  96. package/dist/libs/utils/functions.js +12 -3
  97. package/dist/libs/utils/parseCreateSql.d.ts +6 -1
  98. package/dist/libs/utils/parseCreateSql.js +2 -1
  99. package/dist/middleware/forbidden.middleware.js +6 -22
  100. package/dist/middleware/global.middleware.js +30 -10
  101. package/dist/middleware/permission.middleware.js +1 -1
  102. package/dist/middleware/rediscache.middleware.d.ts +3 -0
  103. package/dist/middleware/rediscache.middleware.js +77 -0
  104. package/dist/middleware/redislock.middleware.d.ts +7 -0
  105. package/dist/middleware/redislock.middleware.js +72 -0
  106. package/dist/models/AsyncTaskModel.d.ts +74 -0
  107. package/dist/models/AsyncTaskModel.js +31 -0
  108. package/dist/models/RedisKeys.d.ts +15 -0
  109. package/dist/models/RedisKeys.js +18 -0
  110. package/dist/models/SystemEntities.d.ts +8 -1
  111. package/dist/models/SystemEntities.js +7 -0
  112. package/dist/models/SystemTables.d.ts +1 -3
  113. package/dist/models/SystemTables.js +2 -4
  114. package/dist/models/bizmodels.d.ts +30 -0
  115. package/dist/models/bizmodels.js +6 -1
  116. package/dist/models/userSession.d.ts +1 -0
  117. package/dist/schedule/anonymousContext.d.ts +14 -0
  118. package/dist/schedule/anonymousContext.js +59 -0
  119. package/dist/schedule/index.d.ts +4 -3
  120. package/dist/schedule/index.js +8 -67
  121. package/dist/schedule/runSchedule.d.ts +12 -0
  122. package/dist/schedule/runSchedule.js +68 -0
  123. package/dist/schedule/scheduleNames.d.ts +13 -0
  124. package/dist/schedule/scheduleNames.js +17 -0
  125. package/dist/service/AuthService.js +8 -5
  126. package/dist/service/EnumInfoService.js +9 -5
  127. package/dist/service/FileCenterService.js +13 -9
  128. package/dist/service/SysConfigService.d.ts +1 -1
  129. package/dist/service/SysConfigService.js +4 -2
  130. package/dist/service/UserAccountService.js +10 -6
  131. package/dist/service/UserSessionService.d.ts +22 -0
  132. package/dist/service/UserSessionService.js +74 -2
  133. package/dist/service/VisitStatService.d.ts +1 -1
  134. package/dist/service/VisitStatService.js +20 -27
  135. package/dist/service/WorkbenchService.d.ts +33 -0
  136. package/dist/service/WorkbenchService.js +70 -12
  137. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  138. package/dist/service/anyapi/AnyApiService.js +4 -2
  139. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  140. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  141. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  142. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  143. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  144. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  145. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  146. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  147. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  148. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -0
  149. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  150. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -0
  151. package/dist/service/base/BaseService.d.ts +12 -0
  152. package/dist/service/base/BaseService.js +22 -0
  153. package/dist/service/base/RedisCacheService.d.ts +7 -0
  154. package/dist/service/base/RedisCacheService.js +7 -0
  155. package/dist/service/crudstd/CrudStdRelationService.js +63 -36
  156. package/dist/service/crudstd/CrudStdService.d.ts +21 -5
  157. package/dist/service/crudstd/CrudStdService.js +137 -21
  158. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  159. package/dist/service/curd/CrudProQuick.js +147 -0
  160. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  161. package/dist/service/curd/CurdMixByAccountService.js +11 -6
  162. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  163. package/dist/service/curd/CurdMixByDictService.js +10 -7
  164. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  165. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  166. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  167. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  168. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  169. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  170. package/dist/service/curd/CurdMixService.d.ts +16 -5
  171. package/dist/service/curd/CurdMixService.js +26 -2
  172. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  173. package/dist/service/curd/CurdMixUtils.js +117 -41
  174. package/dist/service/curd/CurdProService.d.ts +3 -10
  175. package/dist/service/curd/CurdProService.js +38 -148
  176. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  177. package/dist/service/curd/fixCfgModel.js +104 -0
  178. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  179. package/dist/service/proxyapi/ProxyApiService.d.ts +1 -0
  180. package/dist/service/proxyapi/ProxyApiService.js +43 -9
  181. package/dist/views/404_app.html +31 -31
  182. package/dist/views/404_workbench.html +34 -34
  183. package/package.json +28 -24
  184. package/tsconfig.json +32 -0
  185. package/src/config/config.default.ts +0 -172
  186. package/src/config/seed/aeskey.txt +0 -1
  187. package/src/config/utils.ts +0 -23
  188. package/src/configuration.ts +0 -83
  189. package/src/controller/base/BaseApiController.ts +0 -145
  190. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  191. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  192. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  193. package/src/controller/gateway/DocGatewayController.ts +0 -165
  194. package/src/controller/gateway/FileController.ts +0 -110
  195. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  196. package/src/controller/gateway/PublicApiController.ts +0 -145
  197. package/src/controller/gateway/StaticController.ts +0 -328
  198. package/src/controller/helpers.controller.ts +0 -161
  199. package/src/controller/home.controller.ts +0 -71
  200. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  201. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  202. package/src/controller/manage/AppMangeApi.ts +0 -53
  203. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  204. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  205. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  206. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  207. package/src/controller/manage/DataDictManageApi.ts +0 -78
  208. package/src/controller/manage/DeployManageApi.ts +0 -179
  209. package/src/controller/manage/DocLibManageApi.ts +0 -69
  210. package/src/controller/manage/DocManageApi.ts +0 -99
  211. package/src/controller/manage/FileManageApi.ts +0 -45
  212. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  213. package/src/controller/manage/MenuManageApi.ts +0 -63
  214. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  215. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  216. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  217. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  218. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  219. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  220. package/src/controller/myinfo/AuthController.ts +0 -174
  221. package/src/controller/myinfo/MyInfoController.ts +0 -32
  222. package/src/controller/render/AppRenderController.ts +0 -76
  223. package/src/controller/test.controller.ts +0 -37
  224. package/src/filter/default.filter.ts +0 -13
  225. package/src/filter/notfound.filter.ts +0 -10
  226. package/src/index.ts +0 -99
  227. package/src/interface.ts +0 -31
  228. package/src/libs/crud-pro/CrudPro.ts +0 -158
  229. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  230. package/src/libs/crud-pro/exceptions.ts +0 -124
  231. package/src/libs/crud-pro/interfaces.ts +0 -183
  232. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  233. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  234. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  235. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  236. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  237. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  238. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  239. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  240. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  241. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  242. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  243. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  244. package/src/libs/crud-pro/models/keys.ts +0 -159
  245. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  246. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  247. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  248. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  249. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  250. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  251. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  252. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  253. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  254. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  255. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  256. package/src/libs/crud-pro/sql.txt +0 -120
  257. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  258. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  259. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  260. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  261. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  262. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  263. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  264. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  265. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  266. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  267. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  268. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  269. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  270. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  271. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  272. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  273. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  274. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  275. package/src/libs/utils/common-dto.ts +0 -52
  276. package/src/libs/utils/crypto-utils.ts +0 -52
  277. package/src/libs/utils/fatcms-request.ts +0 -115
  278. package/src/libs/utils/functions.ts +0 -67
  279. package/src/libs/utils/ordernum-utils.ts +0 -18
  280. package/src/libs/utils/parseConfig.ts +0 -62
  281. package/src/libs/utils/parseCreateSql.ts +0 -91
  282. package/src/libs/utils/render-utils.ts +0 -184
  283. package/src/middleware/forbidden.middleware.ts +0 -71
  284. package/src/middleware/global.middleware.ts +0 -278
  285. package/src/middleware/permission.middleware.ts +0 -81
  286. package/src/middleware/tx.middleware.ts +0 -30
  287. package/src/models/SystemEntities.ts +0 -115
  288. package/src/models/SystemPerm.ts +0 -105
  289. package/src/models/SystemTables.ts +0 -30
  290. package/src/models/bizmodels.ts +0 -89
  291. package/src/models/contextLogger.ts +0 -132
  292. package/src/models/devops.ts +0 -17
  293. package/src/models/userSession.ts +0 -216
  294. package/src/schedule/index.ts +0 -73
  295. package/src/service/AuthService.ts +0 -270
  296. package/src/service/EnumInfoService.ts +0 -129
  297. package/src/service/FileCenterService.ts +0 -394
  298. package/src/service/SysConfigService.ts +0 -34
  299. package/src/service/UserAccountService.ts +0 -100
  300. package/src/service/UserSessionService.ts +0 -81
  301. package/src/service/VisitStatService.ts +0 -179
  302. package/src/service/WorkbenchService.ts +0 -160
  303. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  304. package/src/service/anyapi/AnyApiService.ts +0 -184
  305. package/src/service/base/ApiBaseService.ts +0 -42
  306. package/src/service/base/ApiRateLimiter.ts +0 -59
  307. package/src/service/base/BaseService.ts +0 -74
  308. package/src/service/base/RedisCacheService.ts +0 -38
  309. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  310. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  311. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  312. package/src/service/crudstd/CrudStdService.ts +0 -188
  313. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  314. package/src/service/curd/CurdMixByDictService.ts +0 -113
  315. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  316. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  317. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  318. package/src/service/curd/CurdMixService.ts +0 -65
  319. package/src/service/curd/CurdMixUtils.ts +0 -248
  320. package/src/service/curd/CurdProService.ts +0 -379
  321. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  322. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  323. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  324. package/src/service/proxyapi/RouteHandler.ts +0 -8
  325. package/src/service/proxyapi/RouteTrie.ts +0 -74
  326. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  327. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  328. package/src/views/404_app.html +0 -31
  329. package/src/views/404_workbench.html +0 -34
  330. package/src/views/static/favicon.ico +0 -0
@@ -9,24 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ForbiddenMiddleware = void 0;
10
10
  const core_1 = require("@midwayjs/core");
11
11
  // 一些爬虫/漏洞分析工具会来请求这玩意。
12
- const blackEqualList = [
13
- '/config.json',
14
- '/backend/.env',
15
- '/application.yml',
16
- '/db.ini',
17
- '/.well-known/security.txt',
18
- ];
19
- const blackPrefixList = [
20
- '/.aws/',
21
- '/.git/',
22
- '/.svn/',
23
- '/.env/',
24
- '/src/',
25
- '/var/logs/',
26
- '/var/log/',
27
- '/cgi-bin/',
28
- '/php-cgi/',
29
- ];
12
+ const blackEqualList = ['/config.json', '/backend/.env', '/application.yml', '/db.ini', '/.well-known/security.txt'];
13
+ const blackPrefixList = ['/.aws/', '/.git/', '/.svn/', '/.env/', '/src/', '/var/logs/', '/var/log/', '/cgi-bin/', '/php-cgi/'];
30
14
  /**
31
15
  * 针对一些路径禁止访问。避免一些爬虫抓取网站内容,实际上这里枚举的路径,本身就是不存在的。只是为了提前拦截,为了服务器性能考虑。
32
16
  */
@@ -36,7 +20,7 @@ let ForbiddenMiddleware = class ForbiddenMiddleware {
36
20
  if (path === '/') {
37
21
  return false;
38
22
  }
39
- if (path.startsWith('/ns/')) {
23
+ if (path.startsWith('/ns/') || path.startsWith('/pages/')) {
40
24
  return false;
41
25
  }
42
26
  for (let i = 0; i < blackEqualList.length; i++) {
@@ -51,13 +35,13 @@ let ForbiddenMiddleware = class ForbiddenMiddleware {
51
35
  return true;
52
36
  }
53
37
  }
54
- return !!(path.includes('/wp-includes/') || path.endsWith('.php') || path.endsWith('/.git/config'));
38
+ return !!(path.includes('/wp-includes/') || path.includes('/wp-admin/') || path.includes('/wp-content/') || path.endsWith('.php') || path.endsWith('/.git/config'));
55
39
  }
56
40
  resolve() {
57
41
  return async (ctx, next) => {
58
- ctx.set({ "content-type": "text/html; charset=utf-8" });
42
+ ctx.set({ 'content-type': 'text/html; charset=utf-8' });
59
43
  ctx.status = 404;
60
- ctx.body = "404!404!404!重要的事情说三遍!";
44
+ ctx.body = '404!404!404!重要的事情说三遍!';
61
45
  };
62
46
  }
63
47
  static getName() {
@@ -37,6 +37,15 @@ function isBlob(obj) {
37
37
  function isStream(obj) {
38
38
  return obj && obj instanceof node_stream_1.Stream;
39
39
  }
40
+ async function getUserSessionService(ctx) {
41
+ return ctx.requestContext.getAsync(UserSessionService_1.UserSessionService);
42
+ }
43
+ async function getWorkbenchService(ctx) {
44
+ return ctx.requestContext.getAsync(WorkbenchService_1.WorkbenchService);
45
+ }
46
+ async function getVisitStatService(ctx) {
47
+ return ctx.requestContext.getAsync(VisitStatService_1.VisitStatService);
48
+ }
40
49
  /**
41
50
  * 专门对ExecuteSqlContext对象进行处理
42
51
  * @param res
@@ -121,15 +130,6 @@ function handleDebugRes(beforeRes, ctx, originRes) {
121
130
  nextRes.debugInfo = debugInfo;
122
131
  return nextRes;
123
132
  }
124
- async function getUserSessionService(ctx) {
125
- return ctx.requestContext.getAsync(UserSessionService_1.UserSessionService);
126
- }
127
- async function getWorkbenchService(ctx) {
128
- return ctx.requestContext.getAsync(WorkbenchService_1.WorkbenchService);
129
- }
130
- async function getVisitStatService(ctx) {
131
- return ctx.requestContext.getAsync(VisitStatService_1.VisitStatService);
132
- }
133
133
  /**
134
134
  * 检查是否是超级管理员
135
135
  * @param ctx
@@ -155,6 +155,12 @@ function checkIsSuperAdmin(ctx, sessionInfo) {
155
155
  }
156
156
  return false;
157
157
  }
158
+ /**
159
+ * 处理调试错误
160
+ * @param e
161
+ * @param ctx
162
+ * @returns
163
+ */
158
164
  function handleDebugError(e, ctx) {
159
165
  ctx.logger.error('GlobalMiddleware', e);
160
166
  let errorStack = null;
@@ -177,6 +183,10 @@ function handleDebugError(e, ctx) {
177
183
  }
178
184
  return res;
179
185
  }
186
+ /**
187
+ * 数据埋点
188
+ * @param ctx
189
+ */
180
190
  async function trackRequest(ctx) {
181
191
  try {
182
192
  const visitStatService = await getVisitStatService(ctx);
@@ -186,13 +196,23 @@ async function trackRequest(ctx) {
186
196
  console.error('trackRequestError', e);
187
197
  }
188
198
  }
199
+ /**
200
+ * 这些路径不需要配置用户信息等操作
201
+ */
202
+ const excludePathPrefix = ['/ns/static/', '/ns/api/helpers'];
189
203
  /**
190
204
  * 全局中间件
191
205
  */
192
206
  let GlobalMiddleware = class GlobalMiddleware {
193
207
  match(ctx) {
194
208
  const path = ctx.path;
195
- return !(path.startsWith('/ns/static/'));
209
+ for (let i = 0; i < excludePathPrefix.length; i++) {
210
+ const excludePathPrefix1 = excludePathPrefix[i];
211
+ if (path.startsWith(excludePathPrefix1)) {
212
+ return false;
213
+ }
214
+ }
215
+ return true;
196
216
  }
197
217
  resolve() {
198
218
  return async (ctx, next) => {
@@ -19,7 +19,7 @@ function checkPermission(codeList) {
19
19
  let message;
20
20
  const loginName = userSession.getSessionInfo().loginName;
21
21
  if (loginName === 'devopsviewer') {
22
- message = "开放体验账号不支持这些操作:新增、修改、删除、上传";
22
+ message = '开放体验账号不支持这些操作:新增、修改、删除、上传';
23
23
  }
24
24
  else {
25
25
  message = '缺少权限: ' + JSON.stringify(codeList);
@@ -0,0 +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 };
@@ -0,0 +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;
@@ -0,0 +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 };
@@ -0,0 +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;
@@ -0,0 +1,74 @@
1
+ export interface SysAsyncTaskEntity {
2
+ id: number;
3
+ task_uuid: string;
4
+ task_name: string;
5
+ task_description: string | null;
6
+ task_type: string;
7
+ task_status: SysAsyncTaskStatus;
8
+ input_params: any;
9
+ output_result: any | null;
10
+ input_file_path: string | null;
11
+ input_file_format: SysAsyncFileFormat | null;
12
+ input_file_size: number | null;
13
+ output_file_path: string | null;
14
+ output_file_format: SysAsyncFileFormat | null;
15
+ output_file_size: number | null;
16
+ input_total_records: number | null;
17
+ output_total_records: number | null;
18
+ processed_records: number;
19
+ progress: number;
20
+ error_message: string | null;
21
+ error_records: any | null;
22
+ created_by: string | null;
23
+ priority: number;
24
+ retry_count: number;
25
+ max_retries: number;
26
+ parent_task_id: number | null;
27
+ created_at: Date | string | null;
28
+ started_at: Date | string | null;
29
+ updated_at: Date | string | null;
30
+ expired_at: Date | string | null;
31
+ completed_at: Date | string | null;
32
+ created_user_session: string;
33
+ }
34
+ export declare type SysAsyncTaskPartial = Partial<SysAsyncTaskEntity>;
35
+ export declare enum SysAsyncTaskStatus {
36
+ PENDING = "PENDING",
37
+ RUNNING = "RUNNING",
38
+ SUCCEEDED = "SUCCEEDED",
39
+ PART_SUCCEEDED = "PART_SUCCEEDED",
40
+ FAILED = "FAILED",
41
+ CANCELLED = "CANCELLED",
42
+ PAUSED = "PAUSED"
43
+ }
44
+ /**
45
+ * 导出的文件名后缀
46
+ */
47
+ export declare enum SysAsyncFileFormat {
48
+ XLSX = "xlsx",
49
+ CSV = "csv",
50
+ JSON = "json",
51
+ PDF = "pdf",
52
+ TXT = "txt",
53
+ XML = "xml",
54
+ ZIP = "zip",
55
+ HTML = "html",
56
+ PNG = "png",
57
+ JPG = "jpg"
58
+ }
59
+ export interface ISysAsyncTaskHandler {
60
+ execute(asyncTaskContext: SysAsyncTaskContext): Promise<void>;
61
+ }
62
+ export interface SysAsyncTaskContext {
63
+ task: SysAsyncTaskEntity;
64
+ updateTaskStatus: (sysAsyncTaskPartial: SysAsyncTaskPartial) => any;
65
+ }
66
+ export interface SysAsyncTaskHandlerConfig {
67
+ taskType: string;
68
+ handler: ISysAsyncTaskHandler;
69
+ maxRetries?: number;
70
+ priority?: number;
71
+ expireSeconds?: number;
72
+ }
73
+ export declare const HEADER_KEY_RUN_BY_ASYNC_TASK_ID = "run-by-async-task-id";
74
+ export declare const HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = "run-by-async-task-workbenchcode";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = exports.HEADER_KEY_RUN_BY_ASYNC_TASK_ID = exports.SysAsyncFileFormat = exports.SysAsyncTaskStatus = void 0;
4
+ var SysAsyncTaskStatus;
5
+ (function (SysAsyncTaskStatus) {
6
+ SysAsyncTaskStatus["PENDING"] = "PENDING";
7
+ SysAsyncTaskStatus["RUNNING"] = "RUNNING";
8
+ SysAsyncTaskStatus["SUCCEEDED"] = "SUCCEEDED";
9
+ SysAsyncTaskStatus["PART_SUCCEEDED"] = "PART_SUCCEEDED";
10
+ SysAsyncTaskStatus["FAILED"] = "FAILED";
11
+ SysAsyncTaskStatus["CANCELLED"] = "CANCELLED";
12
+ SysAsyncTaskStatus["PAUSED"] = "PAUSED";
13
+ })(SysAsyncTaskStatus = exports.SysAsyncTaskStatus || (exports.SysAsyncTaskStatus = {}));
14
+ /**
15
+ * 导出的文件名后缀
16
+ */
17
+ var SysAsyncFileFormat;
18
+ (function (SysAsyncFileFormat) {
19
+ SysAsyncFileFormat["XLSX"] = "xlsx";
20
+ SysAsyncFileFormat["CSV"] = "csv";
21
+ SysAsyncFileFormat["JSON"] = "json";
22
+ SysAsyncFileFormat["PDF"] = "pdf";
23
+ SysAsyncFileFormat["TXT"] = "txt";
24
+ SysAsyncFileFormat["XML"] = "xml";
25
+ SysAsyncFileFormat["ZIP"] = "zip";
26
+ SysAsyncFileFormat["HTML"] = "html";
27
+ SysAsyncFileFormat["PNG"] = "png";
28
+ SysAsyncFileFormat["JPG"] = "jpg";
29
+ })(SysAsyncFileFormat = exports.SysAsyncFileFormat || (exports.SysAsyncFileFormat = {}));
30
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_ID = 'run-by-async-task-id';
31
+ exports.HEADER_KEY_RUN_BY_ASYNC_TASK_WORKBENCH_CODE = 'run-by-async-task-workbenchcode';
@@ -0,0 +1,15 @@
1
+ declare const RedisKeys: {
2
+ ASYNC_TASK_LOCK: string;
3
+ ASYNC_TASK_TIMEOUT_LOCK: string;
4
+ ASYNC_TASK_UPDATE_TIME: string;
5
+ USER_SESSION_PREFIX: string;
6
+ USER_SESSION_ASYNC_TASK_ID_PREFIX: string;
7
+ USER_ACTION_TIME_LIMIT_PREFIX: string;
8
+ VISIT_STAT_LOCK_PREFIX: string;
9
+ VISIT_STAT_DATE_PREFIX: string;
10
+ LINK_TO_CUSTOM_PREFIX: string;
11
+ CURD_MIX_BY_DICT_PREFIX: string;
12
+ QUERY_ENUM_INFO_PREFIX: string;
13
+ REDIS_LOCK_MIDDILEWARE: string;
14
+ };
15
+ export { RedisKeys };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisKeys = void 0;
4
+ const RedisKeys = {
5
+ ASYNC_TASK_LOCK: 'FatAsyncTaskLock',
6
+ ASYNC_TASK_TIMEOUT_LOCK: 'FatAsyncTaskTimeoutLock',
7
+ ASYNC_TASK_UPDATE_TIME: 'FatAsyncTaskUpdateTime',
8
+ USER_SESSION_PREFIX: 'FatUserSession_',
9
+ USER_SESSION_ASYNC_TASK_ID_PREFIX: 'FatUserSessionAsyncTaskId_',
10
+ USER_ACTION_TIME_LIMIT_PREFIX: 'FatUserActionTimeLimit_',
11
+ VISIT_STAT_LOCK_PREFIX: 'FatVsLock_',
12
+ VISIT_STAT_DATE_PREFIX: 'FatVsDate_',
13
+ LINK_TO_CUSTOM_PREFIX: 'FatLinkToCustom@@',
14
+ CURD_MIX_BY_DICT_PREFIX: 'FatCurdMixByDict@@',
15
+ QUERY_ENUM_INFO_PREFIX: 'FatQueryEnum@@',
16
+ REDIS_LOCK_MIDDILEWARE: 'FatRedisLock@@',
17
+ };
18
+ exports.RedisKeys = RedisKeys;
@@ -61,13 +61,20 @@ export interface IUpstreamInfo {
61
61
  targetList: IUpstreamItem[];
62
62
  balanceStrategy: string;
63
63
  }
64
+ export declare enum ProxyUserContextEnum {
65
+ NO_PASS = 0,
66
+ BASIC_INFO = 1,
67
+ SESSION_INFO = 2
68
+ }
64
69
  export interface IProxyApiEntity extends IApiBaseEntity {
70
+ proxy_name: string;
71
+ proxy_code: string;
65
72
  path_prefix: string;
66
73
  upstream_code: string;
67
74
  timeout_ms: number;
68
75
  status: number;
69
76
  workbench_code_array: string;
70
- user_context: number;
77
+ user_context: ProxyUserContextEnum;
71
78
  pass_real_ip: number;
72
79
  change_origin: string;
73
80
  change_host: string;
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProxyUserContextEnum = void 0;
4
+ var ProxyUserContextEnum;
5
+ (function (ProxyUserContextEnum) {
6
+ ProxyUserContextEnum[ProxyUserContextEnum["NO_PASS"] = 0] = "NO_PASS";
7
+ ProxyUserContextEnum[ProxyUserContextEnum["BASIC_INFO"] = 1] = "BASIC_INFO";
8
+ ProxyUserContextEnum[ProxyUserContextEnum["SESSION_INFO"] = 2] = "SESSION_INFO";
9
+ })(ProxyUserContextEnum = exports.ProxyUserContextEnum || (exports.ProxyUserContextEnum = {}));
@@ -1,4 +1,3 @@
1
- import { SqlDbType } from "../libs/crud-pro/models/keys";
2
1
  export declare const SystemTables: {
3
2
  sys_workbench: string;
4
3
  sys_user_account: string;
@@ -21,7 +20,6 @@ export declare const SystemTables: {
21
20
  sys_anyapi: string;
22
21
  sys_proxyapi: string;
23
22
  sys_visit_stats: string;
23
+ sys_async_tasks: string;
24
24
  };
25
- export declare const SystemDbName = "fatcms";
26
- export declare const SystemDbType = SqlDbType.mysql;
27
25
  export declare const SystemDevOpsWorkbench = "devops";
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SystemDevOpsWorkbench = exports.SystemDbType = exports.SystemDbName = exports.SystemTables = void 0;
4
- const keys_1 = require("../libs/crud-pro/models/keys");
3
+ exports.SystemDevOpsWorkbench = exports.SystemTables = void 0;
5
4
  exports.SystemTables = {
6
5
  sys_workbench: 'sys_workbench',
7
6
  sys_user_account: 'sys_user_account',
@@ -24,7 +23,6 @@ exports.SystemTables = {
24
23
  sys_anyapi: 'sys_anyapi',
25
24
  sys_proxyapi: 'sys_proxyapi',
26
25
  sys_visit_stats: 'sys_visit_stats',
26
+ sys_async_tasks: 'sys_async_tasks',
27
27
  };
28
- exports.SystemDbName = 'fatcms';
29
- exports.SystemDbType = keys_1.SqlDbType.mysql;
30
28
  exports.SystemDevOpsWorkbench = 'devops';
@@ -24,12 +24,14 @@ export interface IStdCrudCfgObj {
24
24
  toolbarList?: any[];
25
25
  }
26
26
  export interface ICrudStdAppInfo {
27
+ app_code: string;
27
28
  stdCrudCfgObj?: IStdCrudCfgObj;
28
29
  actionsMap?: any;
29
30
  status: number;
30
31
  }
31
32
  export interface ICrudStdAppInfoForSettingKey extends ICrudStdAppInfo {
32
33
  settingKeyActionCfg?: any;
34
+ buttonSettingKeyActionCfg?: any;
33
35
  authConfig?: string[];
34
36
  authType?: string;
35
37
  }
@@ -65,5 +67,33 @@ export interface IVisitorExt extends IVisitor {
65
67
  workbenchCode: string;
66
68
  avatar: string;
67
69
  accountType: string;
70
+ bizExt?: any;
68
71
  }
69
72
  export declare const FILE_GET_TYPES: string[];
73
+ /**
74
+ * fat-design中的TablePro组件的查询参数
75
+ */
76
+ export interface ITableProQueryParams {
77
+ condition: any;
78
+ pageNo: number;
79
+ pageSize: number;
80
+ orderBy: string | any;
81
+ }
82
+ export declare enum StdCrudExportInputParamsAppType {
83
+ STD_CRUD = "STD_CRUD",
84
+ INNER_HTTP = "INNER_HTTP"
85
+ }
86
+ /**
87
+ * fat-design中的TablePro组件的查询参数
88
+ */
89
+ export interface IStdCrudExportInputParams {
90
+ appType: StdCrudExportInputParamsAppType;
91
+ appCode?: string;
92
+ innerHttpUrl?: string;
93
+ columns?: any[];
94
+ lastQueryParams: ITableProQueryParams;
95
+ selectedRowKeys: string[] | number[];
96
+ headers: any;
97
+ primaryKey: any;
98
+ pageSize: number;
99
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FILE_GET_TYPES = exports.CTX_WORKBENCH_CODE = exports.CTX_VISITOR_ACCOUNT_TYPE = exports.CTX_VISITOR_NICKNAME = exports.CTX_VISITOR_AVATAR = exports.CTX_VISITOR_ID = exports.PermRole = exports.PermFunc = exports.UploadCategoryType = exports.AccessType = void 0;
3
+ exports.StdCrudExportInputParamsAppType = exports.FILE_GET_TYPES = exports.CTX_WORKBENCH_CODE = exports.CTX_VISITOR_ACCOUNT_TYPE = exports.CTX_VISITOR_NICKNAME = exports.CTX_VISITOR_AVATAR = exports.CTX_VISITOR_ID = exports.PermRole = exports.PermFunc = exports.UploadCategoryType = exports.AccessType = void 0;
4
4
  var AccessType;
5
5
  (function (AccessType) {
6
6
  AccessType["owner"] = "owner";
@@ -32,3 +32,8 @@ exports.CTX_VISITOR_NICKNAME = 'visitor.nickName';
32
32
  exports.CTX_VISITOR_ACCOUNT_TYPE = 'visitor.accountType';
33
33
  exports.CTX_WORKBENCH_CODE = 'visitor.workbenchCode';
34
34
  exports.FILE_GET_TYPES = ['thumbnail', 'preview', 'download'];
35
+ var StdCrudExportInputParamsAppType;
36
+ (function (StdCrudExportInputParamsAppType) {
37
+ StdCrudExportInputParamsAppType["STD_CRUD"] = "STD_CRUD";
38
+ StdCrudExportInputParamsAppType["INNER_HTTP"] = "INNER_HTTP";
39
+ })(StdCrudExportInputParamsAppType = exports.StdCrudExportInputParamsAppType || (exports.StdCrudExportInputParamsAppType = {}));
@@ -17,6 +17,7 @@ interface ISessionInfo {
17
17
  accountId: string;
18
18
  workbenchCode: string;
19
19
  accountType: string;
20
+ bizExt?: any;
20
21
  }
21
22
  interface IConsumerUserInfo {
22
23
  workbenchCode: string;
@@ -0,0 +1,14 @@
1
+ import * as koa from '@midwayjs/koa';
2
+ export declare type RunServiceAtAnonymousContextRunner = (ctx: koa.IMidwayKoaContext) => any;
3
+ export interface RunServiceAtAnonymousContextRes {
4
+ result: any;
5
+ error: any;
6
+ }
7
+ declare class AnonymousContext {
8
+ private app;
9
+ setApp(app: koa.Application): void;
10
+ getApp(): koa.IMidwayKoaApplication;
11
+ runServiceAtAnonymousContext(runner: RunServiceAtAnonymousContextRunner): Promise<RunServiceAtAnonymousContextRes>;
12
+ }
13
+ declare const ANONYMOUS_CONTEXT: AnonymousContext;
14
+ export { ANONYMOUS_CONTEXT };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ANONYMOUS_CONTEXT = void 0;
4
+ const contextLogger_1 = require("../models/contextLogger");
5
+ const Transaction_1 = require("../libs/crud-pro/models/Transaction");
6
+ const userSession_1 = require("../models/userSession");
7
+ const anonymousUserInfo = {
8
+ nickName: 'anonymous_user',
9
+ avatar: '',
10
+ roleCodes: [],
11
+ functionCodes: [],
12
+ loginName: 'anonymous_user',
13
+ sessionId: '',
14
+ accountId: '',
15
+ workbenchCode: '',
16
+ accountType: userSession_1.SYS_ACCOUNT_TYPE,
17
+ };
18
+ const anonymousWorkbenchInfo = {
19
+ id: 0,
20
+ workbench_code: 'anonymous_workbench',
21
+ workbench_name: 'anonymous_workbench',
22
+ workbench_domain: 'anonymous_workbench',
23
+ workbench_desc: 'anonymous_workbench',
24
+ html_content: 'anonymous_workbench',
25
+ status: 1,
26
+ workbench_type: 0,
27
+ };
28
+ class AnonymousContext {
29
+ setApp(app) {
30
+ this.app = app;
31
+ }
32
+ getApp() {
33
+ return this.app;
34
+ }
35
+ async runServiceAtAnonymousContext(runner) {
36
+ const app = this.app;
37
+ const ctx = app.createAnonymousContext();
38
+ ctx.app = app;
39
+ ctx.contextLogger = new contextLogger_1.ContextLogger(ctx);
40
+ ctx.transaction = new Transaction_1.Transaction();
41
+ ctx.userSession = new userSession_1.UserSessionInfo(anonymousUserInfo, true);
42
+ ctx.workbenchInfo = anonymousWorkbenchInfo;
43
+ let result = null;
44
+ let error = null;
45
+ try {
46
+ result = await runner(ctx);
47
+ }
48
+ catch (e) {
49
+ error = e;
50
+ ctx.logger.error('runServiceAtAnonymousContext error ', e);
51
+ }
52
+ finally {
53
+ await ctx.transaction.releaseTx();
54
+ }
55
+ return { result: result, error: error };
56
+ }
57
+ }
58
+ const ANONYMOUS_CONTEXT = new AnonymousContext();
59
+ exports.ANONYMOUS_CONTEXT = ANONYMOUS_CONTEXT;