midway-fatcms 0.0.1-beta.3 → 0.0.1-beta.31

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 (328) 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 +60 -19
  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 +3 -0
  18. package/dist/controller/gateway/StaticController.js +74 -51
  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 +14 -2
  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/SystemTables.d.ts +1 -3
  100. package/dist/models/SystemTables.js +2 -4
  101. package/dist/models/bizmodels.d.ts +28 -0
  102. package/dist/models/bizmodels.js +6 -1
  103. package/dist/schedule/anonymousContext.d.ts +14 -0
  104. package/dist/schedule/anonymousContext.js +59 -0
  105. package/dist/schedule/index.d.ts +4 -3
  106. package/dist/schedule/index.js +8 -67
  107. package/dist/schedule/runSchedule.d.ts +12 -0
  108. package/dist/schedule/runSchedule.js +68 -0
  109. package/dist/schedule/scheduleNames.d.ts +13 -0
  110. package/dist/schedule/scheduleNames.js +17 -0
  111. package/dist/service/AuthService.js +8 -5
  112. package/dist/service/EnumInfoService.js +9 -5
  113. package/dist/service/FileCenterService.js +13 -9
  114. package/dist/service/SysConfigService.d.ts +1 -1
  115. package/dist/service/SysConfigService.js +4 -2
  116. package/dist/service/UserAccountService.js +10 -6
  117. package/dist/service/UserSessionService.d.ts +21 -0
  118. package/dist/service/UserSessionService.js +73 -2
  119. package/dist/service/VisitStatService.d.ts +1 -1
  120. package/dist/service/VisitStatService.js +20 -27
  121. package/dist/service/WorkbenchService.d.ts +32 -0
  122. package/dist/service/WorkbenchService.js +61 -12
  123. package/dist/service/anyapi/AnyApiSandboxService.js +12 -12
  124. package/dist/service/anyapi/AnyApiService.js +4 -2
  125. package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
  126. package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
  127. package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
  128. package/dist/service/asyncTask/AsyncTaskService.js +34 -0
  129. package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
  130. package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
  131. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
  132. package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
  133. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
  134. package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
  135. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
  136. package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
  137. package/dist/service/base/BaseService.d.ts +12 -0
  138. package/dist/service/base/BaseService.js +22 -0
  139. package/dist/service/base/RedisCacheService.d.ts +7 -0
  140. package/dist/service/base/RedisCacheService.js +7 -0
  141. package/dist/service/crudstd/CrudStdService.d.ts +8 -1
  142. package/dist/service/crudstd/CrudStdService.js +63 -6
  143. package/dist/service/curd/CrudProQuick.d.ts +44 -0
  144. package/dist/service/curd/CrudProQuick.js +147 -0
  145. package/dist/service/curd/CurdMixByAccountService.d.ts +4 -4
  146. package/dist/service/curd/CurdMixByAccountService.js +12 -6
  147. package/dist/service/curd/CurdMixByDictService.d.ts +4 -4
  148. package/dist/service/curd/CurdMixByDictService.js +10 -7
  149. package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +13 -4
  150. package/dist/service/curd/CurdMixByLinkToCustomService.js +73 -24
  151. package/dist/service/curd/CurdMixBySysConfigService.d.ts +3 -3
  152. package/dist/service/curd/CurdMixBySysConfigService.js +4 -2
  153. package/dist/service/curd/CurdMixByWorkbenchService.d.ts +3 -3
  154. package/dist/service/curd/CurdMixByWorkbenchService.js +4 -2
  155. package/dist/service/curd/CurdMixService.d.ts +13 -3
  156. package/dist/service/curd/CurdMixService.js +26 -2
  157. package/dist/service/curd/CurdMixUtils.d.ts +27 -4
  158. package/dist/service/curd/CurdMixUtils.js +115 -41
  159. package/dist/service/curd/CurdProService.d.ts +3 -10
  160. package/dist/service/curd/CurdProService.js +36 -148
  161. package/dist/service/curd/fixCfgModel.d.ts +3 -0
  162. package/dist/service/curd/fixCfgModel.js +107 -0
  163. package/dist/service/proxyapi/ProxyApiLoadService.js +7 -4
  164. package/dist/views/404_app.html +31 -31
  165. package/dist/views/404_workbench.html +34 -34
  166. package/package.json +25 -24
  167. package/tsconfig.json +32 -0
  168. package/dist/controller/medstatistic/MedAdminController.d.ts +0 -35
  169. package/dist/controller/medstatistic/MedAdminController.js +0 -205
  170. package/dist/controller/medstatistic/MedClientController.d.ts +0 -28
  171. package/dist/controller/medstatistic/MedClientController.js +0 -188
  172. package/dist/controller/medstatistic/MedMessageService.d.ts +0 -19
  173. package/dist/controller/medstatistic/MedMessageService.js +0 -95
  174. package/dist/controller/medstatistic/MedScoreService.d.ts +0 -21
  175. package/dist/controller/medstatistic/MedScoreService.js +0 -107
  176. package/dist/controller/medstatistic/constants.d.ts +0 -32
  177. package/dist/controller/medstatistic/constants.js +0 -43
  178. package/src/config/config.default.ts +0 -172
  179. package/src/config/seed/aeskey.txt +0 -1
  180. package/src/config/utils.ts +0 -23
  181. package/src/configuration.ts +0 -83
  182. package/src/controller/base/BaseApiController.ts +0 -145
  183. package/src/controller/gateway/AnyApiGatewayController.ts +0 -33
  184. package/src/controller/gateway/CrudMtdGatewayController.ts +0 -107
  185. package/src/controller/gateway/CrudStdGatewayController.ts +0 -101
  186. package/src/controller/gateway/DocGatewayController.ts +0 -165
  187. package/src/controller/gateway/FileController.ts +0 -110
  188. package/src/controller/gateway/ProxyApiGatewayController.ts +0 -47
  189. package/src/controller/gateway/PublicApiController.ts +0 -145
  190. package/src/controller/gateway/StaticController.ts +0 -303
  191. package/src/controller/helpers.controller.ts +0 -161
  192. package/src/controller/home.controller.ts +0 -71
  193. package/src/controller/manage/AnyApiMangeApi.ts +0 -66
  194. package/src/controller/manage/AppLogMangeApi.ts +0 -53
  195. package/src/controller/manage/AppMangeApi.ts +0 -53
  196. package/src/controller/manage/AppPageMangeApi.ts +0 -52
  197. package/src/controller/manage/AppSchemaHistoryApi.ts +0 -49
  198. package/src/controller/manage/CrudMethodsMangeApi.ts +0 -49
  199. package/src/controller/manage/CrudStandardDesignApi.ts +0 -353
  200. package/src/controller/manage/DataDictManageApi.ts +0 -78
  201. package/src/controller/manage/DeployManageApi.ts +0 -179
  202. package/src/controller/manage/DocLibManageApi.ts +0 -69
  203. package/src/controller/manage/DocManageApi.ts +0 -99
  204. package/src/controller/manage/FileManageApi.ts +0 -45
  205. package/src/controller/manage/LowCodeTplManageApi.ts +0 -52
  206. package/src/controller/manage/MenuManageApi.ts +0 -63
  207. package/src/controller/manage/ProxyApiMangeApi.ts +0 -52
  208. package/src/controller/manage/SuperAdminManageApi.ts +0 -138
  209. package/src/controller/manage/SysConfigMangeApi.ts +0 -95
  210. package/src/controller/manage/SystemInfoManageApi.ts +0 -48
  211. package/src/controller/manage/UserAccountManageApi.ts +0 -88
  212. package/src/controller/manage/WorkbenchMangeApi.ts +0 -72
  213. package/src/controller/medstatistic/MedAdminController.ts +0 -221
  214. package/src/controller/medstatistic/MedClientController.ts +0 -188
  215. package/src/controller/medstatistic/MedMessageService.ts +0 -89
  216. package/src/controller/medstatistic/MedScoreService.ts +0 -108
  217. package/src/controller/medstatistic/constants.ts +0 -63
  218. package/src/controller/myinfo/AuthController.ts +0 -174
  219. package/src/controller/myinfo/MyInfoController.ts +0 -32
  220. package/src/controller/render/AppRenderController.ts +0 -76
  221. package/src/controller/test.controller.ts +0 -37
  222. package/src/filter/default.filter.ts +0 -13
  223. package/src/filter/notfound.filter.ts +0 -10
  224. package/src/index.ts +0 -71
  225. package/src/interface.ts +0 -31
  226. package/src/libs/crud-pro/CrudPro.ts +0 -158
  227. package/src/libs/crud-pro/defaultConfigs.ts +0 -13
  228. package/src/libs/crud-pro/exceptions.ts +0 -124
  229. package/src/libs/crud-pro/interfaces.ts +0 -183
  230. package/src/libs/crud-pro/models/ExecuteContext.ts +0 -111
  231. package/src/libs/crud-pro/models/ExecuteContextFunc.ts +0 -86
  232. package/src/libs/crud-pro/models/FuncContext.ts +0 -21
  233. package/src/libs/crud-pro/models/RequestCfgModel.ts +0 -141
  234. package/src/libs/crud-pro/models/RequestModel.ts +0 -141
  235. package/src/libs/crud-pro/models/ServiceHub.ts +0 -32
  236. package/src/libs/crud-pro/models/SqlCfgModel.ts +0 -52
  237. package/src/libs/crud-pro/models/SqlSegArg.ts +0 -13
  238. package/src/libs/crud-pro/models/Transaction.ts +0 -74
  239. package/src/libs/crud-pro/models/TransactionMySQL.ts +0 -79
  240. package/src/libs/crud-pro/models/TransactionPostgres.ts +0 -91
  241. package/src/libs/crud-pro/models/TransactionSqlServer.ts +0 -107
  242. package/src/libs/crud-pro/models/keys.ts +0 -159
  243. package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +0 -75
  244. package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +0 -128
  245. package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +0 -279
  246. package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +0 -60
  247. package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +0 -180
  248. package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +0 -373
  249. package/src/libs/crud-pro/services/CrudProGenSqlService.ts +0 -202
  250. package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +0 -397
  251. package/src/libs/crud-pro/services/CrudProServiceBase.ts +0 -98
  252. package/src/libs/crud-pro/services/CrudProTableMetaService.ts +0 -59
  253. package/src/libs/crud-pro/services/CurdProServiceHub.ts +0 -92
  254. package/src/libs/crud-pro/sql.txt +0 -120
  255. package/src/libs/crud-pro/utils/CompareUtils.ts +0 -23
  256. package/src/libs/crud-pro/utils/DatabaseName.ts +0 -40
  257. package/src/libs/crud-pro/utils/DateTimeUtils.ts +0 -20
  258. package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +0 -64
  259. package/src/libs/crud-pro/utils/MessageParseUtils.ts +0 -33
  260. package/src/libs/crud-pro/utils/MixinUtils.ts +0 -285
  261. package/src/libs/crud-pro/utils/ModelUtils.ts +0 -55
  262. package/src/libs/crud-pro/utils/MultiKeyMap.ts +0 -72
  263. package/src/libs/crud-pro/utils/SqlFuncUtils.ts +0 -29
  264. package/src/libs/crud-pro/utils/TypeUtils.ts +0 -188
  265. package/src/libs/crud-pro/utils/ValidateUtils.ts +0 -167
  266. package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +0 -20
  267. package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +0 -22
  268. package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +0 -22
  269. package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +0 -26
  270. package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +0 -11
  271. package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +0 -11
  272. package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +0 -129
  273. package/src/libs/utils/common-dto.ts +0 -52
  274. package/src/libs/utils/crypto-utils.ts +0 -52
  275. package/src/libs/utils/fatcms-request.ts +0 -115
  276. package/src/libs/utils/functions.ts +0 -67
  277. package/src/libs/utils/ordernum-utils.ts +0 -18
  278. package/src/libs/utils/parseConfig.ts +0 -62
  279. package/src/libs/utils/parseCreateSql.ts +0 -91
  280. package/src/libs/utils/render-utils.ts +0 -184
  281. package/src/middleware/forbidden.middleware.ts +0 -71
  282. package/src/middleware/global.middleware.ts +0 -278
  283. package/src/middleware/permission.middleware.ts +0 -81
  284. package/src/middleware/tx.middleware.ts +0 -30
  285. package/src/models/SystemEntities.ts +0 -115
  286. package/src/models/SystemPerm.ts +0 -105
  287. package/src/models/SystemTables.ts +0 -30
  288. package/src/models/bizmodels.ts +0 -89
  289. package/src/models/contextLogger.ts +0 -132
  290. package/src/models/devops.ts +0 -17
  291. package/src/models/userSession.ts +0 -216
  292. package/src/schedule/index.ts +0 -73
  293. package/src/service/AuthService.ts +0 -270
  294. package/src/service/EnumInfoService.ts +0 -129
  295. package/src/service/FileCenterService.ts +0 -394
  296. package/src/service/SysConfigService.ts +0 -34
  297. package/src/service/UserAccountService.ts +0 -100
  298. package/src/service/UserSessionService.ts +0 -81
  299. package/src/service/VisitStatService.ts +0 -179
  300. package/src/service/WorkbenchService.ts +0 -160
  301. package/src/service/anyapi/AnyApiSandboxService.ts +0 -121
  302. package/src/service/anyapi/AnyApiService.ts +0 -184
  303. package/src/service/base/ApiBaseService.ts +0 -42
  304. package/src/service/base/ApiRateLimiter.ts +0 -59
  305. package/src/service/base/BaseService.ts +0 -74
  306. package/src/service/base/RedisCacheService.ts +0 -38
  307. package/src/service/crudstd/CrudStdActionService.ts +0 -27
  308. package/src/service/crudstd/CrudStdConstant.ts +0 -62
  309. package/src/service/crudstd/CrudStdRelationService.ts +0 -78
  310. package/src/service/crudstd/CrudStdService.ts +0 -188
  311. package/src/service/curd/CurdMixByAccountService.ts +0 -83
  312. package/src/service/curd/CurdMixByDictService.ts +0 -113
  313. package/src/service/curd/CurdMixByLinkToCustomService.ts +0 -167
  314. package/src/service/curd/CurdMixBySysConfigService.ts +0 -78
  315. package/src/service/curd/CurdMixByWorkbenchService.ts +0 -68
  316. package/src/service/curd/CurdMixService.ts +0 -65
  317. package/src/service/curd/CurdMixUtils.ts +0 -248
  318. package/src/service/curd/CurdProService.ts +0 -379
  319. package/src/service/proxyapi/ProxyApiLoadService.ts +0 -165
  320. package/src/service/proxyapi/ProxyApiService.ts +0 -262
  321. package/src/service/proxyapi/ProxyApiUtils.ts +0 -32
  322. package/src/service/proxyapi/RouteHandler.ts +0 -8
  323. package/src/service/proxyapi/RouteTrie.ts +0 -74
  324. package/src/service/proxyapi/WeightedRandom.ts +0 -37
  325. package/src/service/proxyapi/WeightedRoundRobin.ts +0 -44
  326. package/src/views/404_app.html +0 -31
  327. package/src/views/404_workbench.html +0 -34
  328. 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 };