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
@@ -22,6 +22,7 @@ const UserSessionService_1 = require("./UserSessionService");
22
22
  const common_dto_1 = require("../libs/utils/common-dto");
23
23
  const fatcms_request_1 = require("../libs/utils/fatcms-request");
24
24
  const exceptions_1 = require("../libs/crud-pro/exceptions");
25
+ const global_config_1 = require("../libs/global-config/global-config");
25
26
  let AuthService = class AuthService {
26
27
  /**
27
28
  * 明文密码转unsaltedPwd密码
@@ -116,7 +117,7 @@ let AuthService = class AuthService {
116
117
  sessionId,
117
118
  accountId,
118
119
  workbenchCode,
119
- accountType: userSession_1.SYS_ACCOUNT_TYPE
120
+ accountType: userSession_1.SYS_ACCOUNT_TYPE,
120
121
  };
121
122
  await this.userSessionService.saveUserSession(sessionInfo);
122
123
  return {
@@ -171,14 +172,15 @@ let AuthService = class AuthService {
171
172
  * @private
172
173
  */
173
174
  async queryUserRoleCodeList(accountId) {
175
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
174
176
  const res = await this.curdMixService.executeCrudByCfg({
175
177
  condition: { account_id: accountId },
176
178
  limit: 10000,
177
179
  }, {
178
180
  sqlTable: SystemTables_1.SystemTables.sys_perm_user_role,
179
181
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
180
- sqlDatabase: SystemTables_1.SystemDbName,
181
- sqlDdType: SystemTables_1.SystemDbType,
182
+ sqlDatabase: SystemDbName,
183
+ sqlDbType: SystemDbType,
182
184
  });
183
185
  const rows = res.getResModel().rows || [];
184
186
  const roleCodes = rows.map(({ role_code }) => {
@@ -195,14 +197,15 @@ let AuthService = class AuthService {
195
197
  if (!roleCodeList || roleCodeList.length === 0) {
196
198
  return [];
197
199
  }
200
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
198
201
  const res = await this.curdMixService.executeCrudByCfg({
199
202
  condition: { role_code: { $in: roleCodeList } },
200
203
  limit: 10000,
201
204
  }, {
202
205
  sqlTable: SystemTables_1.SystemTables.sys_perm_role_func,
203
206
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
204
- sqlDatabase: SystemTables_1.SystemDbName,
205
- sqlDdType: SystemTables_1.SystemDbType,
207
+ sqlDatabase: SystemDbName,
208
+ sqlDbType: SystemDbType,
206
209
  });
207
210
  const rows = res.getResModel().rows || [];
208
211
  const funcCodes = rows.map(({ func_code }) => {
@@ -18,6 +18,8 @@ const SystemTables_1 = require("../models/SystemTables");
18
18
  const parseConfig_1 = require("../libs/utils/parseConfig");
19
19
  const RedisCacheService_1 = require("./base/RedisCacheService");
20
20
  const CurdMixByLinkToCustomService_1 = require("./curd/CurdMixByLinkToCustomService");
21
+ const global_config_1 = require("../libs/global-config/global-config");
22
+ const RedisKeys_1 = require("../models/RedisKeys");
21
23
  function filterEmpty(e) {
22
24
  return e.label && typeof e.value !== 'undefined';
23
25
  }
@@ -27,7 +29,7 @@ let EnumInfoService = class EnumInfoService {
27
29
  const result = [];
28
30
  for (let i = 0; i < codeList.length; i++) {
29
31
  const { code, type } = codeList[i];
30
- const cacheKey = `enums@@${type}@@${code}`;
32
+ const cacheKey = `${RedisKeys_1.RedisKeys.QUERY_ENUM_INFO_PREFIX}${type}@@${code}`;
31
33
  const emums = refreshCache ? null : await this.redisCacheService.getJsonObject(cacheKey);
32
34
  if (!Array.isArray(emums) || emums.length === 0) {
33
35
  let values;
@@ -70,13 +72,14 @@ let EnumInfoService = class EnumInfoService {
70
72
  });
71
73
  }
72
74
  async queryEnumInfoBySysCfgEnum(code) {
75
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
73
76
  const res1 = await this.curdProService.executeCrudByCfg({
74
77
  condition: { config_code: code },
75
78
  }, {
76
79
  sqlTable: SystemTables_1.SystemTables.sys_configs,
77
80
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
78
- sqlDatabase: SystemTables_1.SystemDbName,
79
- sqlDdType: SystemTables_1.SystemDbType,
81
+ sqlDatabase: SystemDbName,
82
+ sqlDbType: SystemDbType,
80
83
  });
81
84
  const obj = res1.getOneObj();
82
85
  if (!obj) {
@@ -86,13 +89,14 @@ let EnumInfoService = class EnumInfoService {
86
89
  return rows.map(e => ({ label: e.label, value: e.value, children: e.children })).filter(filterEmpty);
87
90
  }
88
91
  async queryEnumInfoItemByDict(code) {
92
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
89
93
  const res1 = await this.curdProService.executeCrudByCfg({
90
94
  condition: { dict_code: code },
91
95
  }, {
92
96
  sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
93
97
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
94
- sqlDatabase: SystemTables_1.SystemDbName,
95
- sqlDdType: SystemTables_1.SystemDbType,
98
+ sqlDatabase: SystemDbName,
99
+ sqlDbType: SystemDbType,
96
100
  });
97
101
  const obj = res1.getResRows();
98
102
  if (!obj) {
@@ -20,7 +20,7 @@ const CurdMixService_1 = require("./curd/CurdMixService");
20
20
  const keys_1 = require("../libs/crud-pro/models/keys");
21
21
  const bizmodels_1 = require("../models/bizmodels");
22
22
  const BaseService_1 = require("./base/BaseService");
23
- const SystemTables_1 = require("../models/SystemTables");
23
+ const global_config_1 = require("../libs/global-config/global-config");
24
24
  function getSuffix(s) {
25
25
  if (s) {
26
26
  const indexOf = s.lastIndexOf('.');
@@ -93,12 +93,13 @@ class FileDB {
93
93
  this.curdMixService = curdMixService;
94
94
  }
95
95
  async getFileInfo(fileKey) {
96
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
96
97
  const condition = { file_key: fileKey };
97
98
  const cfgModel = {
98
99
  sqlTable: 'sys_file',
99
100
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
100
- sqlDatabase: SystemTables_1.SystemDbName,
101
- sqlDdType: SystemTables_1.SystemDbType,
101
+ sqlDatabase: SystemDbName,
102
+ sqlDbType: SystemDbType,
102
103
  validateCfg: {
103
104
  'condition.file_key': [keys_1.KeysOfValidators.REQUIRED, keys_1.KeysOfValidators.STRING],
104
105
  },
@@ -107,11 +108,12 @@ class FileDB {
107
108
  return res.getOneObj();
108
109
  }
109
110
  async saveFileInfo(fileInfo) {
111
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
110
112
  const cfgModel = {
111
113
  sqlTable: 'sys_file',
112
114
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT,
113
- sqlDatabase: SystemTables_1.SystemDbName,
114
- sqlDdType: SystemTables_1.SystemDbType,
115
+ sqlDatabase: SystemDbName,
116
+ sqlDbType: SystemDbType,
115
117
  };
116
118
  return await this.curdMixService.executeCrudByCfg({
117
119
  data: fileInfo,
@@ -121,20 +123,22 @@ class FileDB {
121
123
  }, cfgModel);
122
124
  }
123
125
  async saveAssetsLog(fileInfo) {
126
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
124
127
  const cfgModel = {
125
128
  sqlTable: 'sys_assets_log',
126
129
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT,
127
- sqlDatabase: SystemTables_1.SystemDbName,
128
- sqlDdType: SystemTables_1.SystemDbType,
130
+ sqlDatabase: SystemDbName,
131
+ sqlDbType: SystemDbType,
129
132
  };
130
133
  return await this.curdMixService.executeCrudByCfg({ data: fileInfo }, cfgModel);
131
134
  }
132
135
  async deleteFileInfo(id) {
136
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
133
137
  const cfgModel = {
134
138
  sqlTable: 'sys_file',
135
139
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_DELETE,
136
- sqlDatabase: SystemTables_1.SystemDbName,
137
- sqlDdType: SystemTables_1.SystemDbType,
140
+ sqlDatabase: SystemDbName,
141
+ sqlDbType: SystemDbType,
138
142
  validateCfg: {
139
143
  'condition.id': [keys_1.KeysOfValidators.REQUIRED, keys_1.KeysOfValidators.NUMBER],
140
144
  },
@@ -1,5 +1,5 @@
1
1
  import { Context } from '@midwayjs/koa';
2
- import { BaseService } from "./base/BaseService";
2
+ import { BaseService } from './base/BaseService';
3
3
  export declare class SysConfigService extends BaseService {
4
4
  ctx: Context;
5
5
  private curdProService;
@@ -15,18 +15,20 @@ const keys_1 = require("../libs/crud-pro/models/keys");
15
15
  const SystemTables_1 = require("../models/SystemTables");
16
16
  const BaseService_1 = require("./base/BaseService");
17
17
  const CurdProService_1 = require("./curd/CurdProService");
18
+ const global_config_1 = require("../libs/global-config/global-config");
18
19
  let SysConfigService = class SysConfigService extends BaseService_1.BaseService {
19
20
  async getSysConfigOne(config_code) {
20
21
  if (!config_code) {
21
22
  throw new Error('[getSysConfigOne] config_code required');
22
23
  }
24
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
23
25
  const res1 = await this.curdProService.executeCrudByCfg({
24
26
  condition: { config_code },
25
27
  }, {
26
28
  sqlTable: SystemTables_1.SystemTables.sys_configs,
27
29
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
28
- sqlDatabase: SystemTables_1.SystemDbName,
29
- sqlDdType: SystemTables_1.SystemDbType,
30
+ sqlDatabase: SystemDbName,
31
+ sqlDbType: SystemDbType,
30
32
  });
31
33
  return res1.getOneObj();
32
34
  }
@@ -18,20 +18,22 @@ const functions_1 = require("../libs/utils/functions");
18
18
  const exceptions_1 = require("../libs/crud-pro/exceptions");
19
19
  const SystemTables_1 = require("../models/SystemTables");
20
20
  const common_dto_1 = require("../libs/utils/common-dto");
21
+ const global_config_1 = require("../libs/global-config/global-config");
21
22
  let UserAccountService = class UserAccountService {
22
23
  /**
23
24
  * 查询用户: 根据loginName查询
24
25
  * @param loginName
25
26
  */
26
27
  async queryUserAccountByLoginName(loginName) {
28
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
27
29
  const query = await this.curdMixService.executeCrudByCfg({
28
30
  condition: { login_name: loginName },
29
31
  }, {
30
32
  method: 'UserAccountService.queryUserAccountByLoginName',
31
33
  sqlTable: SystemTables_1.SystemTables.sys_user_account,
32
34
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
33
- sqlDatabase: SystemTables_1.SystemDbName,
34
- sqlDdType: SystemTables_1.SystemDbType,
35
+ sqlDatabase: SystemDbName,
36
+ sqlDbType: SystemDbType,
35
37
  });
36
38
  const { row } = query.getResModel();
37
39
  return row;
@@ -45,6 +47,7 @@ let UserAccountService = class UserAccountService {
45
47
  if (!accountIdList || accountIdList.length === 0) {
46
48
  return [];
47
49
  }
50
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
48
51
  const accountIds = accountIdList.map(userId => {
49
52
  return `${userId}`;
50
53
  });
@@ -52,8 +55,8 @@ let UserAccountService = class UserAccountService {
52
55
  method: 'UserAccountService.queryAccountBasicInfoByIds',
53
56
  sqlTable: SystemTables_1.SystemTables.sys_user_account,
54
57
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
55
- sqlDatabase: SystemTables_1.SystemDbName,
56
- sqlDdType: SystemTables_1.SystemDbType,
58
+ sqlDatabase: SystemDbName,
59
+ sqlDbType: SystemDbType,
57
60
  };
58
61
  const reqJson = {
59
62
  columns: columns,
@@ -75,6 +78,7 @@ let UserAccountService = class UserAccountService {
75
78
  if (!loginName) {
76
79
  throw new exceptions_1.CommonException(exceptions_1.Exceptions.OTHER_EXCEPTION, 'loginName不存在');
77
80
  }
81
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
78
82
  const pwd_salt = (0, functions_1.createUniqueId)();
79
83
  const pwd_md5 = md5(unsaltedPwd + pwd_salt);
80
84
  const res1 = await this.curdMixService.executeCrudByCfg({
@@ -83,8 +87,8 @@ let UserAccountService = class UserAccountService {
83
87
  }, {
84
88
  sqlTable: SystemTables_1.SystemTables.sys_user_account,
85
89
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_UPDATE,
86
- sqlDatabase: SystemTables_1.SystemDbName,
87
- sqlDdType: SystemTables_1.SystemDbType,
90
+ sqlDatabase: SystemDbName,
91
+ sqlDbType: SystemDbType,
88
92
  });
89
93
  return common_dto_1.CommonResult.successRes(res1.getResModel());
90
94
  }
@@ -2,13 +2,34 @@ import { ISessionInfo } from '../models/userSession';
2
2
  export declare class UserSessionService {
3
3
  private ctx;
4
4
  private redisCacheService;
5
+ private curdProService;
6
+ private fatcmsUserSessionKeepTimeSecond;
7
+ /**
8
+ * 获取用户会话保持时间: 单位秒
9
+ * @returns
10
+ */
11
+ private getSessionKeepTimeSecond;
12
+ /**
13
+ * 保存用户会话信息
14
+ * @param sessionInfo
15
+ */
5
16
  saveUserSession(sessionInfo: ISessionInfo): Promise<void>;
6
17
  /**
7
18
  * 移除Session
8
19
  * @param sessionId
9
20
  */
10
21
  removeUserSession(sessionId: string): Promise<any>;
22
+ /**
23
+ * 获取用户会话信息
24
+ * @param sessionId
25
+ * @returns
26
+ */
11
27
  private getCurrentUserSessionForMiddleware1;
28
+ /**
29
+ * 从异步任务队列中获取当时用户的Session信息
30
+ * @param asyncTaskId
31
+ */
32
+ private getCurrentUserSessionByAsyncTaskId;
12
33
  /**
13
34
  * 专门给中间件点调用的
14
35
  */
@@ -14,6 +14,12 @@ const core_1 = require("@midwayjs/core");
14
14
  const functions_1 = require("../libs/utils/functions");
15
15
  const userSession_1 = require("../models/userSession");
16
16
  const RedisCacheService_1 = require("./base/RedisCacheService");
17
+ const RedisKeys_1 = require("../models/RedisKeys");
18
+ const AsyncTaskModel_1 = require("../models/AsyncTaskModel");
19
+ const CurdProService_1 = require("./curd/CurdProService");
20
+ const keys_1 = require("../libs/crud-pro/models/keys");
21
+ const SystemTables_1 = require("../models/SystemTables");
22
+ const global_config_1 = require("../libs/global-config/global-config");
17
23
  function pickUserAvatar(avatar) {
18
24
  if (!avatar) {
19
25
  return null;
@@ -41,13 +47,28 @@ function pickUserAvatar(avatar) {
41
47
  }
42
48
  const SESSION_KEEP_TIME_SECOND = 3600 * 24 * 30;
43
49
  const toCacheKey = (sessionId) => {
44
- return `UserSession@@${sessionId}`;
50
+ return `${RedisKeys_1.RedisKeys.USER_SESSION_PREFIX}${sessionId}`;
45
51
  };
46
52
  let UserSessionService = class UserSessionService {
53
+ /**
54
+ * 获取用户会话保持时间: 单位秒
55
+ * @returns
56
+ */
57
+ getSessionKeepTimeSecond() {
58
+ if (typeof this.fatcmsUserSessionKeepTimeSecond === 'number' && this.fatcmsUserSessionKeepTimeSecond > 0) {
59
+ return this.fatcmsUserSessionKeepTimeSecond;
60
+ }
61
+ return SESSION_KEEP_TIME_SECOND;
62
+ }
63
+ /**
64
+ * 保存用户会话信息
65
+ * @param sessionInfo
66
+ */
47
67
  async saveUserSession(sessionInfo) {
48
68
  sessionInfo.avatar = pickUserAvatar(sessionInfo.avatar);
49
69
  const sessionId = sessionInfo.sessionId;
50
- await this.redisCacheService.setJsonObject(toCacheKey(sessionId), sessionInfo, SESSION_KEEP_TIME_SECOND);
70
+ const keepTime = this.getSessionKeepTimeSecond();
71
+ await this.redisCacheService.setJsonObject(toCacheKey(sessionId), sessionInfo, keepTime);
51
72
  }
52
73
  /**
53
74
  * 移除Session
@@ -56,16 +77,58 @@ let UserSessionService = class UserSessionService {
56
77
  async removeUserSession(sessionId) {
57
78
  return await this.redisCacheService.removeItem(toCacheKey(sessionId));
58
79
  }
80
+ /**
81
+ * 获取用户会话信息
82
+ * @param sessionId
83
+ * @returns
84
+ */
59
85
  async getCurrentUserSessionForMiddleware1(sessionId) {
60
86
  if (!sessionId) {
61
87
  return null;
62
88
  }
63
89
  return await this.redisCacheService.getJsonObject(toCacheKey(sessionId));
64
90
  }
91
+ /**
92
+ * 从异步任务队列中获取当时用户的Session信息
93
+ * @param asyncTaskId
94
+ */
95
+ async getCurrentUserSessionByAsyncTaskId(asyncTaskId) {
96
+ const taskSessionCacheKey = `${RedisKeys_1.RedisKeys.USER_SESSION_ASYNC_TASK_ID_PREFIX}${asyncTaskId}`;
97
+ const loadSessionInfo = async () => {
98
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
99
+ const asyncTaskRes = await this.curdProService.executeCrudByCfg({
100
+ columns: ['id', 'created_user_session'],
101
+ condition: {
102
+ id: asyncTaskId,
103
+ }
104
+ }, {
105
+ sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
106
+ sqlTable: SystemTables_1.SystemTables.sys_async_tasks,
107
+ sqlDatabase: SystemDbName,
108
+ sqlDbType: SystemDbType,
109
+ });
110
+ const asyncTaskObj = asyncTaskRes.getOneObj();
111
+ if (!asyncTaskObj) {
112
+ return null;
113
+ }
114
+ return (0, functions_1.parseJsonObject)(asyncTaskObj.created_user_session);
115
+ };
116
+ let sessionInfo1 = await this.redisCacheService.getJsonObject(taskSessionCacheKey);
117
+ if (!sessionInfo1) {
118
+ sessionInfo1 = await loadSessionInfo();
119
+ await this.redisCacheService.setJsonObject(taskSessionCacheKey, sessionInfo1, 3600); // 只缓存一小时即可
120
+ }
121
+ return sessionInfo1;
122
+ }
65
123
  /**
66
124
  * 专门给中间件点调用的
67
125
  */
68
126
  async getCurrentUserSessionForMiddleware() {
127
+ // 先从Header中获取:异步任务队列的任务ID
128
+ const asyncTaskId = this.ctx.headers[AsyncTaskModel_1.HEADER_KEY_RUN_BY_ASYNC_TASK_ID];
129
+ if (asyncTaskId && typeof asyncTaskId === 'string') {
130
+ return this.getCurrentUserSessionByAsyncTaskId(asyncTaskId);
131
+ }
69
132
  const cookies = this.ctx.cookies;
70
133
  const sessionId = cookies.get(userSession_1.SESSION_ID_KEY, userSession_1.sessionCookieCfg);
71
134
  return this.getCurrentUserSessionForMiddleware1(sessionId);
@@ -79,6 +142,14 @@ __decorate([
79
142
  (0, core_1.Inject)(),
80
143
  __metadata("design:type", RedisCacheService_1.RedisCacheService)
81
144
  ], UserSessionService.prototype, "redisCacheService", void 0);
145
+ __decorate([
146
+ (0, core_1.Inject)(),
147
+ __metadata("design:type", CurdProService_1.CurdProService)
148
+ ], UserSessionService.prototype, "curdProService", void 0);
149
+ __decorate([
150
+ (0, core_1.Config)('fatcmsUserSessionKeepTimeSecond'),
151
+ __metadata("design:type", Number)
152
+ ], UserSessionService.prototype, "fatcmsUserSessionKeepTimeSecond", void 0);
82
153
  UserSessionService = __decorate([
83
154
  (0, core_1.Provide)()
84
155
  ], UserSessionService);
@@ -1,6 +1,6 @@
1
1
  import { Context } from '@midwayjs/koa';
2
2
  import { IScheduleService } from '../interface';
3
- import { BaseService } from "./base/BaseService";
3
+ import { BaseService } from './base/BaseService';
4
4
  export declare class VisitStatService extends BaseService implements IScheduleService {
5
5
  protected ctx: Context;
6
6
  private curdProService;
@@ -17,6 +17,8 @@ const SystemTables_1 = require("../models/SystemTables");
17
17
  const keys_1 = require("../libs/crud-pro/models/keys");
18
18
  const bizmodels_1 = require("../models/bizmodels");
19
19
  const common_dto_1 = require("../libs/utils/common-dto");
20
+ const global_config_1 = require("../libs/global-config/global-config");
21
+ const RedisKeys_1 = require("../models/RedisKeys");
20
22
  // 3天 的秒数
21
23
  const EXPIRE_TIME = 3 * 24 * 60 * 60;
22
24
  const STAT_TYPES = {
@@ -27,25 +29,26 @@ const STAT_TYPES = {
27
29
  let VisitStatService = class VisitStatService extends BaseService_1.BaseService {
28
30
  async runBySchedule() {
29
31
  const hours = new Date().getHours();
30
- this.logInfo("[VisitStatService] runBySchedule called, hours = " + hours);
32
+ this.logInfo('[VisitStatService] runBySchedule called, hours = ' + hours);
31
33
  return this.flushVisitStatToDB();
32
34
  }
33
35
  async flushVisitStatToDB() {
36
+ const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
34
37
  // 统计昨天的数据。
35
38
  const stat_date = new Date(Date.now() - 24 * 3600 * 1000).toISOString().split('T')[0];
36
- const lockKey = `vs_lock_${stat_date}`;
39
+ const lockKey = `${RedisKeys_1.RedisKeys.VISIT_STAT_LOCK_PREFIX}${stat_date}`;
37
40
  // 每天只能执行一次
38
41
  const client = this.redisService;
39
42
  const nxRes = await client.set(lockKey, 1, 'EX', EXPIRE_TIME, 'NX');
40
43
  if (nxRes !== 'OK') {
41
- this.logInfo("[VisitStatService] flushVisitStatToDB 每天只能执行一次 ");
42
- return common_dto_1.CommonResult.errorRes("每天只能执行一次");
44
+ this.logInfo('[VisitStatService] flushVisitStatToDB 每天只能执行一次 ');
45
+ return common_dto_1.CommonResult.errorRes('每天只能执行一次');
43
46
  }
44
- this.logInfo("[VisitStatService] flushVisitStatToDB start ");
47
+ this.logInfo('[VisitStatService] flushVisitStatToDB start ');
45
48
  let totalCount = 0;
46
49
  let successCount = 0;
47
50
  try {
48
- const keys = await client.keys(`vs_${stat_date}::*`);
51
+ const keys = await client.keys(`${RedisKeys_1.RedisKeys.VISIT_STAT_DATE_PREFIX}${stat_date}::*`);
49
52
  // `vs_${date}::${req_host}::${resource_type}::${stat_type}::${resource}`;
50
53
  totalCount = keys.length;
51
54
  for (const key of keys) {
@@ -57,7 +60,7 @@ let VisitStatService = class VisitStatService extends BaseService_1.BaseService
57
60
  const stat_type = parts[3];
58
61
  const stat_resource = parts[4];
59
62
  let stat_count;
60
- if (stat_type === STAT_TYPES.uv_ip || stat_type == STAT_TYPES.uv_uid) {
63
+ if (stat_type === STAT_TYPES.uv_ip || stat_type === STAT_TYPES.uv_uid) {
61
64
  stat_count = await client.scard(key);
62
65
  }
63
66
  else {
@@ -70,12 +73,12 @@ let VisitStatService = class VisitStatService extends BaseService_1.BaseService
70
73
  stat_type,
71
74
  resource_type,
72
75
  stat_count,
73
- req_host
74
- }
76
+ req_host,
77
+ },
75
78
  }, {
76
79
  sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_INSERT,
77
- sqlDatabase: SystemTables_1.SystemDbName,
78
- sqlDdType: SystemTables_1.SystemDbType,
80
+ sqlDatabase: SystemDbName,
81
+ sqlDbType: SystemDbType,
79
82
  sqlTable: SystemTables_1.SystemTables.sys_visit_stats,
80
83
  });
81
84
  await client.del(key);
@@ -92,7 +95,7 @@ let VisitStatService = class VisitStatService extends BaseService_1.BaseService
92
95
  this.logError('[VisitStatService] flushVisitStatToDB', error);
93
96
  console.log('[VisitStatService] flushVisitStatToDB', error);
94
97
  }
95
- this.logInfo("[VisitStatService] flushVisitStatToDB end ");
98
+ this.logInfo('[VisitStatService] flushVisitStatToDB end ');
96
99
  return common_dto_1.CommonResult.successRes({ successCount, totalCount });
97
100
  }
98
101
  /**
@@ -122,34 +125,24 @@ let VisitStatService = class VisitStatService extends BaseService_1.BaseService
122
125
  const client = this.redisService;
123
126
  const ip = this.ctx.headers['x-real-ip'];
124
127
  const userSession = this.ctx.userSession;
125
- const req_host = ((_b = (_a = this.ctx) === null || _a === void 0 ? void 0 : _a.request) === null || _b === void 0 ? void 0 : _b.host) || "null"; // 域名
128
+ const req_host = ((_b = (_a = this.ctx) === null || _a === void 0 ? void 0 : _a.request) === null || _b === void 0 ? void 0 : _b.host) || 'null'; // 域名
126
129
  const date = new Date().toISOString().split('T')[0];
127
130
  const toDateResourceKey = (stat_type) => {
128
- return `vs_${date}::${req_host}::${resource_type}::${stat_type}::${resource}`;
131
+ return `${RedisKeys_1.RedisKeys.VISIT_STAT_DATE_PREFIX}${date}::${req_host}::${resource_type}::${stat_type}::${resource}`;
129
132
  };
130
133
  const pv_key = toDateResourceKey(STAT_TYPES.pv);
131
134
  const uv_ip_key = toDateResourceKey(STAT_TYPES.uv_ip);
132
135
  const uv_uid_key = toDateResourceKey(STAT_TYPES.uv_uid);
133
136
  // 统计 PV
134
- await Promise.all([
135
- client.incr(pv_key),
136
- client.expire(pv_key, EXPIRE_TIME)
137
- ]);
137
+ await Promise.all([client.incr(pv_key), client.expire(pv_key, EXPIRE_TIME)]);
138
138
  // IP 访问 UV
139
- await Promise.all([
140
- client.sadd(uv_ip_key, `${ip}`),
141
- client.expire(uv_ip_key, EXPIRE_TIME)
142
- ]);
139
+ await Promise.all([client.sadd(uv_ip_key, `${ip}`), client.expire(uv_ip_key, EXPIRE_TIME)]);
143
140
  if (userSession && userSession.isLogin()) {
144
141
  const accountId = userSession.getSessionInfo().accountId;
145
142
  // 统计 UV
146
- await Promise.all([
147
- client.sadd(uv_uid_key, accountId),
148
- client.expire(uv_uid_key, EXPIRE_TIME)
149
- ]);
143
+ await Promise.all([client.sadd(uv_uid_key, accountId), client.expire(uv_uid_key, EXPIRE_TIME)]);
150
144
  }
151
145
  }
152
- ;
153
146
  };
154
147
  __decorate([
155
148
  (0, core_1.Inject)(),
@@ -5,15 +5,48 @@ import { IScheduleService } from '../interface';
5
5
  export declare class WorkbenchService extends BaseService implements IScheduleService {
6
6
  ctx: Context;
7
7
  private curdProService;
8
+ private fatcmsTargetWorkbenchCode;
8
9
  clearCache(): void;
9
10
  runBySchedule(): Promise<void>;
11
+ /**
12
+ * 获取所有站点列表
13
+ * @param isForceRefresh 是否强制刷新缓存
14
+ * @returns
15
+ */
10
16
  getAllWorkbenchInfoList(isForceRefresh?: boolean): Promise<IWorkbenchEntity[]>;
17
+ /**
18
+ * 获取所有站点列表,以map的形式返回。其中key为站点域名,value为站点信息
19
+ * @param isForceRefresh 是否强制刷新缓存
20
+ * @returns
21
+ */
11
22
  getAllWorkbenchInfoMap(isForceRefresh?: boolean): Promise<Record<any, IWorkbenchEntity>>;
23
+ /**
24
+ * 检查站点编码是否匹配
25
+ * @param workbench_code_array 站点编码数组
26
+ * @param workbench_code 站点编码
27
+ * @returns
28
+ */
12
29
  isMatchWorkbenchCode(workbench_code_array: string | string[], workbench_code: string): boolean;
30
+ /**
31
+ * 根据站点编码获取站点信息
32
+ * @param workbenchCode 站点编码
33
+ * @returns
34
+ */
35
+ private getWorkbenchInfoByCode;
36
+ /**
37
+ * 根据域名获取站点信息
38
+ * @param host 域名
39
+ * @returns
40
+ */
41
+ private getWorkbenchInfoByHost;
13
42
  /**
14
43
  * 获取当前请求的域名所对应的站点信息
15
44
  */
16
45
  getCurrentHostWorkbenchInfo(): Promise<IWorkbenchEntity>;
46
+ /**
47
+ * 获取当前请求的域名
48
+ * @returns
49
+ */
17
50
  private getCurrentHost;
18
51
  isSupportCurrentWorkbench(workbench_code_array: string | string[]): Promise<boolean>;
19
52
  isSupportCurrentHostForForMiddleware(): Promise<string | boolean>;