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

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 (331) 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/TransactionSqlServer.js +1 -1
  67. package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +1 -0
  68. package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +27 -15
  69. package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +17 -19
  70. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +1 -1
  71. package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +10 -12
  72. package/dist/libs/crud-pro/services/CrudProGenSqlService.js +14 -23
  73. package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +7 -6
  74. package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +2 -6
  75. package/dist/libs/crud-pro/services/CrudProServiceBase.js +15 -3
  76. package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +1 -0
  77. package/dist/libs/crud-pro/services/CrudProTableMetaService.js +32 -7
  78. package/dist/libs/crud-pro/sql.txt +120 -120
  79. package/dist/libs/crud-pro/utils/DatabaseName.js +24 -3
  80. package/dist/libs/crud-pro/utils/MixinUtils.js +1 -1
  81. package/dist/libs/crud-pro/utils/ValidateUtils.js +1 -1
  82. package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +2 -2
  83. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
  84. package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
  85. package/dist/libs/global-config/global-config.d.ts +45 -0
  86. package/dist/libs/global-config/global-config.js +33 -0
  87. package/dist/libs/utils/errorToString.d.ts +2 -0
  88. package/dist/libs/utils/errorToString.js +57 -0
  89. package/dist/libs/utils/fatcms-request.js +2 -2
  90. package/dist/libs/utils/functions.d.ts +2 -1
  91. package/dist/libs/utils/functions.js +6 -1
  92. package/dist/middleware/forbidden.middleware.js +4 -20
  93. package/dist/middleware/global.middleware.js +30 -10
  94. package/dist/middleware/permission.middleware.js +1 -1
  95. package/dist/models/AsyncTaskModel.d.ts +74 -0
  96. package/dist/models/AsyncTaskModel.js +31 -0
  97. package/dist/models/RedisKeys.d.ts +14 -0
  98. package/dist/models/RedisKeys.js +17 -0
  99. package/dist/models/SystemEntities.d.ts +8 -1
  100. package/dist/models/SystemEntities.js +7 -0
  101. package/dist/models/SystemTables.d.ts +1 -3
  102. package/dist/models/SystemTables.js +2 -4
  103. package/dist/models/bizmodels.d.ts +28 -0
  104. package/dist/models/bizmodels.js +6 -1
  105. package/dist/schedule/anonymousContext.d.ts +14 -0
  106. package/dist/schedule/anonymousContext.js +59 -0
  107. package/dist/schedule/index.d.ts +4 -3
  108. package/dist/schedule/index.js +8 -67
  109. package/dist/schedule/runSchedule.d.ts +12 -0
  110. package/dist/schedule/runSchedule.js +68 -0
  111. package/dist/schedule/scheduleNames.d.ts +13 -0
  112. package/dist/schedule/scheduleNames.js +17 -0
  113. package/dist/service/AuthService.js +8 -5
  114. package/dist/service/EnumInfoService.js +9 -5
  115. package/dist/service/FileCenterService.js +13 -9
  116. package/dist/service/SysConfigService.d.ts +1 -1
  117. package/dist/service/SysConfigService.js +4 -2
  118. package/dist/service/UserAccountService.js +10 -6
  119. package/dist/service/UserSessionService.d.ts +21 -0
  120. package/dist/service/UserSessionService.js +73 -2
  121. package/dist/service/VisitStatService.d.ts +1 -1
  122. package/dist/service/VisitStatService.js +20 -27
  123. package/dist/service/WorkbenchService.d.ts +33 -0
  124. package/dist/service/WorkbenchService.js +70 -12
  125. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  126. package/dist/service/anyapi/AnyApiService.js +4 -2
  127. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  128. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  129. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  130. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  131. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  132. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  133. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  134. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  135. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  136. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  137. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  138. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  139. package/dist/service/base/BaseService.d.ts +12 -0
  140. package/dist/service/base/BaseService.js +22 -0
  141. package/dist/service/base/RedisCacheService.d.ts +7 -0
  142. package/dist/service/base/RedisCacheService.js +7 -0
  143. package/dist/service/crudstd/CrudStdService.d.ts +8 -1
  144. package/dist/service/crudstd/CrudStdService.js +63 -6
  145. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  146. package/dist/service/curd/CrudProQuick.js +147 -0
  147. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  148. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  149. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  150. package/dist/service/curd/CurdMixByDictService.js +10 -7
  151. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  152. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  153. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  154. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  155. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  156. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  157. package/dist/service/curd/CurdMixService.d.ts +13 -3
  158. package/dist/service/curd/CurdMixService.js +26 -2
  159. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  160. package/dist/service/curd/CurdMixUtils.js +115 -41
  161. package/dist/service/curd/CurdProService.d.ts +3 -10
  162. package/dist/service/curd/CurdProService.js +36 -148
  163. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  164. package/dist/service/curd/fixCfgModel.js +107 -0
  165. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  166. package/dist/service/proxyapi/ProxyApiService.js +28 -7
  167. package/dist/views/404_app.html +31 -31
  168. package/dist/views/404_workbench.html +34 -34
  169. package/package.json +25 -24
  170. package/tsconfig.json +32 -0
  171. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  172. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  173. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  174. package/dist/controller/medstatistic/MedClientController.js +0 -188
  175. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  176. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  177. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  178. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  179. package/dist/controller/medstatistic/constants.d.ts +0 -32
  180. package/dist/controller/medstatistic/constants.js +0 -43
  181. package/src/config/config.default.ts +0 -172
  182. package/src/config/seed/aeskey.txt +0 -1
  183. package/src/config/utils.ts +0 -23
  184. package/src/configuration.ts +0 -83
  185. package/src/controller/base/BaseApiController.ts +0 -145
  186. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  187. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  188. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  189. package/src/controller/gateway/DocGatewayController.ts +0 -165
  190. package/src/controller/gateway/FileController.ts +0 -110
  191. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  192. package/src/controller/gateway/PublicApiController.ts +0 -145
  193. package/src/controller/gateway/StaticController.ts +0 -328
  194. package/src/controller/helpers.controller.ts +0 -161
  195. package/src/controller/home.controller.ts +0 -71
  196. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  197. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  198. package/src/controller/manage/AppMangeApi.ts +0 -53
  199. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  200. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  201. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  202. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  203. package/src/controller/manage/DataDictManageApi.ts +0 -78
  204. package/src/controller/manage/DeployManageApi.ts +0 -179
  205. package/src/controller/manage/DocLibManageApi.ts +0 -69
  206. package/src/controller/manage/DocManageApi.ts +0 -99
  207. package/src/controller/manage/FileManageApi.ts +0 -45
  208. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  209. package/src/controller/manage/MenuManageApi.ts +0 -63
  210. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  211. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  212. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  213. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  214. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  215. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  216. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  217. package/src/controller/medstatistic/MedClientController.ts +0 -188
  218. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  219. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  220. package/src/controller/medstatistic/constants.ts +0 -63
  221. package/src/controller/myinfo/AuthController.ts +0 -174
  222. package/src/controller/myinfo/MyInfoController.ts +0 -32
  223. package/src/controller/render/AppRenderController.ts +0 -76
  224. package/src/controller/test.controller.ts +0 -37
  225. package/src/filter/default.filter.ts +0 -13
  226. package/src/filter/notfound.filter.ts +0 -10
  227. package/src/index.ts +0 -71
  228. package/src/interface.ts +0 -31
  229. package/src/libs/crud-pro/CrudPro.ts +0 -158
  230. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  231. package/src/libs/crud-pro/exceptions.ts +0 -124
  232. package/src/libs/crud-pro/interfaces.ts +0 -183
  233. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  234. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  235. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  236. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  237. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  238. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  239. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  240. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  241. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  242. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  243. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  244. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  245. package/src/libs/crud-pro/models/keys.ts +0 -159
  246. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  247. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  248. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  249. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  250. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  251. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  252. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  253. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  254. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  255. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  256. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  257. package/src/libs/crud-pro/sql.txt +0 -120
  258. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  259. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  260. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  261. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  262. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  263. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  264. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  265. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  266. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  267. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  268. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  269. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  270. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  271. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  272. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  273. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  274. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  275. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  276. package/src/libs/utils/common-dto.ts +0 -52
  277. package/src/libs/utils/crypto-utils.ts +0 -52
  278. package/src/libs/utils/fatcms-request.ts +0 -115
  279. package/src/libs/utils/functions.ts +0 -67
  280. package/src/libs/utils/ordernum-utils.ts +0 -18
  281. package/src/libs/utils/parseConfig.ts +0 -62
  282. package/src/libs/utils/parseCreateSql.ts +0 -91
  283. package/src/libs/utils/render-utils.ts +0 -184
  284. package/src/middleware/forbidden.middleware.ts +0 -71
  285. package/src/middleware/global.middleware.ts +0 -278
  286. package/src/middleware/permission.middleware.ts +0 -81
  287. package/src/middleware/tx.middleware.ts +0 -30
  288. package/src/models/SystemEntities.ts +0 -115
  289. package/src/models/SystemPerm.ts +0 -105
  290. package/src/models/SystemTables.ts +0 -30
  291. package/src/models/bizmodels.ts +0 -89
  292. package/src/models/contextLogger.ts +0 -132
  293. package/src/models/devops.ts +0 -17
  294. package/src/models/userSession.ts +0 -216
  295. package/src/schedule/index.ts +0 -73
  296. package/src/service/AuthService.ts +0 -270
  297. package/src/service/EnumInfoService.ts +0 -129
  298. package/src/service/FileCenterService.ts +0 -394
  299. package/src/service/SysConfigService.ts +0 -34
  300. package/src/service/UserAccountService.ts +0 -100
  301. package/src/service/UserSessionService.ts +0 -81
  302. package/src/service/VisitStatService.ts +0 -179
  303. package/src/service/WorkbenchService.ts +0 -160
  304. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  305. package/src/service/anyapi/AnyApiService.ts +0 -184
  306. package/src/service/base/ApiBaseService.ts +0 -42
  307. package/src/service/base/ApiRateLimiter.ts +0 -59
  308. package/src/service/base/BaseService.ts +0 -74
  309. package/src/service/base/RedisCacheService.ts +0 -38
  310. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  311. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  312. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  313. package/src/service/crudstd/CrudStdService.ts +0 -188
  314. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  315. package/src/service/curd/CurdMixByDictService.ts +0 -113
  316. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  317. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  318. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  319. package/src/service/curd/CurdMixService.ts +0 -65
  320. package/src/service/curd/CurdMixUtils.ts +0 -248
  321. package/src/service/curd/CurdProService.ts +0 -379
  322. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  323. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  324. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  325. package/src/service/proxyapi/RouteHandler.ts +0 -8
  326. package/src/service/proxyapi/RouteTrie.ts +0 -74
  327. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  328. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  329. package/src/views/404_app.html +0 -31
  330. package/src/views/404_workbench.html +0 -34
  331. package/src/views/static/favicon.ico +0 -0
@@ -1,115 +0,0 @@
1
- export interface IApiBaseEntity {
2
- id: number;
3
-
4
- // 权限控制
5
- auth_type: string;
6
- auth_config: string;
7
-
8
- //服务降级
9
- fallback_enable: number;
10
- fallback_message: string;
11
-
12
- //限流令牌桶
13
- limit_enabled: number;
14
- limit_max: number;
15
- limit_rate: number;
16
-
17
- // 接口缓存 TODO
18
- cache_enable: number;
19
- cache_keys: string;
20
- cache_keepms: number;
21
- }
22
-
23
- export interface IReqParamsConfigs {
24
- name: string;
25
- fromType: string; // queries, body, headers
26
- fromKey: string; //
27
- valueType?: string; // boolean, string, number, array, JSONObject
28
- defaultValue?: string; // 默认
29
- desc?: string; // 描述
30
-
31
- validate_cfg_list?: string[]; // 校验配置 下面所有的合并起来的
32
- validate_required?: boolean; // 校验配置
33
- validate_type?: string; // 校验配置
34
- validate_length?: string; // 校验配置
35
- validate_scale?: string; // 校验配置
36
- validate_regexp?: string; // 校验配置
37
- validate_enum?: string; // 校验配置
38
- }
39
-
40
- export interface ISysAnyApiEntityParsedOthers {
41
- req_params: IReqParamsConfigs[]; // 请求参数配置
42
- }
43
- export interface ISysAnyApiEntity extends IApiBaseEntity {
44
- method: string;
45
- method_name: string;
46
- method_desc: string;
47
- method_group: string;
48
- method_cate: string;
49
- timeout_ms: number;
50
- distribute_lock: number;
51
- res_type?: string;
52
- req_method: string;
53
- req_params: number; // 参数个数
54
- filter?: string;
55
- enable_log: number;
56
- func_code?: string;
57
- func_code_md5?: string;
58
- others?: string;
59
- parsedOthers?: ISysAnyApiEntityParsedOthers; // 由others解析而来
60
- created_by?: string;
61
- created_at: Date;
62
- modified_at: Date;
63
- modified_by?: string;
64
- status: number;
65
- workbench_code_array: string;
66
- }
67
-
68
- export interface IUpstreamItem {
69
- origin: string;
70
- weight: number;
71
- }
72
-
73
- export interface IUpstreamInfo {
74
- targetList: IUpstreamItem[];
75
- balanceStrategy: string;
76
- }
77
-
78
- export interface IProxyApiEntity extends IApiBaseEntity {
79
- path_prefix: string; // DONE
80
- upstream_code: string; // DONE
81
- timeout_ms: number; // DONE
82
- status: number; // DONE
83
- workbench_code_array: string; // DONE
84
-
85
- user_context: number; // DONE
86
- pass_real_ip: number; // DONE
87
- change_origin: string; // DONE
88
- change_host: string; // DONE
89
-
90
- balanceStrategy: string; // 负载均衡策略
91
- targetList: IUpstreamItem[]; // 运行时根据upstream_code计算的
92
- targetIndex: number; // 运行时根据upstream_code计算的
93
- weightedRandom: any; // 负载均衡算法:WeightedRandom
94
- weightedRoundRobin: any; // 负载均衡算法:WeightedRoundRobin
95
- }
96
-
97
- export interface IWorkbenchEntity {
98
- id: number;
99
- workbench_code: string;
100
- workbench_name: string;
101
- workbench_domain?: string;
102
- workbench_domain2?: string;
103
- workbench_domain3?: string;
104
- workbench_desc?: string;
105
- html_content: string;
106
- created_by?: string;
107
- modified_by?: string;
108
- created_at?: number;
109
- modified_at?: number;
110
- status: number;
111
- config_type?: string;
112
- config_content?: string;
113
- workbench_type: number;
114
- package_assets?: string;
115
- }
@@ -1,105 +0,0 @@
1
-
2
- /**
3
- * 系统内置功能点
4
- */
5
- export enum SystemFuncCode {
6
- FileMangeRead = 'FileMangeRead',
7
- FileMangeWrite = 'FileMangeWrite',
8
- DocMangeRead = 'DocMangeRead',
9
- DocMangeWrite = 'DocMangeWrite',
10
- DataDictMangeRead = 'DataDictMangeRead',
11
- DataDictMangeWrite = 'DataDictMangeWrite',
12
- AppMangeRead = 'AppMangeRead',
13
- AppMangeWrite = 'AppMangeWrite',
14
-
15
- AppPageMangeRead = 'AppPageMangeRead',
16
- AppPageMangeWrite = 'AppPageMangeWrite',
17
- SysConfigMangeRead = 'SysConfigMangeRead',
18
- SysConfigMangeWrite = 'SysConfigMangeWrite',
19
- CrudStandardDesignRead = 'CrudStandardDesignRead',
20
- CrudStandardDesignWrite = 'CrudStandardDesignWrite',
21
- AnyApiManageRead = 'AnyApiManageRead',
22
- AnyApiManageWrite = 'AnyApiManageWrite',
23
- CrudMethodApiRead = 'CrudMethodApiRead',
24
- CrudMethodApiWrite = 'CrudMethodApiWrite',
25
- WorkbenchMangeRead = 'WorkbenchMangeRead',
26
- WorkbenchMangeWrite = 'WorkbenchMangeWrite',
27
- ProxyApiManageRead = 'ProxyApiManageRead',
28
- ProxyApiManageWrite = 'ProxyApiManageWrite',
29
- SystemInfoManageApiRead = 'SystemInfoManageApiRead',
30
- SystemInfoManageApiWrite = 'SystemInfoManageApiWrite',
31
-
32
- UserAccountMangeRead = 'UserAccountMangeRead', // account
33
- UserAccountMangeWrite = 'UserAccountMangeWrite',
34
- RoleManageRead = 'RoleManageRead', // role
35
- RoleManageWrite = 'RoleManageWrite',
36
- FuncManageRead = 'FuncManageRead', // func
37
- FuncManageWrite = 'FuncManageWrite',
38
- RoleFuncManageRead = 'RoleFuncManageRead', //role-func
39
- RoleFuncManageWrite = 'RoleFuncManageWrite',
40
- AccountRoleManageRead = 'AccountRoleManageRead', // account-role
41
- AccountRoleManageWrite = 'AccountRoleManageWrite',
42
-
43
- MenuMangeRead = 'MenuMangeRead',
44
- MenuMangeWrite = 'MenuMangeWrite',
45
- }
46
-
47
- export const SystemFuncCodeNameMap = {
48
- FileMangeRead: '【devops】文件管理_查看',
49
- DocMangeRead: '【devops】文章管理_查看',
50
- DataDictMangeRead: '【devops】数据字典_查看',
51
- UserAccountMangeRead: '【devops】用户账号管理_查看',
52
- AppMangeRead: '【devops】应用管理_查看',
53
- AppPageMangeRead: '【devops】页面路由管理_查看',
54
- SysConfigMangeRead: '【devops】系统配置_查看',
55
- CrudStandardDesignRead: '【devops】CRUD简单页面搭建_查看',
56
- AnyApiManageRead: '【devops】FaaS接口搭建管理_查看',
57
- CrudMethodApiRead: '【devops】CRUD简单接口搭建_查看',
58
- ProxyApiManageRead: '【devops】接口网关配置_查看',
59
- WorkbenchMangeRead: '【devops】工作台配置_查看',
60
- SystemInfoManageApiRead: '【devops】系统信息查看_查看',
61
-
62
- FileMangeWrite: '【devops】文件管理_编辑',
63
- DocMangeWrite: '【devops】文章管理_编辑',
64
- DataDictMangeWrite: '【devops】数据字典_编辑',
65
- UserAccountMangeWrite: '【devops】用户账号管理_编辑',
66
- AppMangeWrite: '【devops】应用管理_编辑',
67
- AppPageMangeWrite: '【devops】页面路由管理_编辑',
68
- SysConfigMangeWrite: '【devops】系统配置_编辑',
69
- CrudStandardDesignWrite: '【devops】CRUD简单页面搭建_编辑',
70
- AnyApiManageWrite: '【devops】FaaS接口搭建管理_编辑',
71
- CrudMethodApiWrite: '【devops】CRUD简单接口搭建_编辑',
72
- ProxyApiManageWrite: '【devops】接口网关配置_编辑',
73
- WorkbenchMangeWrite: '【devops】工作台配置_编辑',
74
- SystemInfoManageApiWrite: '【devops】系统信息_编辑',
75
-
76
- RoleManageRead : '【devops】角色管理_查看', // role
77
- RoleManageWrite : '【devops】角色管理_编辑',
78
- FuncManageRead : '【devops】功能点管理_查看', // func
79
- FuncManageWrite : '【devops】功能点管理_编辑',
80
- RoleFuncManageRead : '【devops】角色功能点关联_查看', //role-func
81
- RoleFuncManageWrite : '【devops】角色功能点关联_编辑',
82
- AccountRoleManageRead : '【devops】账户角色关联_查看', // account-role
83
- AccountRoleManageWrite : '【devops】账户角色关联_编辑',
84
-
85
- MenuMangeRead : '【devops】菜单管理_查看',
86
- MenuMangeWrite : '【devops】菜单管理_查看',
87
- };
88
-
89
- /**
90
- * 系统内置角色
91
- */
92
- export enum SystemRoleCode {
93
- SuperAdmin = 'SuperAdmin', // 超级管理员,拥有一切权限。
94
- DevOpsWriter = 'DevOpsWriter', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
95
- DevOpsViewer = 'DevOpsViewer', // 开发&产品&测试。只有查看权限,给房客用来查看的。
96
- }
97
-
98
- /**
99
- * 系统内置角色
100
- */
101
- export const SystemRoleCodeNameMap = {
102
- SuperAdmin: '超级管理员', // 超级管理员,拥有一切权限。
103
- DevOpsWriter: '产技高级角色', // 开发&产品&测试。拥有所有内置SystemFuncCode的权限
104
- DevOpsViewer: '产技只读角色', // 开发&产品&测试。只有查看权限,给房客用来查看的。
105
- };
@@ -1,30 +0,0 @@
1
- import {SqlDbType} from "../libs/crud-pro/models/keys";
2
-
3
- export const SystemTables = {
4
- sys_workbench: 'sys_workbench',
5
- sys_user_account: 'sys_user_account',
6
- sys_perm_user_role: 'sys_perm_user_role',
7
- sys_perm_role_func: 'sys_perm_role_func',
8
- sys_perm_role: 'sys_perm_role',
9
- sys_perm_func: 'sys_perm_func',
10
- sys_file: 'sys_file',
11
- sys_doc: 'sys_doc',
12
- sys_doc_lib: 'sys_doc_lib',
13
- sys_menus: 'sys_menus',
14
- sys_data_dict_item: 'sys_data_dict_item',
15
- sys_data_dict: 'sys_data_dict',
16
- sys_crud_methods: 'sys_crud_methods',
17
- sys_configs: 'sys_configs',
18
- sys_app_page: 'sys_app_page',
19
- sys_app_log: 'sys_app_log',
20
- sys_app: 'sys_app',
21
- sys_nav: 'sys_nav',
22
- sys_anyapi: 'sys_anyapi',
23
- sys_proxyapi: 'sys_proxyapi',
24
- sys_visit_stats: 'sys_visit_stats',
25
- };
26
-
27
- export const SystemDbName = 'fatcms';
28
- export const SystemDbType = SqlDbType.mysql;
29
-
30
- export const SystemDevOpsWorkbench = 'devops';
@@ -1,89 +0,0 @@
1
- import { IRequestCfgModel, IVisitor } from '../libs/crud-pro/interfaces';
2
-
3
- /**
4
- * 实体表公共字段
5
- */
6
- export interface IEntityCommonInfo {
7
- id?: number;
8
- created_by?: string;
9
- modified_by?: string;
10
- created_at?: string;
11
- modified_at?: string;
12
- status?: number;
13
- }
14
-
15
- export interface ITableBaseInfo {
16
- databaseName: string;
17
- tableName: string;
18
- }
19
-
20
- export interface IStdCrudCfgObj {
21
- tableBaseInfo: ITableBaseInfo;
22
- authSetting: any;
23
- actionColumns?: any[];
24
- queryFormFields?: any[];
25
- tableColumns?: any[];
26
- tableFields?: any[];
27
- toolbarList?: any[];
28
- }
29
-
30
- export interface ICrudStdAppInfo {
31
- stdCrudCfgObj?: IStdCrudCfgObj;
32
- actionsMap?: any;
33
- status: number;
34
- }
35
-
36
- export interface ICrudStdAppInfoForSettingKey extends ICrudStdAppInfo {
37
- settingKeyActionCfg?: any;
38
- authConfig?: string[];
39
- authType?: string;
40
- }
41
-
42
- export enum AccessType {
43
- owner = 'owner', // 只有上传人自己才有权限能查看
44
- login = 'login', // 只有登录用户才能查看
45
- open = 'open', // 所有人都能查看
46
- }
47
-
48
- export enum UploadCategoryType {
49
- file = 'file', // 普通文件
50
- assets = 'assets', // 前端资源文件
51
- }
52
-
53
- export class PermFunc {
54
- public funcCode: string;
55
- public funcName: string;
56
- constructor(funcCode: string, funcName: string) {
57
- this.funcName = funcName;
58
- this.funcCode = funcCode;
59
- }
60
- }
61
-
62
- export class PermRole {
63
- public roleCode: string;
64
- public roleName: string;
65
- constructor(roleCode: string, roleName: string) {
66
- this.roleName = roleName;
67
- this.roleCode = roleCode;
68
- }
69
- }
70
-
71
- export const CTX_VISITOR_ID = 'visitor.accountId';
72
- export const CTX_VISITOR_AVATAR = 'visitor.avatar';
73
- export const CTX_VISITOR_NICKNAME = 'visitor.nickName';
74
- export const CTX_VISITOR_ACCOUNT_TYPE = 'visitor.accountType';
75
- export const CTX_WORKBENCH_CODE = 'visitor.workbenchCode';
76
-
77
- export interface IRequestCfgModel2 extends IRequestCfgModel {
78
- enableStandardUpdateCfg?: boolean | string[]; // 默认为true
79
- enableStandardUpdateCfgCondition?: boolean | string[]; // 默认为false
80
- }
81
-
82
- export interface IVisitorExt extends IVisitor {
83
- workbenchCode: string;
84
- avatar: string;
85
- accountType: string;
86
- }
87
-
88
-
89
- export const FILE_GET_TYPES = ['thumbnail','preview', 'download'];
@@ -1,132 +0,0 @@
1
- import { ILogger } from '@midwayjs/core';
2
- import * as koa from '@midwayjs/koa';
3
- import { Context } from '@midwayjs/koa';
4
- import * as moment from 'moment';
5
-
6
- import { isEnableDebug } from '../libs/utils/fatcms-request';
7
-
8
- interface ILoggerContext extends ILogger {
9
- log(msg: any, ...args: any[]): void;
10
- }
11
-
12
- const consoleLogger: ILoggerContext = {
13
- info: (msg: any, ...args: any[]) => {
14
- console.info(msg, ...args);
15
- },
16
- debug: (msg: any, ...args: any[]) => {
17
- console.debug(msg, ...args);
18
- },
19
- error: (msg: any, ...args: any[]) => {
20
- console.error(msg, ...args);
21
- },
22
- warn: (msg: any, ...args: any[]) => {
23
- console.warn(msg, ...args);
24
- },
25
- log: (msg: any, ...args: any[]) => {
26
- console.log(msg, ...args);
27
- },
28
- };
29
-
30
- function getCallerInfo() {
31
- // 创建一个新的 Error 对象
32
- const error = new Error();
33
- // 获取调用栈信息
34
- const stack = error.stack.split('\n');
35
- // 跳过前几行
36
- const callerLine = stack[4];
37
- // 提取文件名和行号
38
- const match = callerLine.match(/at\s+(.*)\s+\((.*):(\d+):(\d+)\)/);
39
- if (match) {
40
- return {
41
- functionName: match[1],
42
- fileName: match[2],
43
- lineNumber: parseInt(match[3]),
44
- columnNumber: parseInt(match[4]),
45
- };
46
- }
47
- return null;
48
- }
49
-
50
- /**
51
- * 每个Context请求,都会创建一个新的ContextLogger对象
52
- */
53
- class ContextLogger implements ILoggerContext {
54
- private readonly ctx: Context;
55
- private readonly app: koa.Application;
56
- private readonly logList: any = [];
57
-
58
- constructor(ctx: Context) {
59
- this.app = ctx.app;
60
- this.ctx = ctx;
61
- this.logList = [];
62
- }
63
-
64
- getLogList() {
65
- return this.logList;
66
- }
67
-
68
- debug(msg: any, ...args: any[]): void {
69
- this.getLogger().debug(msg, ...args);
70
- this.appendLogList('debug', msg, ...args);
71
- }
72
-
73
- error(msg: any, ...args: any[]): void {
74
- this.getLogger().error(msg, ...args);
75
- this.appendLogList('error', msg, ...args);
76
- }
77
-
78
- info(msg: any, ...args: any[]): void {
79
- this.getLogger().info(msg, ...args);
80
- this.appendLogList('info', msg, ...args);
81
- }
82
-
83
- warn(msg: any, ...args: any[]): void {
84
- this.getLogger().warn(msg, ...args);
85
- this.appendLogList('warn', msg, ...args);
86
- }
87
-
88
- log(msg: any, ...args: any[]): void {
89
- this.getLogger().info(msg, ...args);
90
- this.appendLogList('info', msg, ...args);
91
- }
92
-
93
- private appendLogList(level: string, msg: string, ...args: any[]) {
94
- const ctx = this.ctx;
95
- if (!isEnableDebug(ctx)) {
96
- return;
97
- }
98
- const time = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
99
- const caller = getCallerInfo();
100
- this.logList.push({ level, msg, args, caller, time });
101
- }
102
-
103
- private getLogger(): ILogger {
104
- const logger = this.app.getLogger('logger');
105
- if (logger) {
106
- return logger;
107
- }
108
- return consoleLogger;
109
- }
110
-
111
- public getPrefixContextLogger(prefix: string): ILoggerContext {
112
- return {
113
- info: (msg: any, ...args: any[]) => {
114
- this.info(prefix, msg, ...args);
115
- },
116
- debug: (msg: any, ...args: any[]) => {
117
- this.debug(prefix, msg, ...args);
118
- },
119
- error: (msg: any, ...args: any[]) => {
120
- this.error(prefix, msg, ...args);
121
- },
122
- warn: (msg: any, ...args: any[]) => {
123
- this.warn(prefix, msg, ...args);
124
- },
125
- log: (msg: any, ...args: any[]) => {
126
- this.log(prefix, msg, ...args);
127
- },
128
- };
129
- }
130
- }
131
-
132
- export { ContextLogger, consoleLogger, ILoggerContext };
@@ -1,17 +0,0 @@
1
- // 状态;0 未启用, 1 已启用',
2
- export enum CommonStatusEnum {
3
- DISABLED = 0,
4
- ENABLED = 1,
5
- }
6
-
7
- /**
8
- * 业务异常
9
- */
10
- export class BizException {
11
- public message: string;
12
- public code: string;
13
- constructor(message?: string, code?: string) {
14
- this.message = message;
15
- this.code = code || 'BizException';
16
- }
17
- }
@@ -1,216 +0,0 @@
1
- import * as _ from 'lodash';
2
- import { KeysOfAuthType } from '../libs/crud-pro/models/keys';
3
- import { MixinUtils } from '../libs/crud-pro/utils/MixinUtils';
4
- import { CommonException, Exceptions } from '../libs/crud-pro/exceptions';
5
- import { parseStringTrimArray } from '../libs/utils/functions';
6
-
7
- const sessionCookieCfg = {
8
- signed: true,
9
- encrypt: true,
10
- httpOnly: true,
11
- maxAge: 1000 * 3600 * 24 * 365,
12
- };
13
-
14
- const SESSION_ID_KEY = 'fatcmssessionid';
15
- const SYS_ACCOUNT_TYPE = 'fatcms';
16
-
17
- interface ISessionInfo {
18
- nickName: string;
19
- avatar: string;
20
- roleCodes: string[];
21
- functionCodes: string[];
22
- loginName: string;
23
- sessionId: string;
24
- accountId: string;
25
- workbenchCode: string;
26
- accountType: string;
27
- }
28
-
29
- interface IConsumerUserInfo {
30
- workbenchCode: string;
31
- accountType: string;
32
- accountId: string;
33
- nickName: string;
34
- loginName: string;
35
- avatar: string;
36
- }
37
-
38
- interface IBatchCheckProps {
39
- permissionCodeList?: string[];
40
- roleCodeList?: string[];
41
- }
42
-
43
- interface IBatchCheckRes {
44
- permissionCodeResult: Record<string, boolean>;
45
- roleCodeResult: Record<string, boolean>;
46
- }
47
-
48
- function createEmptySessionInfo(superAdmin: boolean): ISessionInfo {
49
- return {
50
- nickName: superAdmin ? 'SA' : '',
51
- avatar: '',
52
- roleCodes: [],
53
- functionCodes: [],
54
- loginName: '',
55
- sessionId: '',
56
- accountId: '',
57
- workbenchCode: '',
58
- accountType: '',
59
- };
60
- }
61
-
62
- class UserSessionInfo {
63
- private readonly sessionInfo: ISessionInfo;
64
-
65
- // 是否是超级管理员;拥有一切权限。紧急情况下使用
66
- private readonly superAdmin: boolean;
67
- constructor(sessionInfo: ISessionInfo, superAdmin?: boolean) {
68
- this.superAdmin = superAdmin === true;
69
- if (sessionInfo) {
70
- this.sessionInfo = sessionInfo;
71
- } else {
72
- this.sessionInfo = createEmptySessionInfo(superAdmin);
73
- }
74
- }
75
-
76
- getSessionInfo(): ISessionInfo {
77
- return this.sessionInfo;
78
- }
79
-
80
- getSessionValue(key: string): any {
81
- return _.get(this.sessionInfo, key);
82
- }
83
-
84
- isSuperAdmin(): boolean {
85
- return this.superAdmin;
86
- }
87
-
88
- /**
89
- * 是否是我自己的账号
90
- * @param accountId
91
- */
92
- isMySelf(accountId: string): boolean {
93
- const s = this.sessionInfo;
94
- return s && accountId && s.accountId === accountId;
95
- }
96
-
97
- isLogin(): boolean {
98
- const s = this.sessionInfo;
99
- return !!(s && s.sessionId && s.accountId && s.sessionId.length > 1);
100
- }
101
-
102
- hasAnyPermission(funcCodeList: string | string[]): boolean {
103
- if (this.isSuperAdmin()) {
104
- return true;
105
- }
106
- if (typeof funcCodeList === 'string') {
107
- return this.hasPermission(funcCodeList);
108
- }
109
-
110
- if (Array.isArray(funcCodeList)) {
111
- for (let i = 0; i < funcCodeList.length; i++) {
112
- const funcCode = funcCodeList[i];
113
- if (this.hasPermission(funcCode)) {
114
- return true;
115
- }
116
- }
117
- return false;
118
- }
119
- }
120
-
121
- hasPermission(funcCode: string): boolean {
122
- if (this.isSuperAdmin()) {
123
- return true;
124
- }
125
- const ss = this.sessionInfo.functionCodes || [];
126
- return ss.includes(funcCode);
127
- }
128
-
129
- hasAnyRole(roleCodeList: string | string[]): boolean {
130
- if (this.isSuperAdmin()) {
131
- return true;
132
- }
133
- if (typeof roleCodeList === 'string') {
134
- return this.hasRole(roleCodeList);
135
- }
136
-
137
- if (Array.isArray(roleCodeList)) {
138
- for (let i = 0; i < roleCodeList.length; i++) {
139
- const funcCode = roleCodeList[i];
140
- if (this.hasRole(funcCode)) {
141
- return true;
142
- }
143
- }
144
- return false;
145
- }
146
- }
147
-
148
- hasRole(roleCode: string): boolean {
149
- if (this.isSuperAdmin()) {
150
- return true;
151
- }
152
- const ss = this.sessionInfo.roleCodes || [];
153
- return ss.includes(roleCode);
154
- }
155
-
156
- isAuthPass(authType: KeysOfAuthType, authConfig: string | string[]): boolean {
157
- if (authType === KeysOfAuthType.free || !authType) {
158
- return true; // 无需校验
159
- }
160
- if (!this.isLogin()) {
161
- return false;
162
- }
163
- if (this.isSuperAdmin()) {
164
- return true;
165
- }
166
-
167
- if (authType === KeysOfAuthType.byFuncCode) {
168
- const funcCodes = parseStringTrimArray(authConfig);
169
- if (MixinUtils.isEmpty(funcCodes)) {
170
- throw new CommonException(Exceptions.CFG_AUTH_CODE_EMPTY, '缺少权限编码配置');
171
- }
172
- return this.hasAnyPermission(funcCodes);
173
- }
174
-
175
- if (authType === KeysOfAuthType.byRoleCode) {
176
- const roleCodes = parseStringTrimArray(authConfig);
177
- if (MixinUtils.isEmpty(roleCodes)) {
178
- throw new CommonException(Exceptions.CFG_AUTH_CODE_EMPTY, '缺少角色编码配置');
179
- }
180
- return this.hasAnyRole(roleCodes);
181
- }
182
-
183
- return true;
184
- }
185
-
186
- /**
187
- * 批量检查权限
188
- * @param params
189
- */
190
- batchCheckPermission(params: IBatchCheckProps): IBatchCheckRes {
191
- const { permissionCodeList, roleCodeList } = params;
192
- const permissionCodeResult: Record<string, boolean> = {};
193
- const roleCodeResult: Record<string, boolean> = {};
194
-
195
- if (Array.isArray(permissionCodeList)) {
196
- for (let i = 0; i < permissionCodeList.length; i++) {
197
- const permissionCode = permissionCodeList[i];
198
- if (permissionCode && typeof permissionCode === 'string') {
199
- permissionCodeResult[permissionCode] = this.hasPermission(permissionCode);
200
- }
201
- }
202
- }
203
-
204
- if (Array.isArray(roleCodeList)) {
205
- for (let i = 0; i < roleCodeList.length; i++) {
206
- const roleCode = roleCodeList[i];
207
- if (roleCode && typeof roleCode === 'string') {
208
- roleCodeResult[roleCode] = this.hasRole(roleCode);
209
- }
210
- }
211
- }
212
- return { permissionCodeResult, roleCodeResult };
213
- }
214
- }
215
-
216
- export { ISessionInfo, UserSessionInfo, SESSION_ID_KEY, SYS_ACCOUNT_TYPE, IConsumerUserInfo, sessionCookieCfg };