midway-fatcms 0.0.1-beta.65 → 0.0.1-beta.66
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 +167 -160
- 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 +42 -37
- package/dist/controller/base/BaseApiController.js +189 -164
- 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 +38 -38
- package/dist/controller/gateway/CrudStdGatewayController.js +155 -129
- package/dist/controller/gateway/DocGatewayController.d.ts +27 -27
- package/dist/controller/gateway/DocGatewayController.js +179 -179
- package/dist/controller/gateway/FileController.d.ts +28 -28
- package/dist/controller/gateway/FileController.js +145 -144
- package/dist/controller/gateway/ProxyApiGatewayController.d.ts +18 -18
- package/dist/controller/gateway/ProxyApiGatewayController.js +78 -78
- package/dist/controller/gateway/PublicApiController.d.ts +32 -31
- package/dist/controller/gateway/PublicApiController.js +215 -179
- 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 +10 -10
- package/dist/controller/manage/AppMangeApi.js +88 -88
- 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 +15 -15
- package/dist/controller/manage/DataDictManageApi.js +133 -133
- 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 +11 -11
- package/dist/controller/manage/SysConfigMangeApi.js +126 -126
- package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -12
- package/dist/controller/manage/SystemInfoManageApi.js +72 -72
- package/dist/controller/manage/UserAccountManageApi.d.ts +14 -14
- package/dist/controller/manage/UserAccountManageApi.js +129 -129
- package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -11
- package/dist/controller/manage/WorkbenchMangeApi.js +103 -103
- package/dist/controller/myinfo/AuthController.d.ts +33 -33
- package/dist/controller/myinfo/AuthController.js +136 -136
- package/dist/controller/myinfo/MyInfoController.d.ts +13 -13
- package/dist/controller/myinfo/MyInfoController.js +51 -51
- package/dist/controller/render/AppRenderController.d.ts +11 -11
- package/dist/controller/render/AppRenderController.js +92 -92
- 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 +103 -103
- package/dist/index.js +121 -121
- package/dist/interface.d.ts +29 -27
- 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 -104
- package/dist/libs/crud-pro/exceptions.js +119 -117
- package/dist/libs/crud-pro/interfaces.d.ts +165 -165
- package/dist/libs/crud-pro/interfaces.js +12 -12
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +49 -49
- package/dist/libs/crud-pro/models/ExecuteContext.js +79 -79
- 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 +16 -16
- 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 +22 -22
- 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 +28 -28
- package/dist/libs/crud-pro/models/TransactionMySQL.js +76 -76
- package/dist/libs/crud-pro/models/TransactionPostgres.d.ts +28 -28
- package/dist/libs/crud-pro/models/TransactionPostgres.js +85 -85
- package/dist/libs/crud-pro/models/TransactionSqlServer.d.ts +34 -34
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +92 -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 -334
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +24 -24
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +90 -90
- 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/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 -21
- 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 +11 -11
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.d.ts +2 -2
- package/dist/libs/crud-pro/utils/sqlConvert/convertPgSql.js +11 -11
- 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 -0
- package/dist/libs/utils/AsymmetricCrypto.js +261 -0
- 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 -0
- package/dist/libs/utils/format-url.js +13 -0
- package/dist/libs/utils/functions.d.ts +5 -5
- package/dist/libs/utils/functions.js +72 -72
- 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 -28
- package/dist/libs/utils/render-utils.js +154 -133
- 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 -266
- 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 +139 -105
- package/dist/models/SystemEntities.js +30 -9
- 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 -0
- package/dist/models/WorkbenchInfoTools.js +20 -0
- package/dist/models/bizmodels.d.ts +113 -104
- package/dist/models/bizmodels.js +39 -39
- package/dist/models/contextLogger.d.ts +27 -25
- package/dist/models/contextLogger.js +119 -112
- package/dist/models/devops.d.ts +12 -12
- package/dist/models/devops.js +19 -19
- package/dist/models/userSession.d.ts +64 -62
- package/dist/models/userSession.js +167 -165
- package/dist/schedule/anonymousContext.d.ts +14 -14
- package/dist/schedule/anonymousContext.js +61 -59
- 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 +13 -13
- package/dist/schedule/scheduleNames.js +17 -17
- package/dist/service/AuthService.d.ts +71 -71
- package/dist/service/AuthService.js +270 -263
- package/dist/service/EnumInfoService.d.ts +30 -30
- package/dist/service/EnumInfoService.js +133 -127
- package/dist/service/FileCenterService.d.ts +43 -43
- package/dist/service/FileCenterService.js +351 -351
- package/dist/service/SysConfigService.d.ts +7 -7
- package/dist/service/SysConfigService.js +47 -47
- package/dist/service/UserAccountService.d.ts +23 -23
- package/dist/service/UserAccountService.js +107 -107
- package/dist/service/UserSessionService.d.ts +43 -38
- package/dist/service/UserSessionService.js +166 -157
- package/dist/service/VisitStatService.d.ts +14 -14
- package/dist/service/VisitStatService.js +158 -158
- package/dist/service/WorkbenchService.d.ts +54 -53
- package/dist/service/WorkbenchService.js +237 -211
- 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 +20 -0
- package/dist/service/base/cache/CacheServiceFactory.js +67 -0
- package/dist/service/base/cache/FatcmsBaseCtxCache.d.ts +19 -0
- package/dist/service/base/cache/FatcmsBaseCtxCache.js +38 -0
- package/dist/service/base/cache/FatcmsBaseDiskCache.d.ts +24 -0
- package/dist/service/base/cache/FatcmsBaseDiskCache.js +81 -0
- package/dist/service/base/cache/FatcmsBaseMemoryCache.d.ts +18 -0
- package/dist/service/base/cache/FatcmsBaseMemoryCache.js +66 -0
- package/dist/service/base/cache/FatcmsBaseNoneCache.d.ts +10 -0
- package/dist/service/base/cache/FatcmsBaseNoneCache.js +19 -0
- package/dist/service/base/{RedisCacheService.d.ts → cache/FatcmsBaseRedisCache.d.ts} +20 -20
- package/dist/service/base/cache/FatcmsBaseRedisCache.js +39 -0
- 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 +72 -70
- package/dist/service/crudstd/CrudStdService.js +417 -403
- package/dist/service/curd/CrudProQuick.d.ts +44 -44
- package/dist/service/curd/CrudProQuick.js +147 -147
- package/dist/service/curd/CurdMixByAccountService.d.ts +9 -9
- package/dist/service/curd/CurdMixByAccountService.js +113 -113
- package/dist/service/curd/CurdMixByDictService.d.ts +12 -13
- package/dist/service/curd/CurdMixByDictService.js +118 -114
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +30 -31
- package/dist/service/curd/CurdMixByLinkToCustomService.js +207 -203
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +13 -9
- package/dist/service/curd/CurdMixBySysConfigService.js +120 -80
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +11 -10
- package/dist/service/curd/CurdMixByWorkbenchService.js +86 -78
- 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/config/config.default.ts +8 -0
- package/src/controller/base/BaseApiController.ts +39 -0
- package/src/controller/gateway/CrudStdGatewayController.ts +42 -10
- package/src/controller/gateway/FileController.ts +2 -2
- package/src/controller/gateway/PublicApiController.ts +72 -28
- package/src/index.ts +1 -1
- package/src/interface.ts +2 -0
- package/src/libs/crud-pro/exceptions.ts +2 -0
- package/src/libs/crud-pro/models/keys.ts +6 -6
- package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +7 -1
- package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +18 -0
- package/src/libs/utils/AsymmetricCrypto.ts +310 -0
- package/src/libs/utils/format-url.ts +16 -0
- package/src/libs/utils/render-utils.ts +56 -15
- package/src/middleware/global.middleware.ts +8 -0
- package/src/models/SystemEntities.ts +43 -0
- package/src/models/WorkbenchInfoTools.ts +18 -0
- package/src/models/bizmodels.ts +12 -0
- package/src/models/contextLogger.ts +10 -1
- package/src/models/userSession.ts +4 -0
- package/src/schedule/anonymousContext.ts +2 -0
- package/src/service/AuthService.ts +11 -0
- package/src/service/EnumInfoService.ts +35 -22
- package/src/service/UserSessionService.ts +29 -18
- package/src/service/WorkbenchService.ts +42 -2
- package/src/service/base/cache/CacheServiceFactory.ts +66 -0
- package/src/service/base/cache/FatcmsBaseCtxCache.ts +47 -0
- package/src/service/base/cache/FatcmsBaseDiskCache.ts +87 -0
- package/src/service/base/cache/FatcmsBaseMemoryCache.ts +74 -0
- package/src/service/base/cache/FatcmsBaseNoneCache.ts +24 -0
- package/src/service/base/cache/FatcmsBaseRedisCache.ts +48 -0
- package/src/service/crudstd/CrudStdService.ts +28 -12
- package/src/service/curd/CurdMixByAccountService.ts +1 -0
- package/src/service/curd/CurdMixByDictService.ts +14 -8
- package/src/service/curd/CurdMixByLinkToCustomService.ts +21 -12
- package/src/service/curd/CurdMixBySysConfigService.ts +60 -11
- package/src/service/curd/CurdMixByWorkbenchService.ts +31 -24
- package/tsconfig.json +32 -32
- package/dist/service/base/RedisCacheService.js +0 -57
- package/src/service/base/RedisCacheService.ts +0 -42
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.errorToString = void 0;
|
|
4
|
-
function errorToString(error) {
|
|
5
|
-
var _a;
|
|
6
|
-
// 处理非错误对象的情况
|
|
7
|
-
if (typeof error === 'undefined') {
|
|
8
|
-
return 'Error: undefined was thrown';
|
|
9
|
-
}
|
|
10
|
-
if (error === null) {
|
|
11
|
-
return 'Error: null was thrown';
|
|
12
|
-
}
|
|
13
|
-
// 处理原始值类型
|
|
14
|
-
const primitiveTypes = ['string', 'number', 'boolean', 'symbol'];
|
|
15
|
-
if (primitiveTypes.includes(typeof error)) {
|
|
16
|
-
return `Error: A primitive value was thrown\nValue: ${String(error)}`;
|
|
17
|
-
}
|
|
18
|
-
// 处理 Error 对象
|
|
19
|
-
if (error instanceof Error) {
|
|
20
|
-
const errorDetails = [];
|
|
21
|
-
errorDetails.push(`Error: ${error.name || 'Error'}`);
|
|
22
|
-
errorDetails.push(`Message: ${error.message || 'No error message'}`);
|
|
23
|
-
if (error.stack) {
|
|
24
|
-
errorDetails.push('Stack Trace:');
|
|
25
|
-
errorDetails.push(error.stack);
|
|
26
|
-
}
|
|
27
|
-
const extraProperties = ['code', 'fileName', 'lineNumber', 'columnNumber'];
|
|
28
|
-
extraProperties.forEach(prop => {
|
|
29
|
-
if (error[prop] !== undefined) {
|
|
30
|
-
errorDetails.push(`${prop}: ${error[prop]}`);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
const customProps = Object.keys(error).filter(key => !['name', 'message', 'stack', ...extraProperties].includes(key));
|
|
34
|
-
if (customProps.length > 0) {
|
|
35
|
-
errorDetails.push('Custom Properties:');
|
|
36
|
-
customProps.forEach(prop => {
|
|
37
|
-
try {
|
|
38
|
-
const value = JSON.stringify(error[prop], null, 2) || String(error[prop]);
|
|
39
|
-
errorDetails.push(` ${prop}: ${value}`);
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
errorDetails.push(` ${prop}: [Object cannot be serialized]`);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return errorDetails.join('\n');
|
|
47
|
-
}
|
|
48
|
-
// 处理普通对象
|
|
49
|
-
try {
|
|
50
|
-
const objectDetails = JSON.stringify(error, null, 2);
|
|
51
|
-
return `Error: A plain object was thrown\nObject: ${objectDetails}`;
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
return `Error: An object was thrown but could not be serialized\nType: ${((_a = error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown'}`;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.errorToString = errorToString;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorToString = void 0;
|
|
4
|
+
function errorToString(error) {
|
|
5
|
+
var _a;
|
|
6
|
+
// 处理非错误对象的情况
|
|
7
|
+
if (typeof error === 'undefined') {
|
|
8
|
+
return 'Error: undefined was thrown';
|
|
9
|
+
}
|
|
10
|
+
if (error === null) {
|
|
11
|
+
return 'Error: null was thrown';
|
|
12
|
+
}
|
|
13
|
+
// 处理原始值类型
|
|
14
|
+
const primitiveTypes = ['string', 'number', 'boolean', 'symbol'];
|
|
15
|
+
if (primitiveTypes.includes(typeof error)) {
|
|
16
|
+
return `Error: A primitive value was thrown\nValue: ${String(error)}`;
|
|
17
|
+
}
|
|
18
|
+
// 处理 Error 对象
|
|
19
|
+
if (error instanceof Error) {
|
|
20
|
+
const errorDetails = [];
|
|
21
|
+
errorDetails.push(`Error: ${error.name || 'Error'}`);
|
|
22
|
+
errorDetails.push(`Message: ${error.message || 'No error message'}`);
|
|
23
|
+
if (error.stack) {
|
|
24
|
+
errorDetails.push('Stack Trace:');
|
|
25
|
+
errorDetails.push(error.stack);
|
|
26
|
+
}
|
|
27
|
+
const extraProperties = ['code', 'fileName', 'lineNumber', 'columnNumber'];
|
|
28
|
+
extraProperties.forEach(prop => {
|
|
29
|
+
if (error[prop] !== undefined) {
|
|
30
|
+
errorDetails.push(`${prop}: ${error[prop]}`);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const customProps = Object.keys(error).filter(key => !['name', 'message', 'stack', ...extraProperties].includes(key));
|
|
34
|
+
if (customProps.length > 0) {
|
|
35
|
+
errorDetails.push('Custom Properties:');
|
|
36
|
+
customProps.forEach(prop => {
|
|
37
|
+
try {
|
|
38
|
+
const value = JSON.stringify(error[prop], null, 2) || String(error[prop]);
|
|
39
|
+
errorDetails.push(` ${prop}: ${value}`);
|
|
40
|
+
}
|
|
41
|
+
catch (e) {
|
|
42
|
+
errorDetails.push(` ${prop}: [Object cannot be serialized]`);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
return errorDetails.join('\n');
|
|
47
|
+
}
|
|
48
|
+
// 处理普通对象
|
|
49
|
+
try {
|
|
50
|
+
const objectDetails = JSON.stringify(error, null, 2);
|
|
51
|
+
return `Error: A plain object was thrown\nObject: ${objectDetails}`;
|
|
52
|
+
}
|
|
53
|
+
catch (e) {
|
|
54
|
+
return `Error: An object was thrown but could not be serialized\nType: ${((_a = error.constructor) === null || _a === void 0 ? void 0 : _a.name) || 'Unknown'}`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.errorToString = errorToString;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Context } from '@midwayjs/koa';
|
|
2
|
-
/**
|
|
3
|
-
* 是否开启调试能力
|
|
4
|
-
* @param ctx
|
|
5
|
-
*/
|
|
6
|
-
export declare function isEnableDebug(ctx: Context): boolean;
|
|
7
|
-
/**
|
|
8
|
-
* 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
|
|
9
|
-
* @param ctx
|
|
10
|
-
*/
|
|
11
|
-
export declare function isEnableSuperAdmin(ctx: Context): boolean;
|
|
12
|
-
export declare function isLocalEnv(ctx: Context): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* 获取调试时专用的站点code
|
|
15
|
-
* @param ctx
|
|
16
|
-
*/
|
|
17
|
-
export declare function getDebugWorkbenchCode(ctx: Context): any;
|
|
18
|
-
/**
|
|
19
|
-
* 代理转发服务专用
|
|
20
|
-
* @param ctx
|
|
21
|
-
*/
|
|
22
|
-
export declare function getDebugProxyTarget(ctx: Context): string;
|
|
23
|
-
export declare function getCsrfToken(ctx: Context): string;
|
|
24
|
-
/**
|
|
25
|
-
* 扩展的源码应用:本地开发调试时加载本地的js脚本
|
|
26
|
-
* @param ctx
|
|
27
|
-
*/
|
|
28
|
-
export declare function getExtLocalLoaderPort(ctx: Context): string;
|
|
29
|
-
export declare function isCsrfTokenValid(ctx: Context): Promise<boolean>;
|
|
30
|
-
export declare function assertCsrfToken(ctx: Context): Promise<void>;
|
|
1
|
+
import { Context } from '@midwayjs/koa';
|
|
2
|
+
/**
|
|
3
|
+
* 是否开启调试能力
|
|
4
|
+
* @param ctx
|
|
5
|
+
*/
|
|
6
|
+
export declare function isEnableDebug(ctx: Context): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
|
|
9
|
+
* @param ctx
|
|
10
|
+
*/
|
|
11
|
+
export declare function isEnableSuperAdmin(ctx: Context): boolean;
|
|
12
|
+
export declare function isLocalEnv(ctx: Context): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 获取调试时专用的站点code
|
|
15
|
+
* @param ctx
|
|
16
|
+
*/
|
|
17
|
+
export declare function getDebugWorkbenchCode(ctx: Context): any;
|
|
18
|
+
/**
|
|
19
|
+
* 代理转发服务专用
|
|
20
|
+
* @param ctx
|
|
21
|
+
*/
|
|
22
|
+
export declare function getDebugProxyTarget(ctx: Context): string;
|
|
23
|
+
export declare function getCsrfToken(ctx: Context): string;
|
|
24
|
+
/**
|
|
25
|
+
* 扩展的源码应用:本地开发调试时加载本地的js脚本
|
|
26
|
+
* @param ctx
|
|
27
|
+
*/
|
|
28
|
+
export declare function getExtLocalLoaderPort(ctx: Context): string;
|
|
29
|
+
export declare function isCsrfTokenValid(ctx: Context): Promise<boolean>;
|
|
30
|
+
export declare function assertCsrfToken(ctx: Context): Promise<void>;
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.assertCsrfToken = exports.isCsrfTokenValid = exports.getExtLocalLoaderPort = exports.getCsrfToken = exports.getDebugProxyTarget = exports.getDebugWorkbenchCode = exports.isLocalEnv = exports.isEnableSuperAdmin = exports.isEnableDebug = void 0;
|
|
4
|
-
const _ = require("lodash");
|
|
5
|
-
const crypto_utils_1 = require("./crypto-utils");
|
|
6
|
-
const exceptions_1 = require("../crud-pro/exceptions");
|
|
7
|
-
function isEnableByHeaderKey(ctx, configName) {
|
|
8
|
-
const fatcmsDebug = ctx.app.getConfig(configName);
|
|
9
|
-
const headerKey = _.get(fatcmsDebug, 'headerKey');
|
|
10
|
-
const headerSecret = _.get(fatcmsDebug, 'headerSecret');
|
|
11
|
-
if (!headerSecret || !headerKey) {
|
|
12
|
-
return false;
|
|
13
|
-
}
|
|
14
|
-
const headers = _.get(ctx, 'request.headers') || {};
|
|
15
|
-
return headers[headerKey] === headerSecret;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* 是否开启调试能力
|
|
19
|
-
* @param ctx
|
|
20
|
-
*/
|
|
21
|
-
function isEnableDebug(ctx) {
|
|
22
|
-
return isEnableByHeaderKey(ctx, 'fatcmsDebug');
|
|
23
|
-
}
|
|
24
|
-
exports.isEnableDebug = isEnableDebug;
|
|
25
|
-
/**
|
|
26
|
-
* 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
|
|
27
|
-
* @param ctx
|
|
28
|
-
*/
|
|
29
|
-
function isEnableSuperAdmin(ctx) {
|
|
30
|
-
return isEnableByHeaderKey(ctx, 'fatcmsSAEnable');
|
|
31
|
-
}
|
|
32
|
-
exports.isEnableSuperAdmin = isEnableSuperAdmin;
|
|
33
|
-
function isLocalEnv(ctx) {
|
|
34
|
-
// 系统内部调用。如定时任务,没有request对象。
|
|
35
|
-
if (!ctx.request) {
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
const host = ctx.request.host;
|
|
39
|
-
return host.startsWith('127.0.0.1') || host.startsWith('localhost:');
|
|
40
|
-
}
|
|
41
|
-
exports.isLocalEnv = isLocalEnv;
|
|
42
|
-
/**
|
|
43
|
-
* 获取调试时专用的站点code
|
|
44
|
-
* @param ctx
|
|
45
|
-
*/
|
|
46
|
-
function getDebugWorkbenchCode(ctx) {
|
|
47
|
-
const headers = _.get(ctx, 'request.headers') || {};
|
|
48
|
-
return headers['fatcmsworkbench'];
|
|
49
|
-
}
|
|
50
|
-
exports.getDebugWorkbenchCode = getDebugWorkbenchCode;
|
|
51
|
-
/**
|
|
52
|
-
* 代理转发服务专用
|
|
53
|
-
* @param ctx
|
|
54
|
-
*/
|
|
55
|
-
function getDebugProxyTarget(ctx) {
|
|
56
|
-
const headers = _.get(ctx, 'request.headers') || {};
|
|
57
|
-
return headers['fatcmsdebugproxytarget'];
|
|
58
|
-
}
|
|
59
|
-
exports.getDebugProxyTarget = getDebugProxyTarget;
|
|
60
|
-
function getCsrfToken(ctx) {
|
|
61
|
-
const headers = _.get(ctx, 'request.headers') || {};
|
|
62
|
-
return headers['fatcmscsrftoken'];
|
|
63
|
-
}
|
|
64
|
-
exports.getCsrfToken = getCsrfToken;
|
|
65
|
-
/**
|
|
66
|
-
* 扩展的源码应用:本地开发调试时加载本地的js脚本
|
|
67
|
-
* @param ctx
|
|
68
|
-
*/
|
|
69
|
-
function getExtLocalLoaderPort(ctx) {
|
|
70
|
-
const headers = _.get(ctx, 'request.headers') || {};
|
|
71
|
-
return headers['fatcmsextlocalloaderport'];
|
|
72
|
-
}
|
|
73
|
-
exports.getExtLocalLoaderPort = getExtLocalLoaderPort;
|
|
74
|
-
async function isCsrfTokenValid(ctx) {
|
|
75
|
-
// 本地开发,不需要校验
|
|
76
|
-
if (isLocalEnv(ctx) || isEnableDebug(ctx)) {
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
const fatcmscsrftoken = getCsrfToken(ctx);
|
|
80
|
-
if (!fatcmscsrftoken) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
try {
|
|
84
|
-
const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
|
|
85
|
-
if (depryptToken) {
|
|
86
|
-
const num = Number(depryptToken);
|
|
87
|
-
if (num && num + 6 * 3600 * 1000 > Date.now()) {
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (e) {
|
|
93
|
-
console.info('isCsrfTokenValid验证失败');
|
|
94
|
-
}
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
exports.isCsrfTokenValid = isCsrfTokenValid;
|
|
98
|
-
async function assertCsrfToken(ctx) {
|
|
99
|
-
const isOK = await isCsrfTokenValid(ctx);
|
|
100
|
-
if (!isOK) {
|
|
101
|
-
throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.assertCsrfToken = assertCsrfToken;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertCsrfToken = exports.isCsrfTokenValid = exports.getExtLocalLoaderPort = exports.getCsrfToken = exports.getDebugProxyTarget = exports.getDebugWorkbenchCode = exports.isLocalEnv = exports.isEnableSuperAdmin = exports.isEnableDebug = void 0;
|
|
4
|
+
const _ = require("lodash");
|
|
5
|
+
const crypto_utils_1 = require("./crypto-utils");
|
|
6
|
+
const exceptions_1 = require("../crud-pro/exceptions");
|
|
7
|
+
function isEnableByHeaderKey(ctx, configName) {
|
|
8
|
+
const fatcmsDebug = ctx.app.getConfig(configName);
|
|
9
|
+
const headerKey = _.get(fatcmsDebug, 'headerKey');
|
|
10
|
+
const headerSecret = _.get(fatcmsDebug, 'headerSecret');
|
|
11
|
+
if (!headerSecret || !headerKey) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const headers = _.get(ctx, 'request.headers') || {};
|
|
15
|
+
return headers[headerKey] === headerSecret;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 是否开启调试能力
|
|
19
|
+
* @param ctx
|
|
20
|
+
*/
|
|
21
|
+
function isEnableDebug(ctx) {
|
|
22
|
+
return isEnableByHeaderKey(ctx, 'fatcmsDebug');
|
|
23
|
+
}
|
|
24
|
+
exports.isEnableDebug = isEnableDebug;
|
|
25
|
+
/**
|
|
26
|
+
* 是否开启SA账号。只有账号密码没有用,必须通过ModHeader插件设置如下字段
|
|
27
|
+
* @param ctx
|
|
28
|
+
*/
|
|
29
|
+
function isEnableSuperAdmin(ctx) {
|
|
30
|
+
return isEnableByHeaderKey(ctx, 'fatcmsSAEnable');
|
|
31
|
+
}
|
|
32
|
+
exports.isEnableSuperAdmin = isEnableSuperAdmin;
|
|
33
|
+
function isLocalEnv(ctx) {
|
|
34
|
+
// 系统内部调用。如定时任务,没有request对象。
|
|
35
|
+
if (!ctx.request) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const host = ctx.request.host;
|
|
39
|
+
return host.startsWith('127.0.0.1') || host.startsWith('localhost:');
|
|
40
|
+
}
|
|
41
|
+
exports.isLocalEnv = isLocalEnv;
|
|
42
|
+
/**
|
|
43
|
+
* 获取调试时专用的站点code
|
|
44
|
+
* @param ctx
|
|
45
|
+
*/
|
|
46
|
+
function getDebugWorkbenchCode(ctx) {
|
|
47
|
+
const headers = _.get(ctx, 'request.headers') || {};
|
|
48
|
+
return headers['fatcmsworkbench'];
|
|
49
|
+
}
|
|
50
|
+
exports.getDebugWorkbenchCode = getDebugWorkbenchCode;
|
|
51
|
+
/**
|
|
52
|
+
* 代理转发服务专用
|
|
53
|
+
* @param ctx
|
|
54
|
+
*/
|
|
55
|
+
function getDebugProxyTarget(ctx) {
|
|
56
|
+
const headers = _.get(ctx, 'request.headers') || {};
|
|
57
|
+
return headers['fatcmsdebugproxytarget'];
|
|
58
|
+
}
|
|
59
|
+
exports.getDebugProxyTarget = getDebugProxyTarget;
|
|
60
|
+
function getCsrfToken(ctx) {
|
|
61
|
+
const headers = _.get(ctx, 'request.headers') || {};
|
|
62
|
+
return headers['fatcmscsrftoken'];
|
|
63
|
+
}
|
|
64
|
+
exports.getCsrfToken = getCsrfToken;
|
|
65
|
+
/**
|
|
66
|
+
* 扩展的源码应用:本地开发调试时加载本地的js脚本
|
|
67
|
+
* @param ctx
|
|
68
|
+
*/
|
|
69
|
+
function getExtLocalLoaderPort(ctx) {
|
|
70
|
+
const headers = _.get(ctx, 'request.headers') || {};
|
|
71
|
+
return headers['fatcmsextlocalloaderport'];
|
|
72
|
+
}
|
|
73
|
+
exports.getExtLocalLoaderPort = getExtLocalLoaderPort;
|
|
74
|
+
async function isCsrfTokenValid(ctx) {
|
|
75
|
+
// 本地开发,不需要校验
|
|
76
|
+
if (isLocalEnv(ctx) || isEnableDebug(ctx)) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
const fatcmscsrftoken = getCsrfToken(ctx);
|
|
80
|
+
if (!fatcmscsrftoken) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const depryptToken = await crypto_utils_1.privateAES.time_decrypt_base64_utf8(fatcmscsrftoken);
|
|
85
|
+
if (depryptToken) {
|
|
86
|
+
const num = Number(depryptToken);
|
|
87
|
+
if (num && num + 6 * 3600 * 1000 > Date.now()) {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
console.info('isCsrfTokenValid验证失败');
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
exports.isCsrfTokenValid = isCsrfTokenValid;
|
|
98
|
+
async function assertCsrfToken(ctx) {
|
|
99
|
+
const isOK = await isCsrfTokenValid(ctx);
|
|
100
|
+
if (!isOK) {
|
|
101
|
+
throw new exceptions_1.CommonException('ASSERT_CSRF_TOKEN_ERROR', 'CSRF_TOKEN 验证失败');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.assertCsrfToken = assertCsrfToken;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatHost = void 0;
|
|
4
|
+
function formatHost(host) {
|
|
5
|
+
if (host.endsWith(':80')) {
|
|
6
|
+
host = host.slice(0, -3);
|
|
7
|
+
}
|
|
8
|
+
if (host.endsWith(':443')) {
|
|
9
|
+
host = host.slice(0, -4);
|
|
10
|
+
}
|
|
11
|
+
return host;
|
|
12
|
+
}
|
|
13
|
+
exports.formatHost = formatHost;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare function createUniqueId(): string;
|
|
2
|
-
declare function parseJsonObject(str: any): any;
|
|
3
|
-
declare function parseStringTrimArray(obj: any, separator?: string): string[];
|
|
4
|
-
declare function getCurrentFullMoment(): string;
|
|
5
|
-
export { createUniqueId, parseJsonObject, parseStringTrimArray, getCurrentFullMoment };
|
|
1
|
+
declare function createUniqueId(): string;
|
|
2
|
+
declare function parseJsonObject(str: any): any;
|
|
3
|
+
declare function parseStringTrimArray(obj: any, separator?: string): string[];
|
|
4
|
+
declare function getCurrentFullMoment(): string;
|
|
5
|
+
export { createUniqueId, parseJsonObject, parseStringTrimArray, getCurrentFullMoment };
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentFullMoment = exports.parseStringTrimArray = exports.parseJsonObject = exports.createUniqueId = void 0;
|
|
4
|
-
const md5 = require("md5");
|
|
5
|
-
const moment = require("moment");
|
|
6
|
-
let createUniqueIdIndex = 0;
|
|
7
|
-
function createUniqueId() {
|
|
8
|
-
createUniqueIdIndex++;
|
|
9
|
-
const p1 = md5(Date.now() + '' + Math.random() + '_' + createUniqueIdIndex);
|
|
10
|
-
const p2 = Date.now().toString(32);
|
|
11
|
-
return p1 + p2;
|
|
12
|
-
}
|
|
13
|
-
exports.createUniqueId = createUniqueId;
|
|
14
|
-
function parseJsonObject(str) {
|
|
15
|
-
const typeofStr = typeof str;
|
|
16
|
-
if (str === null || typeofStr === 'undefined') {
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
if (typeofStr === 'object') {
|
|
20
|
-
return str;
|
|
21
|
-
}
|
|
22
|
-
if (typeofStr === 'string') {
|
|
23
|
-
str = str.trim();
|
|
24
|
-
if (str.startsWith('{') || str.startsWith('[')) {
|
|
25
|
-
try {
|
|
26
|
-
return JSON.parse(str);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
exports.parseJsonObject = parseJsonObject;
|
|
36
|
-
function trimStringArray(obj) {
|
|
37
|
-
return obj
|
|
38
|
-
.map(s => {
|
|
39
|
-
if (typeof s === 'string') {
|
|
40
|
-
return s.trim();
|
|
41
|
-
}
|
|
42
|
-
return null;
|
|
43
|
-
})
|
|
44
|
-
.filter(Boolean);
|
|
45
|
-
}
|
|
46
|
-
function parseStringTrimArray(obj, separator = ',') {
|
|
47
|
-
if (Array.isArray(obj)) {
|
|
48
|
-
return trimStringArray(obj);
|
|
49
|
-
}
|
|
50
|
-
if (typeof obj === 'string') {
|
|
51
|
-
const str = obj.trim();
|
|
52
|
-
if (str.length > 0) {
|
|
53
|
-
// 可能是一个JSON数组
|
|
54
|
-
if (str.startsWith('[') && str.endsWith(']')) {
|
|
55
|
-
const arr = parseJsonObject(str);
|
|
56
|
-
return trimStringArray(arr);
|
|
57
|
-
}
|
|
58
|
-
// 使用分隔符分隔
|
|
59
|
-
if (str.includes(separator)) {
|
|
60
|
-
const arr = str.split(separator);
|
|
61
|
-
return trimStringArray(arr);
|
|
62
|
-
}
|
|
63
|
-
return [str];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
exports.parseStringTrimArray = parseStringTrimArray;
|
|
69
|
-
function getCurrentFullMoment() {
|
|
70
|
-
return moment(Date.now()).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
71
|
-
}
|
|
72
|
-
exports.getCurrentFullMoment = getCurrentFullMoment;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCurrentFullMoment = exports.parseStringTrimArray = exports.parseJsonObject = exports.createUniqueId = void 0;
|
|
4
|
+
const md5 = require("md5");
|
|
5
|
+
const moment = require("moment");
|
|
6
|
+
let createUniqueIdIndex = 0;
|
|
7
|
+
function createUniqueId() {
|
|
8
|
+
createUniqueIdIndex++;
|
|
9
|
+
const p1 = md5(Date.now() + '' + Math.random() + '_' + createUniqueIdIndex);
|
|
10
|
+
const p2 = Date.now().toString(32);
|
|
11
|
+
return p1 + p2;
|
|
12
|
+
}
|
|
13
|
+
exports.createUniqueId = createUniqueId;
|
|
14
|
+
function parseJsonObject(str) {
|
|
15
|
+
const typeofStr = typeof str;
|
|
16
|
+
if (str === null || typeofStr === 'undefined') {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
if (typeofStr === 'object') {
|
|
20
|
+
return str;
|
|
21
|
+
}
|
|
22
|
+
if (typeofStr === 'string') {
|
|
23
|
+
str = str.trim();
|
|
24
|
+
if (str.startsWith('{') || str.startsWith('[')) {
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(str);
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
exports.parseJsonObject = parseJsonObject;
|
|
36
|
+
function trimStringArray(obj) {
|
|
37
|
+
return obj
|
|
38
|
+
.map(s => {
|
|
39
|
+
if (typeof s === 'string') {
|
|
40
|
+
return s.trim();
|
|
41
|
+
}
|
|
42
|
+
return null;
|
|
43
|
+
})
|
|
44
|
+
.filter(Boolean);
|
|
45
|
+
}
|
|
46
|
+
function parseStringTrimArray(obj, separator = ',') {
|
|
47
|
+
if (Array.isArray(obj)) {
|
|
48
|
+
return trimStringArray(obj);
|
|
49
|
+
}
|
|
50
|
+
if (typeof obj === 'string') {
|
|
51
|
+
const str = obj.trim();
|
|
52
|
+
if (str.length > 0) {
|
|
53
|
+
// 可能是一个JSON数组
|
|
54
|
+
if (str.startsWith('[') && str.endsWith(']')) {
|
|
55
|
+
const arr = parseJsonObject(str);
|
|
56
|
+
return trimStringArray(arr);
|
|
57
|
+
}
|
|
58
|
+
// 使用分隔符分隔
|
|
59
|
+
if (str.includes(separator)) {
|
|
60
|
+
const arr = str.split(separator);
|
|
61
|
+
return trimStringArray(arr);
|
|
62
|
+
}
|
|
63
|
+
return [str];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
exports.parseStringTrimArray = parseStringTrimArray;
|
|
69
|
+
function getCurrentFullMoment() {
|
|
70
|
+
return moment(Date.now()).format('YYYY-MM-DD HH:mm:ss.SSS');
|
|
71
|
+
}
|
|
72
|
+
exports.getCurrentFullMoment = getCurrentFullMoment;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare function generateOrderNumber(prefix?: string): string;
|
|
2
|
-
export { generateOrderNumber };
|
|
1
|
+
declare function generateOrderNumber(prefix?: string): string;
|
|
2
|
+
export { generateOrderNumber };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateOrderNumber = void 0;
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
function generateOrderNumber(prefix = 'NO') {
|
|
6
|
-
// 获取当前时间并格式化为YYYYMMDDHHmmss
|
|
7
|
-
const timestamp = moment().format('YYYYMMDDHHmmss');
|
|
8
|
-
// 生成6位随机数字
|
|
9
|
-
const randomDigits = Math.floor(100000 + Math.random() * 900000);
|
|
10
|
-
// 组合订单号
|
|
11
|
-
return prefix + timestamp + randomDigits;
|
|
12
|
-
}
|
|
13
|
-
exports.generateOrderNumber = generateOrderNumber;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateOrderNumber = void 0;
|
|
4
|
+
const moment = require("moment");
|
|
5
|
+
function generateOrderNumber(prefix = 'NO') {
|
|
6
|
+
// 获取当前时间并格式化为YYYYMMDDHHmmss
|
|
7
|
+
const timestamp = moment().format('YYYYMMDDHHmmss');
|
|
8
|
+
// 生成6位随机数字
|
|
9
|
+
const randomDigits = Math.floor(100000 + Math.random() * 900000);
|
|
10
|
+
// 组合订单号
|
|
11
|
+
return prefix + timestamp + randomDigits;
|
|
12
|
+
}
|
|
13
|
+
exports.generateOrderNumber = generateOrderNumber;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
interface IEnumInfo {
|
|
2
|
-
label: string;
|
|
3
|
-
value: string | number;
|
|
4
|
-
style?: string;
|
|
5
|
-
children?: IEnumInfo[];
|
|
6
|
-
}
|
|
7
|
-
declare function parseConfigContentToEnumInfo(configEntity: any): IEnumInfo[];
|
|
8
|
-
export { parseConfigContentToEnumInfo, IEnumInfo };
|
|
1
|
+
interface IEnumInfo {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string | number;
|
|
4
|
+
style?: string;
|
|
5
|
+
children?: IEnumInfo[];
|
|
6
|
+
}
|
|
7
|
+
declare function parseConfigContentToEnumInfo(configEntity: any): IEnumInfo[];
|
|
8
|
+
export { parseConfigContentToEnumInfo, IEnumInfo };
|