midway-fatcms 0.0.1-beta.30 → 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.
- package/dist/config/config.default.d.ts +3 -0
- package/dist/config/config.default.js +189 -0
- package/dist/config/seed/aeskey.txt +1 -0
- package/dist/config/utils.d.ts +1 -0
- package/dist/config/utils.js +23 -0
- package/dist/configuration.d.ts +7 -0
- package/dist/configuration.js +113 -0
- package/dist/controller/base/BaseApiController.d.ts +37 -0
- package/dist/controller/base/BaseApiController.js +164 -0
- package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -0
- package/dist/controller/gateway/AnyApiGatewayController.js +55 -0
- package/dist/controller/gateway/AsyncTaskController.d.ts +20 -0
- package/dist/controller/gateway/AsyncTaskController.js +181 -0
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -0
- package/dist/controller/gateway/CrudMtdGatewayController.js +119 -0
- package/dist/controller/gateway/CrudStdGatewayController.d.ts +38 -0
- package/dist/controller/gateway/CrudStdGatewayController.js +137 -0
- package/dist/controller/gateway/DocGatewayController.d.ts +27 -0
- package/dist/controller/gateway/DocGatewayController.js +179 -0
- package/dist/controller/gateway/FileController.d.ts +26 -0
- package/dist/controller/gateway/FileController.js +129 -0
- package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -0
- package/dist/controller/gateway/ProxyApiGatewayController.js +78 -0
- package/dist/controller/gateway/PublicApiController.d.ts +27 -0
- package/dist/controller/gateway/PublicApiController.js +165 -0
- package/dist/controller/gateway/StaticController.d.ts +24 -0
- package/dist/controller/gateway/StaticController.js +288 -0
- package/dist/controller/helpers.controller.d.ts +39 -0
- package/dist/controller/helpers.controller.js +188 -0
- package/dist/controller/home.controller.d.ts +9 -0
- package/dist/controller/home.controller.js +72 -0
- package/dist/controller/manage/AnyApiMangeApi.d.ts +10 -0
- package/dist/controller/manage/AnyApiMangeApi.js +98 -0
- package/dist/controller/manage/AppLogMangeApi.d.ts +10 -0
- package/dist/controller/manage/AppLogMangeApi.js +88 -0
- package/dist/controller/manage/AppMangeApi.d.ts +10 -0
- package/dist/controller/manage/AppMangeApi.js +88 -0
- package/dist/controller/manage/AppPageMangeApi.d.ts +10 -0
- package/dist/controller/manage/AppPageMangeApi.js +87 -0
- package/dist/controller/manage/AppSchemaHistoryApi.d.ts +10 -0
- package/dist/controller/manage/AppSchemaHistoryApi.js +83 -0
- package/dist/controller/manage/CrudMethodsMangeApi.d.ts +10 -0
- package/dist/controller/manage/CrudMethodsMangeApi.js +84 -0
- package/dist/controller/manage/CrudStandardDesignApi.d.ts +38 -0
- package/dist/controller/manage/CrudStandardDesignApi.js +342 -0
- package/dist/controller/manage/DataDictManageApi.d.ts +15 -0
- package/dist/controller/manage/DataDictManageApi.js +133 -0
- package/dist/controller/manage/DeployManageApi.d.ts +19 -0
- package/dist/controller/manage/DeployManageApi.js +180 -0
- package/dist/controller/manage/DocLibManageApi.d.ts +10 -0
- package/dist/controller/manage/DocLibManageApi.js +104 -0
- package/dist/controller/manage/DocManageApi.d.ts +11 -0
- package/dist/controller/manage/DocManageApi.js +130 -0
- package/dist/controller/manage/FileManageApi.d.ts +13 -0
- package/dist/controller/manage/FileManageApi.js +77 -0
- package/dist/controller/manage/LowCodeTplManageApi.d.ts +13 -0
- package/dist/controller/manage/LowCodeTplManageApi.js +86 -0
- package/dist/controller/manage/MenuManageApi.d.ts +10 -0
- package/dist/controller/manage/MenuManageApi.js +93 -0
- package/dist/controller/manage/ProxyApiMangeApi.d.ts +10 -0
- package/dist/controller/manage/ProxyApiMangeApi.js +87 -0
- package/dist/controller/manage/SuperAdminManageApi.d.ts +24 -0
- package/dist/controller/manage/SuperAdminManageApi.js +153 -0
- package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -0
- package/dist/controller/manage/SysConfigMangeApi.js +126 -0
- package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -0
- package/dist/controller/manage/SystemInfoManageApi.js +72 -0
- package/dist/controller/manage/UserAccountManageApi.d.ts +14 -0
- package/dist/controller/manage/UserAccountManageApi.js +129 -0
- package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -0
- package/dist/controller/manage/WorkbenchMangeApi.js +103 -0
- package/dist/controller/myinfo/AuthController.d.ts +33 -0
- package/dist/controller/myinfo/AuthController.js +136 -0
- package/dist/controller/myinfo/MyInfoController.d.ts +13 -0
- package/dist/controller/myinfo/MyInfoController.js +51 -0
- package/dist/controller/render/AppRenderController.d.ts +11 -0
- package/dist/controller/render/AppRenderController.js +92 -0
- package/dist/controller/test.controller.d.ts +8 -0
- package/dist/controller/test.controller.js +51 -0
- package/dist/filter/default.filter.d.ts +7 -0
- package/dist/filter/default.filter.js +23 -0
- package/dist/filter/notfound.filter.d.ts +5 -0
- package/dist/filter/notfound.filter.js +20 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.js +120 -0
- package/dist/interface.d.ts +27 -0
- package/dist/interface.js +3 -0
- package/dist/libs/crud-pro/CrudPro.d.ts +37 -0
- package/dist/libs/crud-pro/CrudPro.js +136 -0
- package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -0
- package/dist/libs/crud-pro/defaultConfigs.js +15 -0
- package/dist/libs/crud-pro/exceptions.d.ts +104 -0
- package/dist/libs/crud-pro/exceptions.js +117 -0
- package/dist/libs/crud-pro/interfaces.d.ts +163 -0
- package/dist/libs/crud-pro/interfaces.js +12 -0
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -0
- package/dist/libs/crud-pro/models/ExecuteContext.js +79 -0
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +38 -0
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +72 -0
- package/dist/libs/crud-pro/models/FuncContext.d.ts +18 -0
- package/dist/libs/crud-pro/models/FuncContext.js +6 -0
- package/dist/libs/crud-pro/models/RequestCfgModel.d.ts +65 -0
- package/dist/libs/crud-pro/models/RequestCfgModel.js +81 -0
- package/dist/libs/crud-pro/models/RequestModel.d.ts +25 -0
- package/dist/libs/crud-pro/models/RequestModel.js +113 -0
- package/dist/libs/crud-pro/models/ResModel.d.ts +16 -0
- package/dist/libs/crud-pro/models/ResModel.js +2 -0
- package/dist/libs/crud-pro/models/ServiceHub.d.ts +20 -0
- package/dist/libs/crud-pro/models/ServiceHub.js +2 -0
- package/dist/libs/crud-pro/models/SqlCfgModel.d.ts +22 -0
- package/dist/libs/crud-pro/models/SqlCfgModel.js +40 -0
- package/dist/libs/crud-pro/models/SqlSegArg.d.ts +6 -0
- package/dist/libs/crud-pro/models/SqlSegArg.js +12 -0
- package/dist/libs/crud-pro/models/Transaction.d.ts +29 -0
- package/dist/libs/crud-pro/models/Transaction.js +67 -0
- package/dist/libs/crud-pro/models/TransactionMySQL.d.ts +28 -0
- package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -0
- package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -0
- package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -0
- package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -0
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -0
- package/dist/libs/crud-pro/models/keys.d.ts +106 -0
- package/dist/libs/crud-pro/models/keys.js +149 -0
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +11 -0
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +73 -0
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.d.ts +9 -0
- package/dist/libs/crud-pro/services/CrudProExecuteFuncService.js +112 -0
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.d.ts +17 -0
- package/dist/libs/crud-pro/services/CrudProExecuteSqlService.js +225 -0
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.d.ts +9 -0
- package/dist/libs/crud-pro/services/CrudProFieldUpdateService.js +51 -0
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.d.ts +13 -0
- package/dist/libs/crud-pro/services/CrudProFieldValidateService.js +148 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.d.ts +24 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlCondition.js +340 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +165 -0
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -0
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +334 -0
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -0
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +9 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +78 -0
- package/dist/libs/crud-pro/services/CurdProServiceHub.d.ts +32 -0
- package/dist/libs/crud-pro/services/CurdProServiceHub.js +64 -0
- package/dist/libs/crud-pro/sql.txt +120 -0
- package/dist/libs/crud-pro/utils/CompareUtils.d.ts +9 -0
- package/dist/libs/crud-pro/utils/CompareUtils.js +25 -0
- package/dist/libs/crud-pro/utils/DatabaseName.d.ts +9 -0
- package/dist/libs/crud-pro/utils/DatabaseName.js +50 -0
- package/dist/libs/crud-pro/utils/DateTimeUtils.d.ts +7 -0
- package/dist/libs/crud-pro/utils/DateTimeUtils.js +21 -0
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.d.ts +19 -0
- package/dist/libs/crud-pro/utils/MemoryRefreshCache.js +47 -0
- package/dist/libs/crud-pro/utils/MessageParseUtils.d.ts +5 -0
- package/dist/libs/crud-pro/utils/MessageParseUtils.js +33 -0
- package/dist/libs/crud-pro/utils/MixinUtils.d.ts +39 -0
- package/dist/libs/crud-pro/utils/MixinUtils.js +255 -0
- package/dist/libs/crud-pro/utils/ModelUtils.d.ts +11 -0
- package/dist/libs/crud-pro/utils/ModelUtils.js +49 -0
- package/dist/libs/crud-pro/utils/MultiKeyMap.d.ts +11 -0
- package/dist/libs/crud-pro/utils/MultiKeyMap.js +63 -0
- package/dist/libs/crud-pro/utils/SqlFuncUtils.d.ts +5 -0
- package/dist/libs/crud-pro/utils/SqlFuncUtils.js +29 -0
- package/dist/libs/crud-pro/utils/TypeUtils.d.ts +40 -0
- package/dist/libs/crud-pro/utils/TypeUtils.js +166 -0
- package/dist/libs/crud-pro/utils/ValidateUtils.d.ts +3 -0
- package/dist/libs/crud-pro/utils/ValidateUtils.js +165 -0
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.d.ts +3 -0
- package/dist/libs/crud-pro/utils/pool/MySQLUtils.js +19 -0
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.d.ts +3 -0
- package/dist/libs/crud-pro/utils/pool/PostgresUtils.js +20 -0
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.d.ts +3 -0
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +20 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.d.ts +4 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertColumnName.js +21 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.d.ts +3 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMix.js +22 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.d.ts +2 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertMsSql.js +11 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.d.ts +2 -0
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgType.js +128 -0
- package/dist/libs/global-config/global-config.d.ts +45 -0
- package/dist/libs/global-config/global-config.js +33 -0
- package/dist/libs/utils/common-dto.d.ts +18 -0
- package/dist/libs/utils/common-dto.js +40 -0
- package/dist/libs/utils/crypto-utils.d.ts +3 -0
- package/dist/libs/utils/crypto-utils.js +46 -0
- package/dist/libs/utils/errorToString.d.ts +2 -0
- package/dist/libs/utils/errorToString.js +57 -0
- package/dist/libs/utils/fatcms-request.d.ts +30 -0
- package/dist/libs/utils/fatcms-request.js +104 -0
- package/dist/libs/utils/functions.d.ts +5 -0
- package/dist/libs/utils/functions.js +68 -0
- package/dist/libs/utils/ordernum-utils.d.ts +2 -0
- package/dist/libs/utils/ordernum-utils.js +13 -0
- package/dist/libs/utils/parseConfig.d.ts +7 -0
- package/dist/libs/utils/parseConfig.js +44 -0
- package/dist/libs/utils/parseCreateSql.d.ts +5 -0
- package/dist/libs/utils/parseCreateSql.js +86 -0
- package/dist/libs/utils/render-utils.d.ts +28 -0
- package/dist/libs/utils/render-utils.js +135 -0
- package/dist/middleware/forbidden.middleware.d.ts +10 -0
- package/dist/middleware/forbidden.middleware.js +54 -0
- package/dist/middleware/global.middleware.d.ts +10 -0
- package/dist/middleware/global.middleware.js +266 -0
- package/dist/middleware/permission.middleware.d.ts +18 -0
- package/dist/middleware/permission.middleware.js +74 -0
- package/dist/middleware/tx.middleware.d.ts +9 -0
- package/dist/middleware/tx.middleware.js +40 -0
- package/dist/models/AsyncTaskModel.d.ts +74 -0
- package/dist/models/AsyncTaskModel.js +31 -0
- package/dist/models/RedisKeys.d.ts +14 -0
- package/dist/models/RedisKeys.js +17 -0
- package/dist/models/SystemEntities.d.ts +98 -0
- package/dist/models/SystemEntities.js +2 -0
- package/dist/models/SystemPerm.d.ts +95 -0
- package/dist/models/SystemPerm.js +100 -0
- package/dist/models/SystemTables.d.ts +25 -0
- package/dist/models/SystemTables.js +28 -0
- package/dist/models/bizmodels.d.ts +97 -0
- package/dist/models/bizmodels.js +39 -0
- package/dist/models/contextLogger.d.ts +25 -0
- package/dist/models/contextLogger.js +112 -0
- package/dist/models/devops.d.ts +12 -0
- package/dist/models/devops.js +19 -0
- package/dist/models/userSession.d.ts +61 -0
- package/dist/models/userSession.js +165 -0
- package/dist/schedule/anonymousContext.d.ts +14 -0
- package/dist/schedule/anonymousContext.js +59 -0
- package/dist/schedule/index.d.ts +4 -0
- package/dist/schedule/index.js +10 -0
- package/dist/schedule/runSchedule.d.ts +12 -0
- package/dist/schedule/runSchedule.js +68 -0
- package/dist/schedule/scheduleNames.d.ts +13 -0
- package/dist/schedule/scheduleNames.js +17 -0
- package/dist/service/AuthService.d.ts +70 -0
- package/dist/service/AuthService.js +251 -0
- package/dist/service/EnumInfoService.d.ts +30 -0
- package/dist/service/EnumInfoService.js +127 -0
- package/dist/service/FileCenterService.d.ts +43 -0
- package/dist/service/FileCenterService.js +351 -0
- package/dist/service/SysConfigService.d.ts +7 -0
- package/dist/service/SysConfigService.js +47 -0
- package/dist/service/UserAccountService.d.ts +23 -0
- package/dist/service/UserAccountService.js +107 -0
- package/dist/service/UserSessionService.d.ts +37 -0
- package/dist/service/UserSessionService.js +156 -0
- package/dist/service/VisitStatService.d.ts +14 -0
- package/dist/service/VisitStatService.js +158 -0
- package/dist/service/WorkbenchService.d.ts +52 -0
- package/dist/service/WorkbenchService.js +202 -0
- package/dist/service/anyapi/AnyApiSandboxService.d.ts +15 -0
- package/dist/service/anyapi/AnyApiSandboxService.js +122 -0
- package/dist/service/anyapi/AnyApiService.d.ts +27 -0
- package/dist/service/anyapi/AnyApiService.js +181 -0
- package/dist/service/asyncTask/AsyncTaskRunnerService.d.ts +50 -0
- package/dist/service/asyncTask/AsyncTaskRunnerService.js +287 -0
- package/dist/service/asyncTask/AsyncTaskService.d.ts +7 -0
- package/dist/service/asyncTask/AsyncTaskService.js +34 -0
- package/dist/service/asyncTask/handler/ExcelInfoModel.d.ts +10 -0
- package/dist/service/asyncTask/handler/ExcelInfoModel.js +2 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.d.ts +7 -0
- package/dist/service/asyncTask/handler/ExportExcelAsyncTaskHandler.js +216 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.d.ts +36 -0
- package/dist/service/asyncTask/handler/ExportExcelByInnerHttpHandler.js +139 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.d.ts +46 -0
- package/dist/service/asyncTask/handler/ExportExcelByStdCrudHandler.js +121 -0
- package/dist/service/base/ApiBaseService.d.ts +15 -0
- package/dist/service/base/ApiBaseService.js +50 -0
- package/dist/service/base/ApiRateLimiter.d.ts +10 -0
- package/dist/service/base/ApiRateLimiter.js +51 -0
- package/dist/service/base/BaseService.d.ts +41 -0
- package/dist/service/base/BaseService.js +101 -0
- package/dist/service/base/RedisCacheService.d.ts +20 -0
- package/dist/service/base/RedisCacheService.js +57 -0
- package/dist/service/crudstd/CrudStdActionService.d.ts +17 -0
- package/dist/service/crudstd/CrudStdActionService.js +32 -0
- package/dist/service/crudstd/CrudStdConstant.d.ts +58 -0
- package/dist/service/crudstd/CrudStdConstant.js +64 -0
- package/dist/service/crudstd/CrudStdRelationService.d.ts +10 -0
- package/dist/service/crudstd/CrudStdRelationService.js +85 -0
- package/dist/service/crudstd/CrudStdService.d.ts +57 -0
- package/dist/service/crudstd/CrudStdService.js +239 -0
- package/dist/service/curd/CrudProQuick.d.ts +44 -0
- package/dist/service/curd/CrudProQuick.js +147 -0
- package/dist/service/curd/CurdMixByAccountService.d.ts +9 -0
- package/dist/service/curd/CurdMixByAccountService.js +93 -0
- package/dist/service/curd/CurdMixByDictService.d.ts +13 -0
- package/dist/service/curd/CurdMixByDictService.js +114 -0
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +31 -0
- package/dist/service/curd/CurdMixByLinkToCustomService.js +203 -0
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -0
- package/dist/service/curd/CurdMixBySysConfigService.js +80 -0
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -0
- package/dist/service/curd/CurdMixByWorkbenchService.js +78 -0
- package/dist/service/curd/CurdMixService.d.ts +27 -0
- package/dist/service/curd/CurdMixService.js +100 -0
- package/dist/service/curd/CurdMixUtils.d.ts +51 -0
- package/dist/service/curd/CurdMixUtils.js +275 -0
- package/dist/service/curd/CurdProService.d.ts +32 -0
- package/dist/service/curd/CurdProService.js +210 -0
- package/dist/service/curd/fixCfgModel.d.ts +3 -0
- package/dist/service/curd/fixCfgModel.js +107 -0
- package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -0
- package/dist/service/proxyapi/ProxyApiLoadService.js +167 -0
- package/dist/service/proxyapi/ProxyApiService.d.ts +60 -0
- package/dist/service/proxyapi/ProxyApiService.js +260 -0
- package/dist/service/proxyapi/ProxyApiUtils.d.ts +15 -0
- package/dist/service/proxyapi/ProxyApiUtils.js +34 -0
- package/dist/service/proxyapi/RouteHandler.d.ts +5 -0
- package/dist/service/proxyapi/RouteHandler.js +9 -0
- package/dist/service/proxyapi/RouteTrie.d.ts +12 -0
- package/dist/service/proxyapi/RouteTrie.js +63 -0
- package/dist/service/proxyapi/WeightedRandom.d.ts +9 -0
- package/dist/service/proxyapi/WeightedRandom.js +31 -0
- package/dist/service/proxyapi/WeightedRoundRobin.d.ts +8 -0
- package/dist/service/proxyapi/WeightedRoundRobin.js +32 -0
- package/dist/views/404_app.html +31 -0
- package/dist/views/404_workbench.html +34 -0
- package/dist/views/static/favicon.ico +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runScheduleTaskOnce = exports.SCHEDULE_QUEUE = void 0;
|
|
4
|
+
const anonymousContext_1 = require("./anonymousContext");
|
|
5
|
+
// 上次执行时间
|
|
6
|
+
const lastExecuteTimeMap = {};
|
|
7
|
+
const DEFAULT_SCHEDULE_INTERVAL = 2 * 60 * 1000;
|
|
8
|
+
async function runScheduleTaskOnce(serviceName) {
|
|
9
|
+
return await anonymousContext_1.ANONYMOUS_CONTEXT.runServiceAtAnonymousContext(async (ctx) => {
|
|
10
|
+
const serviceObject = await ctx.requestContext.getAsync(serviceName);
|
|
11
|
+
if (serviceObject && serviceObject.runBySchedule) {
|
|
12
|
+
await serviceObject.runBySchedule();
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
ctx.logger.error(`runSchedule error , serviceName = ${serviceName}, 没有找到服务`);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.runScheduleTaskOnce = runScheduleTaskOnce;
|
|
20
|
+
class ScheduleQueue {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.scheduleIntervalMap = new Map();
|
|
23
|
+
}
|
|
24
|
+
setScheduleTask(serviceName, intervalTime) {
|
|
25
|
+
this.scheduleIntervalMap.set(serviceName, intervalTime);
|
|
26
|
+
}
|
|
27
|
+
removeScheduleTask(serviceName) {
|
|
28
|
+
this.scheduleIntervalMap.delete(serviceName);
|
|
29
|
+
}
|
|
30
|
+
isAlreadyTimeToExecute(serviceName) {
|
|
31
|
+
if (!lastExecuteTimeMap[serviceName]) {
|
|
32
|
+
return true; // 可以执行
|
|
33
|
+
}
|
|
34
|
+
const intervalTime1 = this.scheduleIntervalMap.get(serviceName);
|
|
35
|
+
const intervalTime = intervalTime1 || DEFAULT_SCHEDULE_INTERVAL; // 时间间隔
|
|
36
|
+
const lastExecuteTime = lastExecuteTimeMap[serviceName];
|
|
37
|
+
return (Date.now() - lastExecuteTime) >= intervalTime;
|
|
38
|
+
}
|
|
39
|
+
async runScheduleTaskOnceCheckTime(serviceName) {
|
|
40
|
+
// 还没有到可以执行时间
|
|
41
|
+
if (!this.isAlreadyTimeToExecute(serviceName)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
lastExecuteTimeMap[serviceName] = Date.now();
|
|
45
|
+
await runScheduleTaskOnce(serviceName);
|
|
46
|
+
}
|
|
47
|
+
async runScheduleServiceList() {
|
|
48
|
+
const serviceListKeys = this.scheduleIntervalMap.keys();
|
|
49
|
+
const serviceList = [...serviceListKeys];
|
|
50
|
+
for (let i = 0; i < serviceList.length; i++) {
|
|
51
|
+
const serviceName = serviceList[i];
|
|
52
|
+
try {
|
|
53
|
+
await this.runScheduleTaskOnceCheckTime(serviceName);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
anonymousContext_1.ANONYMOUS_CONTEXT.getApp().getCoreLogger().error(`runSchedule error , serviceName = ${serviceName}`, e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async startScheduleLoop() {
|
|
61
|
+
await this.runScheduleServiceList();
|
|
62
|
+
setInterval(() => {
|
|
63
|
+
this.runScheduleServiceList();
|
|
64
|
+
}, 1000); // 最少1秒执行一次
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const SCHEDULE_QUEUE = new ScheduleQueue();
|
|
68
|
+
exports.SCHEDULE_QUEUE = SCHEDULE_QUEUE;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const INNER_SCHEDULE_INTERVAL: {
|
|
2
|
+
proxyApiLoadService: number;
|
|
3
|
+
workbenchService: number;
|
|
4
|
+
visitStatService: number;
|
|
5
|
+
asyncTaskRunnerService: number;
|
|
6
|
+
};
|
|
7
|
+
declare const INNER_SCHEDULE_NAMES: {
|
|
8
|
+
proxyApiLoadService: string;
|
|
9
|
+
workbenchService: string;
|
|
10
|
+
visitStatService: string;
|
|
11
|
+
asyncTaskRunnerService: string;
|
|
12
|
+
};
|
|
13
|
+
export { INNER_SCHEDULE_INTERVAL, INNER_SCHEDULE_NAMES };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.INNER_SCHEDULE_NAMES = exports.INNER_SCHEDULE_INTERVAL = void 0;
|
|
4
|
+
const INNER_SCHEDULE_INTERVAL = {
|
|
5
|
+
proxyApiLoadService: 2 * 60 * 1000,
|
|
6
|
+
workbenchService: 60 * 1000,
|
|
7
|
+
visitStatService: 10 * 60 * 1000,
|
|
8
|
+
asyncTaskRunnerService: 1000, // 1s可以执行
|
|
9
|
+
};
|
|
10
|
+
exports.INNER_SCHEDULE_INTERVAL = INNER_SCHEDULE_INTERVAL;
|
|
11
|
+
const INNER_SCHEDULE_NAMES = {
|
|
12
|
+
proxyApiLoadService: 'proxyApiLoadService',
|
|
13
|
+
workbenchService: 'workbenchService',
|
|
14
|
+
visitStatService: "visitStatService",
|
|
15
|
+
asyncTaskRunnerService: "asyncTaskRunnerService",
|
|
16
|
+
};
|
|
17
|
+
exports.INNER_SCHEDULE_NAMES = INNER_SCHEDULE_NAMES;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { IConsumerUserInfo, ISessionInfo } from '../models/userSession';
|
|
2
|
+
import { CommonResult } from '../libs/utils/common-dto';
|
|
3
|
+
export declare class AuthService {
|
|
4
|
+
private ctx;
|
|
5
|
+
private superAdminList;
|
|
6
|
+
private curdMixService;
|
|
7
|
+
private userService;
|
|
8
|
+
private userSessionService;
|
|
9
|
+
/**
|
|
10
|
+
* 明文密码转unsaltedPwd密码
|
|
11
|
+
* @param plainPwd
|
|
12
|
+
* @param loginName
|
|
13
|
+
*/
|
|
14
|
+
toUnsaltedPwd(plainPwd: string, loginName: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* front: pw1 = md5(md5(input_pw) + "_" + loginName)
|
|
17
|
+
* db: pw2 = md5(pwd_salt + pw1)
|
|
18
|
+
* 检查用户名密码是否正确
|
|
19
|
+
* @param loginName
|
|
20
|
+
* @param unsaltedPwd
|
|
21
|
+
*/
|
|
22
|
+
checkLoginPassword(loginName: string, unsaltedPwd: string): Promise<CommonResult>;
|
|
23
|
+
/**
|
|
24
|
+
* 创建一个toC端的UserSession
|
|
25
|
+
* @param consumerUserInfo
|
|
26
|
+
*/
|
|
27
|
+
createUserSessionForConsumer(consumerUserInfo: IConsumerUserInfo): Promise<{
|
|
28
|
+
sessionId: string;
|
|
29
|
+
loginName: string;
|
|
30
|
+
accountId: string;
|
|
31
|
+
nickName: string;
|
|
32
|
+
avatar: string;
|
|
33
|
+
workbenchCode: string;
|
|
34
|
+
accountType: string;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* 创建一个Session
|
|
38
|
+
* @param loginName
|
|
39
|
+
* @param workbenchCode
|
|
40
|
+
*/
|
|
41
|
+
createUserSession(loginName: string, workbenchCode: string): Promise<{
|
|
42
|
+
sessionId: string;
|
|
43
|
+
loginName: string;
|
|
44
|
+
accountId: any;
|
|
45
|
+
nickName: any;
|
|
46
|
+
avatar: any;
|
|
47
|
+
workbenchCode: string;
|
|
48
|
+
accountType: string;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* 获取用户
|
|
52
|
+
* @param loginName
|
|
53
|
+
* @private
|
|
54
|
+
*/
|
|
55
|
+
private queryUserAccountByLoginName;
|
|
56
|
+
/**
|
|
57
|
+
* 查询此accountId下关联的角色code列表
|
|
58
|
+
* @param accountId
|
|
59
|
+
* @private
|
|
60
|
+
*/
|
|
61
|
+
private queryUserRoleCodeList;
|
|
62
|
+
/**
|
|
63
|
+
* 查询此roleCodeList下面关联的所有功能点列表
|
|
64
|
+
* @param roleCodeList
|
|
65
|
+
* @private
|
|
66
|
+
*/
|
|
67
|
+
private queryFunctionCodeList;
|
|
68
|
+
removeUserSession(sessionId: string): Promise<any>;
|
|
69
|
+
refreshSession(sessionInfo: ISessionInfo): Promise<ISessionInfo>;
|
|
70
|
+
}
|
|
@@ -0,0 +1,251 @@
|
|
|
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
|
+
let AuthService = class AuthService {
|
|
27
|
+
/**
|
|
28
|
+
* 明文密码转unsaltedPwd密码
|
|
29
|
+
* @param plainPwd
|
|
30
|
+
* @param loginName
|
|
31
|
+
*/
|
|
32
|
+
toUnsaltedPwd(plainPwd, loginName) {
|
|
33
|
+
const pw2 = md5(md5(plainPwd) + '_' + loginName);
|
|
34
|
+
return pw2;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* front: pw1 = md5(md5(input_pw) + "_" + loginName)
|
|
38
|
+
* db: pw2 = md5(pwd_salt + pw1)
|
|
39
|
+
* 检查用户名密码是否正确
|
|
40
|
+
* @param loginName
|
|
41
|
+
* @param unsaltedPwd
|
|
42
|
+
*/
|
|
43
|
+
async checkLoginPassword(loginName, unsaltedPwd) {
|
|
44
|
+
const message = '用户名或密码错误';
|
|
45
|
+
const errorCode = 'USERNAME_OR_PASSWORD_IS_INCORRECT';
|
|
46
|
+
if (!loginName) {
|
|
47
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!loginName');
|
|
48
|
+
}
|
|
49
|
+
if (!unsaltedPwd) {
|
|
50
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!unsaltedPwd');
|
|
51
|
+
}
|
|
52
|
+
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
53
|
+
if (!userAccount) {
|
|
54
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount');
|
|
55
|
+
}
|
|
56
|
+
if (userAccount.status !== 1) {
|
|
57
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, 'userAccount.status !== 1');
|
|
58
|
+
}
|
|
59
|
+
if (!userAccount.pwd_md5) {
|
|
60
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, '!userAccount.pwd_md5');
|
|
61
|
+
}
|
|
62
|
+
const pwd_salt = userAccount.pwd_salt;
|
|
63
|
+
const pwd_md5 = md5(unsaltedPwd + pwd_salt);
|
|
64
|
+
if (userAccount['pwd_md5'] !== pwd_md5) {
|
|
65
|
+
return common_dto_1.CommonResult.errorRes(message, errorCode, "userAccount['pwd_md5'] !== pwd_md5");
|
|
66
|
+
}
|
|
67
|
+
return common_dto_1.CommonResult.successRes();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 创建一个toC端的UserSession
|
|
71
|
+
* @param consumerUserInfo
|
|
72
|
+
*/
|
|
73
|
+
async createUserSessionForConsumer(consumerUserInfo) {
|
|
74
|
+
const sessionId = (0, functions_1.createUniqueId)();
|
|
75
|
+
const sessionInfo = {
|
|
76
|
+
nickName: consumerUserInfo.nickName,
|
|
77
|
+
avatar: consumerUserInfo.avatar,
|
|
78
|
+
roleCodes: [],
|
|
79
|
+
functionCodes: [],
|
|
80
|
+
loginName: consumerUserInfo.loginName,
|
|
81
|
+
sessionId,
|
|
82
|
+
accountId: consumerUserInfo.accountId,
|
|
83
|
+
workbenchCode: consumerUserInfo.workbenchCode,
|
|
84
|
+
accountType: consumerUserInfo.accountType,
|
|
85
|
+
};
|
|
86
|
+
await this.userSessionService.saveUserSession(sessionInfo);
|
|
87
|
+
return {
|
|
88
|
+
sessionId,
|
|
89
|
+
loginName: sessionInfo.loginName,
|
|
90
|
+
accountId: sessionInfo.accountId,
|
|
91
|
+
nickName: sessionInfo.nickName,
|
|
92
|
+
avatar: sessionInfo.avatar,
|
|
93
|
+
workbenchCode: sessionInfo.workbenchCode,
|
|
94
|
+
accountType: sessionInfo.accountType,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 创建一个Session
|
|
99
|
+
* @param loginName
|
|
100
|
+
* @param workbenchCode
|
|
101
|
+
*/
|
|
102
|
+
async createUserSession(loginName, workbenchCode) {
|
|
103
|
+
const userAccount = await this.queryUserAccountByLoginName(loginName);
|
|
104
|
+
if (!userAccount) {
|
|
105
|
+
throw new exceptions_1.CommonException('USER_ACCOUNT_NOT_EXIST', '用户账号不存在');
|
|
106
|
+
}
|
|
107
|
+
const accountId = userAccount.account_id;
|
|
108
|
+
const sessionId = (0, functions_1.createUniqueId)();
|
|
109
|
+
const roleCodes = await this.queryUserRoleCodeList(accountId);
|
|
110
|
+
const functionCodes = await this.queryFunctionCodeList(roleCodes);
|
|
111
|
+
const sessionInfo = {
|
|
112
|
+
nickName: userAccount.nick_name,
|
|
113
|
+
avatar: userAccount.avatar,
|
|
114
|
+
roleCodes,
|
|
115
|
+
functionCodes,
|
|
116
|
+
loginName,
|
|
117
|
+
sessionId,
|
|
118
|
+
accountId,
|
|
119
|
+
workbenchCode,
|
|
120
|
+
accountType: userSession_1.SYS_ACCOUNT_TYPE,
|
|
121
|
+
};
|
|
122
|
+
await this.userSessionService.saveUserSession(sessionInfo);
|
|
123
|
+
return {
|
|
124
|
+
sessionId,
|
|
125
|
+
loginName,
|
|
126
|
+
accountId,
|
|
127
|
+
nickName: userAccount.nick_name,
|
|
128
|
+
avatar: userAccount.avatar,
|
|
129
|
+
workbenchCode: sessionInfo.workbenchCode,
|
|
130
|
+
accountType: sessionInfo.accountType,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* 获取用户
|
|
135
|
+
* @param loginName
|
|
136
|
+
* @private
|
|
137
|
+
*/
|
|
138
|
+
async queryUserAccountByLoginName(loginName) {
|
|
139
|
+
const superAdminList = this.superAdminList;
|
|
140
|
+
const findFromSuperAdmin = () => {
|
|
141
|
+
if (!(0, fatcms_request_1.isEnableSuperAdmin)(this.ctx)) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
if (!Array.isArray(superAdminList)) {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
for (let i = 0; i < superAdminList.length; i++) {
|
|
148
|
+
const element = superAdminList[i];
|
|
149
|
+
if (element && element.login_name === loginName) {
|
|
150
|
+
const nick_name = 'SA' + i;
|
|
151
|
+
return {
|
|
152
|
+
nick_name: element.nick_name || nick_name,
|
|
153
|
+
avatar: '',
|
|
154
|
+
account_id: nick_name,
|
|
155
|
+
status: 1,
|
|
156
|
+
login_name: element.login_name,
|
|
157
|
+
pwd_salt: element.pwd_salt,
|
|
158
|
+
pwd_md5: element.pwd_md5,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const superAdmin = findFromSuperAdmin();
|
|
164
|
+
if (superAdmin) {
|
|
165
|
+
return superAdmin;
|
|
166
|
+
}
|
|
167
|
+
return this.userService.queryUserAccountByLoginName(loginName);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* 查询此accountId下关联的角色code列表
|
|
171
|
+
* @param accountId
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
async queryUserRoleCodeList(accountId) {
|
|
175
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
176
|
+
const res = await this.curdMixService.executeCrudByCfg({
|
|
177
|
+
condition: { account_id: accountId },
|
|
178
|
+
limit: 10000,
|
|
179
|
+
}, {
|
|
180
|
+
sqlTable: SystemTables_1.SystemTables.sys_perm_user_role,
|
|
181
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
182
|
+
sqlDatabase: SystemDbName,
|
|
183
|
+
sqlDbType: SystemDbType,
|
|
184
|
+
});
|
|
185
|
+
const rows = res.getResModel().rows || [];
|
|
186
|
+
const roleCodes = rows.map(({ role_code }) => {
|
|
187
|
+
return role_code;
|
|
188
|
+
});
|
|
189
|
+
return [...new Set(roleCodes)];
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* 查询此roleCodeList下面关联的所有功能点列表
|
|
193
|
+
* @param roleCodeList
|
|
194
|
+
* @private
|
|
195
|
+
*/
|
|
196
|
+
async queryFunctionCodeList(roleCodeList) {
|
|
197
|
+
if (!roleCodeList || roleCodeList.length === 0) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
201
|
+
const res = await this.curdMixService.executeCrudByCfg({
|
|
202
|
+
condition: { role_code: { $in: roleCodeList } },
|
|
203
|
+
limit: 10000,
|
|
204
|
+
}, {
|
|
205
|
+
sqlTable: SystemTables_1.SystemTables.sys_perm_role_func,
|
|
206
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
207
|
+
sqlDatabase: SystemDbName,
|
|
208
|
+
sqlDbType: SystemDbType,
|
|
209
|
+
});
|
|
210
|
+
const rows = res.getResModel().rows || [];
|
|
211
|
+
const funcCodes = rows.map(({ func_code }) => {
|
|
212
|
+
return func_code;
|
|
213
|
+
});
|
|
214
|
+
return [...new Set(funcCodes)];
|
|
215
|
+
}
|
|
216
|
+
async removeUserSession(sessionId) {
|
|
217
|
+
return this.userSessionService.removeUserSession(sessionId);
|
|
218
|
+
}
|
|
219
|
+
async refreshSession(sessionInfo) {
|
|
220
|
+
const oldSessionId = sessionInfo.sessionId;
|
|
221
|
+
const sessionId = (0, functions_1.createUniqueId)();
|
|
222
|
+
const newSessionInfo = { ...sessionInfo, sessionId };
|
|
223
|
+
await this.userSessionService.saveUserSession(newSessionInfo);
|
|
224
|
+
await this.removeUserSession(oldSessionId);
|
|
225
|
+
return newSessionInfo;
|
|
226
|
+
}
|
|
227
|
+
};
|
|
228
|
+
__decorate([
|
|
229
|
+
(0, core_1.Inject)(),
|
|
230
|
+
__metadata("design:type", Object)
|
|
231
|
+
], AuthService.prototype, "ctx", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
(0, core_1.Config)('superAdminList'),
|
|
234
|
+
__metadata("design:type", Array)
|
|
235
|
+
], AuthService.prototype, "superAdminList", void 0);
|
|
236
|
+
__decorate([
|
|
237
|
+
(0, core_1.Inject)(),
|
|
238
|
+
__metadata("design:type", CurdMixService_1.CurdMixService)
|
|
239
|
+
], AuthService.prototype, "curdMixService", void 0);
|
|
240
|
+
__decorate([
|
|
241
|
+
(0, core_1.Inject)(),
|
|
242
|
+
__metadata("design:type", UserAccountService_1.UserAccountService)
|
|
243
|
+
], AuthService.prototype, "userService", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
(0, core_1.Inject)(),
|
|
246
|
+
__metadata("design:type", UserSessionService_1.UserSessionService)
|
|
247
|
+
], AuthService.prototype, "userSessionService", void 0);
|
|
248
|
+
AuthService = __decorate([
|
|
249
|
+
(0, core_1.Provide)()
|
|
250
|
+
], AuthService);
|
|
251
|
+
exports.AuthService = AuthService;
|
|
@@ -0,0 +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
|
+
ctx: Context;
|
|
15
|
+
private curdProService;
|
|
16
|
+
private curdMixByLinkToCustomService;
|
|
17
|
+
private redisCacheService;
|
|
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 {};
|
|
@@ -0,0 +1,127 @@
|
|
|
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.EnumInfoService = void 0;
|
|
13
|
+
const core_1 = require("@midwayjs/core");
|
|
14
|
+
const keys_1 = require("../libs/crud-pro/models/keys");
|
|
15
|
+
const CurdProService_1 = require("./curd/CurdProService");
|
|
16
|
+
const CurdMixUtils_1 = require("./curd/CurdMixUtils");
|
|
17
|
+
const SystemTables_1 = require("../models/SystemTables");
|
|
18
|
+
const parseConfig_1 = require("../libs/utils/parseConfig");
|
|
19
|
+
const RedisCacheService_1 = require("./base/RedisCacheService");
|
|
20
|
+
const CurdMixByLinkToCustomService_1 = require("./curd/CurdMixByLinkToCustomService");
|
|
21
|
+
const global_config_1 = require("../libs/global-config/global-config");
|
|
22
|
+
const RedisKeys_1 = require("../models/RedisKeys");
|
|
23
|
+
function filterEmpty(e) {
|
|
24
|
+
return e.label && typeof e.value !== 'undefined';
|
|
25
|
+
}
|
|
26
|
+
let EnumInfoService = class EnumInfoService {
|
|
27
|
+
async queryEnumInfo(codeList, refreshCache) {
|
|
28
|
+
const expireSecond = 2 * 60;
|
|
29
|
+
const result = [];
|
|
30
|
+
for (let i = 0; i < codeList.length; i++) {
|
|
31
|
+
const { code, type } = codeList[i];
|
|
32
|
+
const cacheKey = `${RedisKeys_1.RedisKeys.QUERY_ENUM_INFO_PREFIX}${type}@@${code}`;
|
|
33
|
+
const emums = refreshCache ? null : await this.redisCacheService.getJsonObject(cacheKey);
|
|
34
|
+
if (!Array.isArray(emums) || emums.length === 0) {
|
|
35
|
+
let values;
|
|
36
|
+
if (type === CurdMixUtils_1.RelatedType.sysCfgEnum) {
|
|
37
|
+
values = await this.queryEnumInfoBySysCfgEnum(code);
|
|
38
|
+
await this.redisCacheService.setJsonObject(cacheKey, values, expireSecond);
|
|
39
|
+
}
|
|
40
|
+
else if (type === CurdMixUtils_1.RelatedType.dict) {
|
|
41
|
+
values = await this.queryEnumInfoItemByDict(code);
|
|
42
|
+
await this.redisCacheService.setJsonObject(cacheKey, values, expireSecond);
|
|
43
|
+
}
|
|
44
|
+
else if (type === CurdMixUtils_1.RelatedType.linkToCustom) {
|
|
45
|
+
values = await this.queryEnumInfoByLinkToCustom(code);
|
|
46
|
+
// await this.redisCacheService.setJsonObject(cacheKey, values, expireSecond);
|
|
47
|
+
}
|
|
48
|
+
result.push({ type, code, values });
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
result.push({ type, code, values: emums });
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* code形如:fatcms~~~sys_perm_role~~~role_code,role_name,xxx_name
|
|
58
|
+
* code形如:fatcms~~~sys_perm_role~~~id,*
|
|
59
|
+
* 【数据库】~~~【表名】~~~【label】,【value】,【style】
|
|
60
|
+
* @param code
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
async queryEnumInfoByLinkToCustom(code) {
|
|
64
|
+
const cc = await this.curdMixByLinkToCustomService.queryInfoByLinkToCustom(code);
|
|
65
|
+
if (!cc) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
const keys = [...cc.keys()];
|
|
69
|
+
return keys.map(value => {
|
|
70
|
+
const label = cc.get(value);
|
|
71
|
+
return { label, value };
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
async queryEnumInfoBySysCfgEnum(code) {
|
|
75
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
76
|
+
const res1 = await this.curdProService.executeCrudByCfg({
|
|
77
|
+
condition: { config_code: code },
|
|
78
|
+
}, {
|
|
79
|
+
sqlTable: SystemTables_1.SystemTables.sys_configs,
|
|
80
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY_ONE,
|
|
81
|
+
sqlDatabase: SystemDbName,
|
|
82
|
+
sqlDbType: SystemDbType,
|
|
83
|
+
});
|
|
84
|
+
const obj = res1.getOneObj();
|
|
85
|
+
if (!obj) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const rows = (0, parseConfig_1.parseConfigContentToEnumInfo)(obj);
|
|
89
|
+
return rows.map(e => ({ label: e.label, value: e.value, children: e.children })).filter(filterEmpty);
|
|
90
|
+
}
|
|
91
|
+
async queryEnumInfoItemByDict(code) {
|
|
92
|
+
const { SystemDbName, SystemDbType } = global_config_1.GLOBAL_STATIC_CONFIG.getConfig();
|
|
93
|
+
const res1 = await this.curdProService.executeCrudByCfg({
|
|
94
|
+
condition: { dict_code: code },
|
|
95
|
+
}, {
|
|
96
|
+
sqlTable: SystemTables_1.SystemTables.sys_data_dict_item,
|
|
97
|
+
sqlSimpleName: keys_1.KeysOfSimpleSQL.SIMPLE_QUERY,
|
|
98
|
+
sqlDatabase: SystemDbName,
|
|
99
|
+
sqlDbType: SystemDbType,
|
|
100
|
+
});
|
|
101
|
+
const obj = res1.getResRows();
|
|
102
|
+
if (!obj) {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
return obj.map(e => ({ label: e.label, value: e.value })).filter(filterEmpty);
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, core_1.Inject)(),
|
|
110
|
+
__metadata("design:type", Object)
|
|
111
|
+
], EnumInfoService.prototype, "ctx", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, core_1.Inject)(),
|
|
114
|
+
__metadata("design:type", CurdProService_1.CurdProService)
|
|
115
|
+
], EnumInfoService.prototype, "curdProService", void 0);
|
|
116
|
+
__decorate([
|
|
117
|
+
(0, core_1.Inject)(),
|
|
118
|
+
__metadata("design:type", CurdMixByLinkToCustomService_1.CurdMixByLinkToCustomService)
|
|
119
|
+
], EnumInfoService.prototype, "curdMixByLinkToCustomService", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
(0, core_1.Inject)(),
|
|
122
|
+
__metadata("design:type", RedisCacheService_1.RedisCacheService)
|
|
123
|
+
], EnumInfoService.prototype, "redisCacheService", void 0);
|
|
124
|
+
EnumInfoService = __decorate([
|
|
125
|
+
(0, core_1.Provide)()
|
|
126
|
+
], EnumInfoService);
|
|
127
|
+
exports.EnumInfoService = EnumInfoService;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Context } from '@midwayjs/koa';
|
|
2
|
+
import { AccessType, UploadCategoryType } from '../models/bizmodels';
|
|
3
|
+
import { BaseService } from './base/BaseService';
|
|
4
|
+
export declare function isImageFile(fileKey: string): boolean;
|
|
5
|
+
interface IUploadFileToOSSOptions {
|
|
6
|
+
uploadCategoryType: UploadCategoryType;
|
|
7
|
+
uploadPath: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const PATH_PREFIX = "/ns/gw/file";
|
|
10
|
+
export declare function toDownloadPaths(origin: string, fileKey: string): {
|
|
11
|
+
downloadPath: string;
|
|
12
|
+
previewPath: string;
|
|
13
|
+
thumbnailPath: string;
|
|
14
|
+
downloadURL: string;
|
|
15
|
+
previewURL: string;
|
|
16
|
+
thumbnailURL: string;
|
|
17
|
+
};
|
|
18
|
+
export declare class FileCenterService extends BaseService {
|
|
19
|
+
protected ctx: Context;
|
|
20
|
+
private curdMixService;
|
|
21
|
+
private get fileBD();
|
|
22
|
+
uploadFileToOSS(files: any, accessType: AccessType, referer: string, options?: IUploadFileToOSSOptions): Promise<{
|
|
23
|
+
fileKey: string;
|
|
24
|
+
fileSuffix: string;
|
|
25
|
+
storagePath: string;
|
|
26
|
+
storageUrl: any;
|
|
27
|
+
fileSize: any;
|
|
28
|
+
filename: any;
|
|
29
|
+
mimeType: any;
|
|
30
|
+
name: any;
|
|
31
|
+
url: any;
|
|
32
|
+
}>;
|
|
33
|
+
deleteFile(fileKey: string): Promise<import("../libs/crud-pro/models/ExecuteContext").ExecuteContext>;
|
|
34
|
+
private headFile;
|
|
35
|
+
downloadFile(fileKey: string, streaming: boolean, process: string): Promise<any>;
|
|
36
|
+
/**
|
|
37
|
+
* 检查用户下载权限
|
|
38
|
+
* @param fileInfo
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
private checkAuthUserDownloadFile;
|
|
42
|
+
}
|
|
43
|
+
export {};
|