midway-fatcms 0.0.1-beta.75 → 0.0.1-beta.76
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.
- package/.eslintrc.json +14 -14
- package/.prettierrc.js +4 -4
- package/README.md +8 -8
- package/dist/config/config.default.d.ts +3 -3
- package/dist/config/config.default.js +177 -177
- package/dist/config/utils.d.ts +1 -1
- package/dist/config/utils.js +23 -23
- package/dist/configuration.d.ts +7 -7
- package/dist/configuration.js +113 -113
- package/dist/controller/base/BaseApiController.d.ts +48 -48
- package/dist/controller/base/BaseApiController.js +197 -193
- package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -13
- package/dist/controller/gateway/AnyApiGatewayController.js +55 -55
- package/dist/controller/gateway/AsyncTaskController.d.ts +20 -20
- package/dist/controller/gateway/AsyncTaskController.js +181 -181
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -21
- package/dist/controller/gateway/CrudMtdGatewayController.js +122 -122
- package/dist/controller/gateway/CrudStdGatewayController.d.ts +39 -39
- package/dist/controller/gateway/CrudStdGatewayController.js +149 -149
- package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
- package/dist/controller/gateway/DocGatewayController.js +179 -179
- package/dist/controller/gateway/FileController.d.ts +32 -32
- package/dist/controller/gateway/FileController.js +160 -160
- package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
- package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
- package/dist/controller/gateway/PublicApiController.d.ts +33 -33
- package/dist/controller/gateway/PublicApiController.js +201 -201
- package/dist/controller/gateway/StaticController.d.ts +23 -23
- package/dist/controller/gateway/StaticController.js +286 -286
- package/dist/controller/helpers.controller.d.ts +39 -39
- package/dist/controller/helpers.controller.js +188 -188
- package/dist/controller/home.controller.d.ts +9 -9
- package/dist/controller/home.controller.js +72 -72
- package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -10
- package/dist/controller/manage/AnyApiMangeApi.js +98 -98
- package/dist/controller/manage/AppLogMangeApi.d.ts +10 -10
- package/dist/controller/manage/AppLogMangeApi.js +88 -88
- package/dist/controller/manage/AppMangeApi.d.ts +12 -12
- package/dist/controller/manage/AppMangeApi.js +101 -101
- package/dist/controller/manage/AppPageMangeApi.d.ts +10 -10
- package/dist/controller/manage/AppPageMangeApi.js +87 -87
- package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -10
- package/dist/controller/manage/AppSchemaHistoryApi.js +83 -83
- package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -10
- package/dist/controller/manage/CrudMethodsMangeApi.js +84 -84
- package/dist/controller/manage/CrudStandardDesignApi.d.ts +46 -46
- package/dist/controller/manage/CrudStandardDesignApi.js +367 -367
- package/dist/controller/manage/DataDictManageApi.d.ts +17 -17
- package/dist/controller/manage/DataDictManageApi.js +165 -165
- package/dist/controller/manage/DeployManageApi.d.ts +19 -19
- package/dist/controller/manage/DeployManageApi.js +180 -180
- package/dist/controller/manage/DocLibManageApi.d.ts +10 -10
- package/dist/controller/manage/DocLibManageApi.js +104 -104
- package/dist/controller/manage/DocManageApi.d.ts +11 -11
- package/dist/controller/manage/DocManageApi.js +130 -130
- package/dist/controller/manage/FileManageApi.d.ts +13 -13
- package/dist/controller/manage/FileManageApi.js +77 -77
- package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -13
- package/dist/controller/manage/LowCodeTplManageApi.js +86 -86
- package/dist/controller/manage/MenuManageApi.d.ts +10 -10
- package/dist/controller/manage/MenuManageApi.js +93 -93
- package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -10
- package/dist/controller/manage/ProxyApiMangeApi.js +87 -87
- package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -24
- package/dist/controller/manage/SuperAdminManageApi.js +153 -153
- package/dist/controller/manage/SysConfigMangeApi.d.ts +12 -12
- package/dist/controller/manage/SysConfigMangeApi.js +133 -133
- package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
- package/dist/controller/manage/SystemInfoManageApi.js +74 -72
- package/dist/controller/manage/UserAccountManageApi.d.ts +16 -16
- package/dist/controller/manage/UserAccountManageApi.js +153 -153
- package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
- package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
- package/dist/controller/myinfo/AuthController.d.ts +37 -37
- package/dist/controller/myinfo/AuthController.js +157 -157
- package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
- package/dist/controller/myinfo/MyInfoController.js +51 -51
- package/dist/controller/render/AppRenderController.d.ts +12 -12
- package/dist/controller/render/AppRenderController.js +87 -87
- package/dist/controller/test.controller.d.ts +8 -8
- package/dist/controller/test.controller.js +51 -51
- package/dist/filter/default.filter.d.ts +7 -7
- package/dist/filter/default.filter.js +23 -23
- package/dist/filter/notfound.filter.d.ts +5 -5
- package/dist/filter/notfound.filter.js +20 -20
- package/dist/index.d.ts +106 -106
- package/dist/index.js +124 -124
- package/dist/interface.d.ts +29 -29
- package/dist/interface.js +3 -3
- package/dist/libs/crud-pro/CrudPro.d.ts +37 -37
- package/dist/libs/crud-pro/CrudPro.js +136 -136
- package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -4
- package/dist/libs/crud-pro/defaultConfigs.js +15 -15
- package/dist/libs/crud-pro/exceptions.d.ts +106 -106
- package/dist/libs/crud-pro/exceptions.js +119 -119
- package/dist/libs/crud-pro/interfaces.d.ts +166 -166
- package/dist/libs/crud-pro/interfaces.js +12 -12
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +50 -50
- package/dist/libs/crud-pro/models/ExecuteContext.js +87 -87
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -38
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -72
- package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -18
- package/dist/libs/crud-pro/models/FuncContext.js +6 -6
- package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -65
- package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -81
- package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -25
- package/dist/libs/crud-pro/models/RequestModel.js +113 -113
- package/dist/libs/crud-pro/models/ResModel.d.ts +20 -20
- package/dist/libs/crud-pro/models/ResModel.js +2 -2
- package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -20
- package/dist/libs/crud-pro/models/ServiceHub.js +2 -2
- package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +23 -23
- package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -40
- package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -6
- package/dist/libs/crud-pro/models/SqlSegArg.js +12 -12
- package/dist/libs/crud-pro/models/Transaction.d.ts +30 -30
- package/dist/libs/crud-pro/models/Transaction.js +74 -74
- package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +29 -28
- package/dist/libs/crud-pro/models/TransactionMySQL.js +83 -76
- package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +29 -28
- package/dist/libs/crud-pro/models/TransactionPostgres.js +91 -85
- package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +35 -34
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +100 -92
- package/dist/libs/crud-pro/models/keys.d.ts +110 -110
- package/dist/libs/crud-pro/models/keys.js +154 -154
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -11
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -73
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +125 -125
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -17
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -225
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -51
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -13
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -148
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -24
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +355 -355
- package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -25
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -165
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -32
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +339 -339
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +88 -88
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -9
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +72 -72
- package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -32
- package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -64
- package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -9
- package/dist/libs/crud-pro/utils/CompareUtils.js +25 -25
- package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +9 -0
- package/dist/libs/crud-pro/utils/CrudMonitor.js +12 -0
- package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -9
- package/dist/libs/crud-pro/utils/DatabaseName.js +50 -50
- package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -7
- package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -21
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -19
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -47
- package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -5
- package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -33
- package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -39
- package/dist/libs/crud-pro/utils/MixinUtils.js +255 -255
- package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -11
- package/dist/libs/crud-pro/utils/ModelUtils.js +54 -54
- package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -11
- package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -63
- package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -5
- package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -29
- package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -40
- package/dist/libs/crud-pro/utils/TypeUtils.js +166 -166
- package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -165
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -19
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -20
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -3
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -20
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -4
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +35 -35
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -3
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -22
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +14 -14
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +14 -14
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -128
- package/dist/libs/global-config/global-config.d.ts +69 -69
- package/dist/libs/global-config/global-config.js +36 -36
- package/dist/libs/utils/AsymmetricCrypto.d.ts +76 -76
- package/dist/libs/utils/AsymmetricCrypto.js +261 -261
- package/dist/libs/utils/base64.d.ts +9 -9
- package/dist/libs/utils/base64.js +42 -42
- package/dist/libs/utils/common-dto.d.ts +18 -18
- package/dist/libs/utils/common-dto.js +40 -40
- package/dist/libs/utils/crypto-utils.d.ts +3 -3
- package/dist/libs/utils/crypto-utils.js +46 -46
- package/dist/libs/utils/errorToString.d.ts +2 -2
- package/dist/libs/utils/errorToString.js +57 -57
- package/dist/libs/utils/fatcms-request.d.ts +30 -30
- package/dist/libs/utils/fatcms-request.js +104 -104
- package/dist/libs/utils/format-url.d.ts +2 -2
- package/dist/libs/utils/format-url.js +13 -13
- package/dist/libs/utils/functions.d.ts +5 -5
- package/dist/libs/utils/functions.js +76 -76
- package/dist/libs/utils/ordernum-utils.d.ts +2 -2
- package/dist/libs/utils/ordernum-utils.js +13 -13
- package/dist/libs/utils/parseConfig.d.ts +8 -8
- package/dist/libs/utils/parseConfig.js +47 -47
- package/dist/libs/utils/parseCreateSql.d.ts +10 -10
- package/dist/libs/utils/parseCreateSql.js +87 -87
- package/dist/libs/utils/render-utils.d.ts +37 -37
- package/dist/libs/utils/render-utils.js +154 -154
- package/dist/middleware/forbidden.middleware.d.ts +10 -10
- package/dist/middleware/forbidden.middleware.js +54 -54
- package/dist/middleware/global.middleware.d.ts +10 -10
- package/dist/middleware/global.middleware.js +273 -273
- package/dist/middleware/permission.middleware.d.ts +18 -18
- package/dist/middleware/permission.middleware.js +74 -74
- package/dist/middleware/rediscache.middleware.d.ts +3 -3
- package/dist/middleware/rediscache.middleware.js +77 -77
- package/dist/middleware/redislock.middleware.d.ts +7 -7
- package/dist/middleware/redislock.middleware.js +72 -72
- package/dist/middleware/tx.middleware.d.ts +9 -9
- package/dist/middleware/tx.middleware.js +40 -40
- package/dist/models/AsyncTaskModel.d.ts +74 -74
- package/dist/models/AsyncTaskModel.js +31 -31
- package/dist/models/RedisKeys.d.ts +15 -15
- package/dist/models/RedisKeys.js +18 -18
- package/dist/models/SystemEntities.d.ts +117 -117
- package/dist/models/SystemEntities.js +17 -17
- package/dist/models/SystemPerm.d.ts +95 -95
- package/dist/models/SystemPerm.js +100 -100
- package/dist/models/SystemTables.d.ts +25 -25
- package/dist/models/SystemTables.js +28 -28
- package/dist/models/WorkbenchInfoTools.d.ts +7 -7
- package/dist/models/WorkbenchInfoTools.js +20 -20
- package/dist/models/bizmodels.d.ts +138 -138
- package/dist/models/bizmodels.js +61 -61
- package/dist/models/contextLogger.d.ts +27 -27
- package/dist/models/contextLogger.js +119 -119
- package/dist/models/devops.d.ts +12 -12
- package/dist/models/devops.js +19 -19
- package/dist/models/userSession.d.ts +65 -65
- package/dist/models/userSession.js +168 -168
- package/dist/schedule/anonymousContext.d.ts +15 -15
- package/dist/schedule/anonymousContext.js +73 -73
- package/dist/schedule/index.d.ts +4 -4
- package/dist/schedule/index.js +10 -10
- package/dist/schedule/runSchedule.d.ts +12 -12
- package/dist/schedule/runSchedule.js +68 -68
- package/dist/schedule/scheduleNames.d.ts +15 -15
- package/dist/schedule/scheduleNames.js +19 -19
- package/dist/service/AuthService.d.ts +57 -57
- package/dist/service/AuthService.js +265 -265
- package/dist/service/EnumInfoService.d.ts +30 -30
- package/dist/service/EnumInfoService.js +97 -97
- package/dist/service/FileCenterService.d.ts +64 -64
- package/dist/service/FileCenterService.js +422 -422
- package/dist/service/SysAppService.d.ts +14 -14
- package/dist/service/SysAppService.js +96 -96
- package/dist/service/SysConfigService.d.ts +10 -10
- package/dist/service/SysConfigService.js +64 -64
- package/dist/service/SysDictDataService.d.ts +9 -9
- package/dist/service/SysDictDataService.js +72 -72
- package/dist/service/UserAccountService.d.ts +23 -23
- package/dist/service/UserAccountService.js +107 -107
- package/dist/service/UserSessionService.d.ts +43 -43
- package/dist/service/UserSessionService.js +163 -163
- package/dist/service/VisitStatService.d.ts +14 -14
- package/dist/service/VisitStatService.js +158 -158
- package/dist/service/WorkbenchService.d.ts +59 -59
- package/dist/service/WorkbenchService.js +249 -249
- package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -15
- package/dist/service/anyapi/AnyApiSandboxService.js +110 -110
- package/dist/service/anyapi/AnyApiService.d.ts +27 -27
- package/dist/service/anyapi/AnyApiService.js +181 -181
- package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -50
- package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -287
- package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -7
- package/dist/service/asyncTask/AsyncTaskService.js +34 -34
- package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -10
- package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -2
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -7
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -216
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -36
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +141 -141
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -46
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +135 -135
- package/dist/service/base/ApiBaseService.d.ts +15 -15
- package/dist/service/base/ApiBaseService.js +50 -50
- package/dist/service/base/ApiRateLimiter.d.ts +10 -10
- package/dist/service/base/ApiRateLimiter.js +51 -51
- package/dist/service/base/BaseService.d.ts +41 -41
- package/dist/service/base/BaseService.js +101 -101
- package/dist/service/base/cache/CacheServiceFactory.d.ts +26 -26
- package/dist/service/base/cache/CacheServiceFactory.js +122 -122
- package/dist/service/base/cache/CtxCache.d.ts +18 -18
- package/dist/service/base/cache/CtxCache.js +37 -37
- package/dist/service/base/cache/DiskCache.d.ts +19 -19
- package/dist/service/base/cache/DiskCache.js +74 -74
- package/dist/service/base/cache/MemoryCache.d.ts +12 -12
- package/dist/service/base/cache/MemoryCache.js +58 -58
- package/dist/service/base/cache/NoneCache.d.ts +10 -10
- package/dist/service/base/cache/NoneCache.js +19 -19
- package/dist/service/base/cache/RedisCache.d.ts +14 -14
- package/dist/service/base/cache/RedisCache.js +31 -31
- package/dist/service/crudstd/CrudStdActionService.d.ts +17 -17
- package/dist/service/crudstd/CrudStdActionService.js +32 -32
- package/dist/service/crudstd/CrudStdConstant.d.ts +58 -58
- package/dist/service/crudstd/CrudStdConstant.js +64 -64
- package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -10
- package/dist/service/crudstd/CrudStdRelationService.js +121 -121
- package/dist/service/crudstd/CrudStdService.d.ts +60 -60
- package/dist/service/crudstd/CrudStdService.js +376 -376
- package/dist/service/curd/CrudProQuick.d.ts +50 -50
- package/dist/service/curd/CrudProQuick.js +163 -163
- package/dist/service/curd/CurdMixByAccountService.d.ts +13 -13
- package/dist/service/curd/CurdMixByAccountService.js +151 -151
- package/dist/service/curd/CurdMixByDictService.d.ts +12 -12
- package/dist/service/curd/CurdMixByDictService.js +114 -114
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -30
- package/dist/service/curd/CurdMixByLinkToCustomService.js +209 -209
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -13
- package/dist/service/curd/CurdMixBySysConfigService.js +116 -116
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -11
- package/dist/service/curd/CurdMixByWorkbenchService.js +80 -80
- package/dist/service/curd/CurdMixService.d.ts +28 -28
- package/dist/service/curd/CurdMixService.js +100 -100
- package/dist/service/curd/CurdMixUtils.d.ts +57 -57
- package/dist/service/curd/CurdMixUtils.js +331 -331
- package/dist/service/curd/CurdProService.d.ts +32 -32
- package/dist/service/curd/CurdProService.js +212 -212
- package/dist/service/curd/fixCfgModel.d.ts +3 -3
- package/dist/service/curd/fixCfgModel.js +104 -104
- package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -21
- package/dist/service/proxyapi/ProxyApiLoadService.js +167 -167
- package/dist/service/proxyapi/ProxyApiService.d.ts +61 -61
- package/dist/service/proxyapi/ProxyApiService.js +294 -294
- package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -15
- package/dist/service/proxyapi/ProxyApiUtils.js +34 -34
- package/dist/service/proxyapi/RouteHandler.d.ts +5 -5
- package/dist/service/proxyapi/RouteHandler.js +9 -9
- package/dist/service/proxyapi/RouteTrie.d.ts +12 -12
- package/dist/service/proxyapi/RouteTrie.js +63 -63
- package/dist/service/proxyapi/WeightedRandom.d.ts +9 -9
- package/dist/service/proxyapi/WeightedRandom.js +31 -31
- package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -8
- package/dist/service/proxyapi/WeightedRoundRobin.js +32 -32
- package/index.d.ts +10 -10
- package/package.json +87 -87
- package/src/controller/base/BaseApiController.ts +7 -2
- package/src/controller/manage/SuperAdminManageApi.ts +6 -6
- package/src/controller/manage/SystemInfoManageApi.ts +2 -0
- package/src/libs/crud-pro/models/TransactionMySQL.ts +13 -3
- package/src/libs/crud-pro/models/TransactionPostgres.ts +9 -3
- package/src/libs/crud-pro/models/TransactionSqlServer.ts +19 -8
- package/src/libs/crud-pro/utils/CrudMonitor.ts +13 -0
- package/src/libs/utils/AsymmetricCrypto.ts +307 -307
- package/src/libs/utils/format-url.ts +15 -15
- package/src/libs/utils/render-utils.ts +216 -216
- package/src/models/WorkbenchInfoTools.ts +19 -19
- package/src/service/SysAppService.ts +88 -88
- package/src/service/SysDictDataService.ts +63 -63
- package/src/service/WorkbenchService.ts +277 -277
- package/src/service/base/cache/CacheServiceFactory.ts +135 -135
- package/src/service/base/cache/CtxCache.ts +45 -45
- package/src/service/base/cache/DiskCache.ts +82 -82
- package/src/service/base/cache/MemoryCache.ts +68 -68
- package/src/service/base/cache/NoneCache.ts +24 -24
- package/src/service/base/cache/RedisCache.ts +41 -41
- package/tsconfig.json +32 -32
|
@@ -1,265 +1,265 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AuthService = void 0;
|
|
13
|
-
const core_1 = require("@midwayjs/core");
|
|
14
|
-
const keys_1 = require("../libs/crud-pro/models/keys");
|
|
15
|
-
const CurdMixService_1 = require("./curd/CurdMixService");
|
|
16
|
-
const md5 = require("md5");
|
|
17
|
-
const UserAccountService_1 = require("./UserAccountService");
|
|
18
|
-
const functions_1 = require("../libs/utils/functions");
|
|
19
|
-
const userSession_1 = require("../models/userSession");
|
|
20
|
-
const SystemTables_1 = require("../models/SystemTables");
|
|
21
|
-
const UserSessionService_1 = require("./UserSessionService");
|
|
22
|
-
const common_dto_1 = require("../libs/utils/common-dto");
|
|
23
|
-
const fatcms_request_1 = require("../libs/utils/fatcms-request");
|
|
24
|
-
const exceptions_1 = require("../libs/crud-pro/exceptions");
|
|
25
|
-
const global_config_1 = require("../libs/global-config/global-config");
|
|
26
|
-
const AsymmetricCrypto_1 = require("../libs/utils/AsymmetricCrypto");
|
|
27
|
-
let AuthService = class AuthService {
|
|
28
|
-
/**
|
|
29
|
-
* 明文密码转unsaltedPwd密码
|
|
30
|
-
* @param plainPwd
|
|
31
|
-
* @param loginName
|
|
32
|
-
*/
|
|
33
|
-
toUnsaltedPwd(plainPwd, loginName) {
|
|
34
|
-
const pw2 = md5(md5(plainPwd) + '_' + loginName);
|
|
35
|
-
return pw2;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* front: pw1 = md5(md5(input_pw) + "_" + loginName)
|
|
39
|
-
* db: pw2 = md5(pwd_salt + pw1)
|
|
40
|
-
* 检查用户名密码是否正确
|
|
41
|
-
* @param loginName
|
|
42
|
-
* @param unsaltedPwd
|
|
43
|
-
*/
|
|
44
|
-
async checkLoginPassword(loginName, unsaltedPwd) {
|
|
45
|
-
const message = '用户名或密码错误';
|
|
46
|
-
const errorCode = 'USERNAME_OR_PASSWORD_IS_INCORRECT';
|
|
47
|
-
if (!loginName) {
|
|
48
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, '!loginName');
|
|
49
|
-
}
|
|
50
|
-
if (!unsaltedPwd) {
|
|
51
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, '!unsaltedPwd');
|
|
52
|
-
}
|
|
53
|
-
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
54
|
-
if (!userAccount) {
|
|
55
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount');
|
|
56
|
-
}
|
|
57
|
-
if (userAccount.status !== 1) {
|
|
58
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, 'userAccount.status !== 1');
|
|
59
|
-
}
|
|
60
|
-
if (!userAccount.pwd_md5) {
|
|
61
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount.pwd_md5');
|
|
62
|
-
}
|
|
63
|
-
const pwd_salt = userAccount.pwd_salt;
|
|
64
|
-
const pwd_md5 = md5(unsaltedPwd + pwd_salt);
|
|
65
|
-
if (userAccount['pwd_md5'] !== pwd_md5) {
|
|
66
|
-
return common_dto_1.CommonResult.errorRes(message, errorCode, "userAccount['pwd_md5'] !== pwd_md5");
|
|
67
|
-
}
|
|
68
|
-
return common_dto_1.CommonResult.successRes();
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* 创建一个toC端的UserSession
|
|
72
|
-
* @param consumerUserInfo
|
|
73
|
-
* @param loadRoleCodes
|
|
74
|
-
*/
|
|
75
|
-
async createUserSessionForConsumer(consumerUserInfo, loadRoleCodes) {
|
|
76
|
-
const sessionId = (0, functions_1.createUniqueId)();
|
|
77
|
-
const accountId = consumerUserInfo.accountId;
|
|
78
|
-
let roleCodes = [];
|
|
79
|
-
let functionCodes = [];
|
|
80
|
-
if (loadRoleCodes === true) {
|
|
81
|
-
roleCodes = await this.queryUserRoleCodeList(accountId);
|
|
82
|
-
functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
83
|
-
}
|
|
84
|
-
const { publicKey, privateKey } = await AsymmetricCrypto_1.AsymmetricCrypto.generateKeyPair();
|
|
85
|
-
const sessionInfo = {
|
|
86
|
-
nickName: consumerUserInfo.nickName,
|
|
87
|
-
avatar: consumerUserInfo.avatar,
|
|
88
|
-
roleCodes: roleCodes,
|
|
89
|
-
functionCodes: functionCodes,
|
|
90
|
-
loginName: consumerUserInfo.loginName,
|
|
91
|
-
sessionId,
|
|
92
|
-
accountId: consumerUserInfo.accountId,
|
|
93
|
-
workbenchCode: consumerUserInfo.workbenchCode,
|
|
94
|
-
accountType: consumerUserInfo.accountType,
|
|
95
|
-
publicKey,
|
|
96
|
-
privateKey,
|
|
97
|
-
sessionIdCreatedAt: Date.now(),
|
|
98
|
-
};
|
|
99
|
-
await this.userSessionService.saveUserSession(sessionInfo);
|
|
100
|
-
return sessionInfo;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* 创建一个Session
|
|
104
|
-
* @param loginName
|
|
105
|
-
* @param workbenchCode
|
|
106
|
-
* @param bizExt
|
|
107
|
-
*/
|
|
108
|
-
async createUserSession(loginName, workbenchCode, bizExt) {
|
|
109
|
-
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
110
|
-
if (!userAccount) {
|
|
111
|
-
throw new exceptions_1.CommonException('USER_ACCOUNT_NOT_EXIST', '用户账号不存在');
|
|
112
|
-
}
|
|
113
|
-
const accountId = userAccount.account_id;
|
|
114
|
-
const sessionId = (0, functions_1.createUniqueId)();
|
|
115
|
-
const roleCodes = await this.queryUserRoleCodeList(accountId);
|
|
116
|
-
const functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
117
|
-
const { publicKey, privateKey } = await AsymmetricCrypto_1.AsymmetricCrypto.generateKeyPair();
|
|
118
|
-
const sessionInfo = {
|
|
119
|
-
nickName: userAccount.nick_name,
|
|
120
|
-
avatar: userAccount.avatar,
|
|
121
|
-
roleCodes,
|
|
122
|
-
functionCodes,
|
|
123
|
-
loginName,
|
|
124
|
-
sessionId,
|
|
125
|
-
accountId,
|
|
126
|
-
workbenchCode,
|
|
127
|
-
accountType: userSession_1.SYS_ACCOUNT_TYPE,
|
|
128
|
-
bizExt: {},
|
|
129
|
-
publicKey,
|
|
130
|
-
privateKey,
|
|
131
|
-
sessionIdCreatedAt: Date.now(),
|
|
132
|
-
};
|
|
133
|
-
if (bizExt && typeof bizExt === 'object') {
|
|
134
|
-
sessionInfo.bizExt = bizExt;
|
|
135
|
-
}
|
|
136
|
-
await this.userSessionService.saveUserSession(sessionInfo);
|
|
137
|
-
return sessionInfo;
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* 获取用户
|
|
141
|
-
* @param loginName
|
|
142
|
-
* @private
|
|
143
|
-
*/
|
|
144
|
-
async queryUserAccountByLoginName(loginName) {
|
|
145
|
-
const superAdminList = this.superAdminList;
|
|
146
|
-
const findFromSuperAdmin = () => {
|
|
147
|
-
if (!(0, fatcms_request_1.isEnableSuperAdmin)(this.ctx)) {
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
if (!Array.isArray(superAdminList)) {
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
for (let i = 0; i < superAdminList.length; i++) {
|
|
154
|
-
const element = superAdminList[i];
|
|
155
|
-
if (element && element.login_name === loginName) {
|
|
156
|
-
const nick_name = 'SA' + i;
|
|
157
|
-
return {
|
|
158
|
-
nick_name: element.nick_name || nick_name,
|
|
159
|
-
avatar: '',
|
|
160
|
-
account_id: nick_name,
|
|
161
|
-
status: 1,
|
|
162
|
-
login_name: element.login_name,
|
|
163
|
-
pwd_salt: element.pwd_salt,
|
|
164
|
-
pwd_md5: element.pwd_md5,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
const superAdmin = findFromSuperAdmin();
|
|
170
|
-
if (superAdmin) {
|
|
171
|
-
return superAdmin;
|
|
172
|
-
}
|
|
173
|
-
return this.userService.queryUserAccountByLoginName(loginName);
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* 查询此accountId下关联的角色code列表
|
|
177
|
-
* @param accountId
|
|
178
|
-
* @private
|
|
179
|
-
*/
|
|
180
|
-
async queryUserRoleCodeList(accountId) {
|
|
181
|
-
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
182
|
-
const res = await this.curdMixService.executeCrudByCfg({
|
|
183
|
-
condition: { account_id: accountId },
|
|
184
|
-
limit: 10000,
|
|
185
|
-
}, {
|
|
186
|
-
sqlTable: SystemTables_1.SystemTables.sys_perm_user_role,
|
|
187
|
-
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
188
|
-
sqlDatabase: SystemDbName,
|
|
189
|
-
sqlDbType: SystemDbType,
|
|
190
|
-
});
|
|
191
|
-
const rows = res.getResModel().rows || [];
|
|
192
|
-
const roleCodes = rows.map(({ role_code }) => {
|
|
193
|
-
return role_code;
|
|
194
|
-
});
|
|
195
|
-
return [...new Set(roleCodes)];
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* 查询此roleCodeList下面关联的所有功能点列表
|
|
199
|
-
* @param roleCodeList
|
|
200
|
-
* @private
|
|
201
|
-
*/
|
|
202
|
-
async queryFunctionCodeList(roleCodeList) {
|
|
203
|
-
if (!roleCodeList || roleCodeList.length === 0) {
|
|
204
|
-
return [];
|
|
205
|
-
}
|
|
206
|
-
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
207
|
-
const res = await this.curdMixService.executeCrudByCfg({
|
|
208
|
-
condition: { role_code: { $in: roleCodeList } },
|
|
209
|
-
limit: 10000,
|
|
210
|
-
}, {
|
|
211
|
-
sqlTable: SystemTables_1.SystemTables.sys_perm_role_func,
|
|
212
|
-
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
213
|
-
sqlDatabase: SystemDbName,
|
|
214
|
-
sqlDbType: SystemDbType,
|
|
215
|
-
});
|
|
216
|
-
const rows = res.getResModel().rows || [];
|
|
217
|
-
const funcCodes = rows.map(({ func_code }) => {
|
|
218
|
-
return func_code;
|
|
219
|
-
});
|
|
220
|
-
return [...new Set(funcCodes)];
|
|
221
|
-
}
|
|
222
|
-
async removeUserSession(sessionId) {
|
|
223
|
-
return this.userSessionService.removeUserSession(sessionId);
|
|
224
|
-
}
|
|
225
|
-
async refreshSession(sessionInfo) {
|
|
226
|
-
const roleCodes = await this.queryUserRoleCodeList(sessionInfo.accountId);
|
|
227
|
-
const functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
228
|
-
const newSessionInfo = { ...sessionInfo, roleCodes, functionCodes };
|
|
229
|
-
await this.userSessionService.saveUserSession(newSessionInfo);
|
|
230
|
-
return newSessionInfo;
|
|
231
|
-
}
|
|
232
|
-
async updateSessionBizExt(sessionInfo, bizExt) {
|
|
233
|
-
const newSessionInfo = { ...sessionInfo };
|
|
234
|
-
if (bizExt && typeof bizExt === 'object') {
|
|
235
|
-
const oldBizExt = typeof sessionInfo.bizExt === 'object' ? sessionInfo.bizExt : {};
|
|
236
|
-
newSessionInfo.bizExt = Object.assign({}, oldBizExt, bizExt);
|
|
237
|
-
}
|
|
238
|
-
await this.userSessionService.saveUserSession(newSessionInfo);
|
|
239
|
-
return newSessionInfo;
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
__decorate([
|
|
243
|
-
(0, core_1.Inject)(),
|
|
244
|
-
__metadata("design:type", Object)
|
|
245
|
-
], AuthService.prototype, "ctx", void 0);
|
|
246
|
-
__decorate([
|
|
247
|
-
(0, core_1.Config)('superAdminList'),
|
|
248
|
-
__metadata("design:type", Array)
|
|
249
|
-
], AuthService.prototype, "superAdminList", void 0);
|
|
250
|
-
__decorate([
|
|
251
|
-
(0, core_1.Inject)(),
|
|
252
|
-
__metadata("design:type", CurdMixService_1.CurdMixService)
|
|
253
|
-
], AuthService.prototype, "curdMixService", void 0);
|
|
254
|
-
__decorate([
|
|
255
|
-
(0, core_1.Inject)(),
|
|
256
|
-
__metadata("design:type", UserAccountService_1.UserAccountService)
|
|
257
|
-
], AuthService.prototype, "userService", void 0);
|
|
258
|
-
__decorate([
|
|
259
|
-
(0, core_1.Inject)(),
|
|
260
|
-
__metadata("design:type", UserSessionService_1.UserSessionService)
|
|
261
|
-
], AuthService.prototype, "userSessionService", void 0);
|
|
262
|
-
AuthService = __decorate([
|
|
263
|
-
(0, core_1.Provide)()
|
|
264
|
-
], AuthService);
|
|
265
|
-
exports.AuthService = AuthService;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AuthService = void 0;
|
|
13
|
+
const core_1 = require("@midwayjs/core");
|
|
14
|
+
const keys_1 = require("../libs/crud-pro/models/keys");
|
|
15
|
+
const CurdMixService_1 = require("./curd/CurdMixService");
|
|
16
|
+
const md5 = require("md5");
|
|
17
|
+
const UserAccountService_1 = require("./UserAccountService");
|
|
18
|
+
const functions_1 = require("../libs/utils/functions");
|
|
19
|
+
const userSession_1 = require("../models/userSession");
|
|
20
|
+
const SystemTables_1 = require("../models/SystemTables");
|
|
21
|
+
const UserSessionService_1 = require("./UserSessionService");
|
|
22
|
+
const common_dto_1 = require("../libs/utils/common-dto");
|
|
23
|
+
const fatcms_request_1 = require("../libs/utils/fatcms-request");
|
|
24
|
+
const exceptions_1 = require("../libs/crud-pro/exceptions");
|
|
25
|
+
const global_config_1 = require("../libs/global-config/global-config");
|
|
26
|
+
const AsymmetricCrypto_1 = require("../libs/utils/AsymmetricCrypto");
|
|
27
|
+
let AuthService = class AuthService {
|
|
28
|
+
/**
|
|
29
|
+
* 明文密码转unsaltedPwd密码
|
|
30
|
+
* @param plainPwd
|
|
31
|
+
* @param loginName
|
|
32
|
+
*/
|
|
33
|
+
toUnsaltedPwd(plainPwd, loginName) {
|
|
34
|
+
const pw2 = md5(md5(plainPwd) + '_' + loginName);
|
|
35
|
+
return pw2;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* front: pw1 = md5(md5(input_pw) + "_" + loginName)
|
|
39
|
+
* db: pw2 = md5(pwd_salt + pw1)
|
|
40
|
+
* 检查用户名密码是否正确
|
|
41
|
+
* @param loginName
|
|
42
|
+
* @param unsaltedPwd
|
|
43
|
+
*/
|
|
44
|
+
async checkLoginPassword(loginName, unsaltedPwd) {
|
|
45
|
+
const message = '用户名或密码错误';
|
|
46
|
+
const errorCode = 'USERNAME_OR_PASSWORD_IS_INCORRECT';
|
|
47
|
+
if (!loginName) {
|
|
48
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!loginName');
|
|
49
|
+
}
|
|
50
|
+
if (!unsaltedPwd) {
|
|
51
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!unsaltedPwd');
|
|
52
|
+
}
|
|
53
|
+
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
54
|
+
if (!userAccount) {
|
|
55
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount');
|
|
56
|
+
}
|
|
57
|
+
if (userAccount.status !== 1) {
|
|
58
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, 'userAccount.status !== 1');
|
|
59
|
+
}
|
|
60
|
+
if (!userAccount.pwd_md5) {
|
|
61
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount.pwd_md5');
|
|
62
|
+
}
|
|
63
|
+
const pwd_salt = userAccount.pwd_salt;
|
|
64
|
+
const pwd_md5 = md5(unsaltedPwd + pwd_salt);
|
|
65
|
+
if (userAccount['pwd_md5'] !== pwd_md5) {
|
|
66
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, "userAccount['pwd_md5'] !== pwd_md5");
|
|
67
|
+
}
|
|
68
|
+
return common_dto_1.CommonResult.successRes();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 创建一个toC端的UserSession
|
|
72
|
+
* @param consumerUserInfo
|
|
73
|
+
* @param loadRoleCodes
|
|
74
|
+
*/
|
|
75
|
+
async createUserSessionForConsumer(consumerUserInfo, loadRoleCodes) {
|
|
76
|
+
const sessionId = (0, functions_1.createUniqueId)();
|
|
77
|
+
const accountId = consumerUserInfo.accountId;
|
|
78
|
+
let roleCodes = [];
|
|
79
|
+
let functionCodes = [];
|
|
80
|
+
if (loadRoleCodes === true) {
|
|
81
|
+
roleCodes = await this.queryUserRoleCodeList(accountId);
|
|
82
|
+
functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
83
|
+
}
|
|
84
|
+
const { publicKey, privateKey } = await AsymmetricCrypto_1.AsymmetricCrypto.generateKeyPair();
|
|
85
|
+
const sessionInfo = {
|
|
86
|
+
nickName: consumerUserInfo.nickName,
|
|
87
|
+
avatar: consumerUserInfo.avatar,
|
|
88
|
+
roleCodes: roleCodes,
|
|
89
|
+
functionCodes: functionCodes,
|
|
90
|
+
loginName: consumerUserInfo.loginName,
|
|
91
|
+
sessionId,
|
|
92
|
+
accountId: consumerUserInfo.accountId,
|
|
93
|
+
workbenchCode: consumerUserInfo.workbenchCode,
|
|
94
|
+
accountType: consumerUserInfo.accountType,
|
|
95
|
+
publicKey,
|
|
96
|
+
privateKey,
|
|
97
|
+
sessionIdCreatedAt: Date.now(),
|
|
98
|
+
};
|
|
99
|
+
await this.userSessionService.saveUserSession(sessionInfo);
|
|
100
|
+
return sessionInfo;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 创建一个Session
|
|
104
|
+
* @param loginName
|
|
105
|
+
* @param workbenchCode
|
|
106
|
+
* @param bizExt
|
|
107
|
+
*/
|
|
108
|
+
async createUserSession(loginName, workbenchCode, bizExt) {
|
|
109
|
+
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
110
|
+
if (!userAccount) {
|
|
111
|
+
throw new exceptions_1.CommonException('USER_ACCOUNT_NOT_EXIST', '用户账号不存在');
|
|
112
|
+
}
|
|
113
|
+
const accountId = userAccount.account_id;
|
|
114
|
+
const sessionId = (0, functions_1.createUniqueId)();
|
|
115
|
+
const roleCodes = await this.queryUserRoleCodeList(accountId);
|
|
116
|
+
const functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
117
|
+
const { publicKey, privateKey } = await AsymmetricCrypto_1.AsymmetricCrypto.generateKeyPair();
|
|
118
|
+
const sessionInfo = {
|
|
119
|
+
nickName: userAccount.nick_name,
|
|
120
|
+
avatar: userAccount.avatar,
|
|
121
|
+
roleCodes,
|
|
122
|
+
functionCodes,
|
|
123
|
+
loginName,
|
|
124
|
+
sessionId,
|
|
125
|
+
accountId,
|
|
126
|
+
workbenchCode,
|
|
127
|
+
accountType: userSession_1.SYS_ACCOUNT_TYPE,
|
|
128
|
+
bizExt: {},
|
|
129
|
+
publicKey,
|
|
130
|
+
privateKey,
|
|
131
|
+
sessionIdCreatedAt: Date.now(),
|
|
132
|
+
};
|
|
133
|
+
if (bizExt && typeof bizExt === 'object') {
|
|
134
|
+
sessionInfo.bizExt = bizExt;
|
|
135
|
+
}
|
|
136
|
+
await this.userSessionService.saveUserSession(sessionInfo);
|
|
137
|
+
return sessionInfo;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* 获取用户
|
|
141
|
+
* @param loginName
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
async queryUserAccountByLoginName(loginName) {
|
|
145
|
+
const superAdminList = this.superAdminList;
|
|
146
|
+
const findFromSuperAdmin = () => {
|
|
147
|
+
if (!(0, fatcms_request_1.isEnableSuperAdmin)(this.ctx)) {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
if (!Array.isArray(superAdminList)) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
for (let i = 0; i < superAdminList.length; i++) {
|
|
154
|
+
const element = superAdminList[i];
|
|
155
|
+
if (element && element.login_name === loginName) {
|
|
156
|
+
const nick_name = 'SA' + i;
|
|
157
|
+
return {
|
|
158
|
+
nick_name: element.nick_name || nick_name,
|
|
159
|
+
avatar: '',
|
|
160
|
+
account_id: nick_name,
|
|
161
|
+
status: 1,
|
|
162
|
+
login_name: element.login_name,
|
|
163
|
+
pwd_salt: element.pwd_salt,
|
|
164
|
+
pwd_md5: element.pwd_md5,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
const superAdmin = findFromSuperAdmin();
|
|
170
|
+
if (superAdmin) {
|
|
171
|
+
return superAdmin;
|
|
172
|
+
}
|
|
173
|
+
return this.userService.queryUserAccountByLoginName(loginName);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* 查询此accountId下关联的角色code列表
|
|
177
|
+
* @param accountId
|
|
178
|
+
* @private
|
|
179
|
+
*/
|
|
180
|
+
async queryUserRoleCodeList(accountId) {
|
|
181
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
182
|
+
const res = await this.curdMixService.executeCrudByCfg({
|
|
183
|
+
condition: { account_id: accountId },
|
|
184
|
+
limit: 10000,
|
|
185
|
+
}, {
|
|
186
|
+
sqlTable: SystemTables_1.SystemTables.sys_perm_user_role,
|
|
187
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
188
|
+
sqlDatabase: SystemDbName,
|
|
189
|
+
sqlDbType: SystemDbType,
|
|
190
|
+
});
|
|
191
|
+
const rows = res.getResModel().rows || [];
|
|
192
|
+
const roleCodes = rows.map(({ role_code }) => {
|
|
193
|
+
return role_code;
|
|
194
|
+
});
|
|
195
|
+
return [...new Set(roleCodes)];
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* 查询此roleCodeList下面关联的所有功能点列表
|
|
199
|
+
* @param roleCodeList
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
async queryFunctionCodeList(roleCodeList) {
|
|
203
|
+
if (!roleCodeList || roleCodeList.length === 0) {
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
207
|
+
const res = await this.curdMixService.executeCrudByCfg({
|
|
208
|
+
condition: { role_code: { $in: roleCodeList } },
|
|
209
|
+
limit: 10000,
|
|
210
|
+
}, {
|
|
211
|
+
sqlTable: SystemTables_1.SystemTables.sys_perm_role_func,
|
|
212
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
213
|
+
sqlDatabase: SystemDbName,
|
|
214
|
+
sqlDbType: SystemDbType,
|
|
215
|
+
});
|
|
216
|
+
const rows = res.getResModel().rows || [];
|
|
217
|
+
const funcCodes = rows.map(({ func_code }) => {
|
|
218
|
+
return func_code;
|
|
219
|
+
});
|
|
220
|
+
return [...new Set(funcCodes)];
|
|
221
|
+
}
|
|
222
|
+
async removeUserSession(sessionId) {
|
|
223
|
+
return this.userSessionService.removeUserSession(sessionId);
|
|
224
|
+
}
|
|
225
|
+
async refreshSession(sessionInfo) {
|
|
226
|
+
const roleCodes = await this.queryUserRoleCodeList(sessionInfo.accountId);
|
|
227
|
+
const functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
228
|
+
const newSessionInfo = { ...sessionInfo, roleCodes, functionCodes };
|
|
229
|
+
await this.userSessionService.saveUserSession(newSessionInfo);
|
|
230
|
+
return newSessionInfo;
|
|
231
|
+
}
|
|
232
|
+
async updateSessionBizExt(sessionInfo, bizExt) {
|
|
233
|
+
const newSessionInfo = { ...sessionInfo };
|
|
234
|
+
if (bizExt && typeof bizExt === 'object') {
|
|
235
|
+
const oldBizExt = typeof sessionInfo.bizExt === 'object' ? sessionInfo.bizExt : {};
|
|
236
|
+
newSessionInfo.bizExt = Object.assign({}, oldBizExt, bizExt);
|
|
237
|
+
}
|
|
238
|
+
await this.userSessionService.saveUserSession(newSessionInfo);
|
|
239
|
+
return newSessionInfo;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
__decorate([
|
|
243
|
+
(0, core_1.Inject)(),
|
|
244
|
+
__metadata("design:type", Object)
|
|
245
|
+
], AuthService.prototype, "ctx", void 0);
|
|
246
|
+
__decorate([
|
|
247
|
+
(0, core_1.Config)('superAdminList'),
|
|
248
|
+
__metadata("design:type", Array)
|
|
249
|
+
], AuthService.prototype, "superAdminList", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
(0, core_1.Inject)(),
|
|
252
|
+
__metadata("design:type", CurdMixService_1.CurdMixService)
|
|
253
|
+
], AuthService.prototype, "curdMixService", void 0);
|
|
254
|
+
__decorate([
|
|
255
|
+
(0, core_1.Inject)(),
|
|
256
|
+
__metadata("design:type", UserAccountService_1.UserAccountService)
|
|
257
|
+
], AuthService.prototype, "userService", void 0);
|
|
258
|
+
__decorate([
|
|
259
|
+
(0, core_1.Inject)(),
|
|
260
|
+
__metadata("design:type", UserSessionService_1.UserSessionService)
|
|
261
|
+
], AuthService.prototype, "userSessionService", void 0);
|
|
262
|
+
AuthService = __decorate([
|
|
263
|
+
(0, core_1.Provide)()
|
|
264
|
+
], AuthService);
|
|
265
|
+
exports.AuthService = AuthService;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Context } from '@midwayjs/koa';
|
|
2
|
-
import { RelatedType } from './curd/CurdMixUtils';
|
|
3
|
-
import { IEnumInfo } from '../libs/utils/parseConfig';
|
|
4
|
-
interface IQueryEnumInfo {
|
|
5
|
-
type: RelatedType;
|
|
6
|
-
code: string;
|
|
7
|
-
}
|
|
8
|
-
interface IQueryEnumResult {
|
|
9
|
-
type: RelatedType;
|
|
10
|
-
code: string;
|
|
11
|
-
values: IEnumInfo[];
|
|
12
|
-
}
|
|
13
|
-
export declare class EnumInfoService {
|
|
14
|
-
protected ctx: Context;
|
|
15
|
-
private sysConfigService;
|
|
16
|
-
private sysDictDataService;
|
|
17
|
-
private curdMixByLinkToCustomService;
|
|
18
|
-
queryEnumInfo(codeList: IQueryEnumInfo[], refreshCache: boolean): Promise<IQueryEnumResult[]>;
|
|
19
|
-
/**
|
|
20
|
-
* code形如:fatcms~~~sys_perm_role~~~role_code,role_name,xxx_name
|
|
21
|
-
* code形如:fatcms~~~sys_perm_role~~~id,*
|
|
22
|
-
* 【数据库】~~~【表名】~~~【label】,【value】,【style】
|
|
23
|
-
* @param code
|
|
24
|
-
* @private
|
|
25
|
-
*/
|
|
26
|
-
private queryEnumInfoByLinkToCustom;
|
|
27
|
-
private queryEnumInfoBySysCfgEnum;
|
|
28
|
-
private queryEnumInfoItemByDict;
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
1
|
+
import { Context } from '@midwayjs/koa';
|
|
2
|
+
import { RelatedType } from './curd/CurdMixUtils';
|
|
3
|
+
import { IEnumInfo } from '../libs/utils/parseConfig';
|
|
4
|
+
interface IQueryEnumInfo {
|
|
5
|
+
type: RelatedType;
|
|
6
|
+
code: string;
|
|
7
|
+
}
|
|
8
|
+
interface IQueryEnumResult {
|
|
9
|
+
type: RelatedType;
|
|
10
|
+
code: string;
|
|
11
|
+
values: IEnumInfo[];
|
|
12
|
+
}
|
|
13
|
+
export declare class EnumInfoService {
|
|
14
|
+
protected ctx: Context;
|
|
15
|
+
private sysConfigService;
|
|
16
|
+
private sysDictDataService;
|
|
17
|
+
private curdMixByLinkToCustomService;
|
|
18
|
+
queryEnumInfo(codeList: IQueryEnumInfo[], refreshCache: boolean): Promise<IQueryEnumResult[]>;
|
|
19
|
+
/**
|
|
20
|
+
* code形如:fatcms~~~sys_perm_role~~~role_code,role_name,xxx_name
|
|
21
|
+
* code形如:fatcms~~~sys_perm_role~~~id,*
|
|
22
|
+
* 【数据库】~~~【表名】~~~【label】,【value】,【style】
|
|
23
|
+
* @param code
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
private queryEnumInfoByLinkToCustom;
|
|
27
|
+
private queryEnumInfoBySysCfgEnum;
|
|
28
|
+
private queryEnumInfoItemByDict;
|
|
29
|
+
}
|
|
30
|
+
export {};
|