midway-fatcms 0.0.1-beta.1
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/README.md +1 -0
- package/dist/config/config.default.d.ts +3 -0
- package/dist/config/config.default.js +148 -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 +6 -0
- package/dist/configuration.js +89 -0
- package/dist/controller/base/BaseApiController.d.ts +31 -0
- package/dist/controller/base/BaseApiController.js +138 -0
- package/dist/controller/gateway/AnyApiGatewayController.d.ts +13 -0
- package/dist/controller/gateway/AnyApiGatewayController.js +55 -0
- package/dist/controller/gateway/CrudMtdGatewayController.d.ts +21 -0
- package/dist/controller/gateway/CrudMtdGatewayController.js +116 -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 +174 -0
- package/dist/controller/gateway/FileController.d.ts +25 -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 +167 -0
- package/dist/controller/gateway/StaticController.d.ts +21 -0
- package/dist/controller/gateway/StaticController.js +265 -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 +71 -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 +339 -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 +176 -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 +149 -0
- package/dist/controller/manage/SysConfigMangeApi.d.ts +11 -0
- package/dist/controller/manage/SysConfigMangeApi.js +124 -0
- package/dist/controller/manage/SystemInfoManageApi.d.ts +12 -0
- package/dist/controller/manage/SystemInfoManageApi.js +66 -0
- package/dist/controller/manage/UserAccountManageApi.d.ts +14 -0
- package/dist/controller/manage/UserAccountManageApi.js +124 -0
- package/dist/controller/manage/WorkbenchMangeApi.d.ts +11 -0
- package/dist/controller/manage/WorkbenchMangeApi.js +103 -0
- package/dist/controller/medstatistic/MedAdminController.d.ts +35 -0
- package/dist/controller/medstatistic/MedAdminController.js +205 -0
- package/dist/controller/medstatistic/MedClientController.d.ts +28 -0
- package/dist/controller/medstatistic/MedClientController.js +188 -0
- package/dist/controller/medstatistic/MedMessageService.d.ts +19 -0
- package/dist/controller/medstatistic/MedMessageService.js +95 -0
- package/dist/controller/medstatistic/MedScoreService.d.ts +21 -0
- package/dist/controller/medstatistic/MedScoreService.js +107 -0
- package/dist/controller/medstatistic/constants.d.ts +32 -0
- package/dist/controller/medstatistic/constants.js +43 -0
- package/dist/controller/myinfo/AuthController.d.ts +37 -0
- package/dist/controller/myinfo/AuthController.js +189 -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 +85 -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 +70 -0
- package/dist/index.js +88 -0
- package/dist/interface.d.ts +27 -0
- package/dist/interface.js +3 -0
- package/dist/libs/crud-pro/CrudPro.d.ts +36 -0
- package/dist/libs/crud-pro/CrudPro.js +131 -0
- package/dist/libs/crud-pro/defaultConfigs.d.ts +4 -0
- package/dist/libs/crud-pro/defaultConfigs.js +13 -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 +157 -0
- package/dist/libs/crud-pro/interfaces.js +12 -0
- package/dist/libs/crud-pro/models/ExecuteContext.d.ts +42 -0
- package/dist/libs/crud-pro/models/ExecuteContext.js +79 -0
- package/dist/libs/crud-pro/models/ExecuteContextFunc.d.ts +31 -0
- package/dist/libs/crud-pro/models/ExecuteContextFunc.js +64 -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/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 +10 -0
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +61 -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 +227 -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 +342 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlService.d.ts +25 -0
- package/dist/libs/crud-pro/services/CrudProGenSqlService.js +174 -0
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.d.ts +32 -0
- package/dist/libs/crud-pro/services/CrudProOriginToExecuteSql.js +333 -0
- package/dist/libs/crud-pro/services/CrudProServiceBase.d.ts +28 -0
- package/dist/libs/crud-pro/services/CrudProServiceBase.js +78 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.d.ts +8 -0
- package/dist/libs/crud-pro/services/CrudProTableMetaService.js +53 -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 +29 -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/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/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/fatcms-request.d.ts +30 -0
- package/dist/libs/utils/fatcms-request.js +104 -0
- package/dist/libs/utils/functions.d.ts +4 -0
- package/dist/libs/utils/functions.js +63 -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 +70 -0
- package/dist/middleware/global.middleware.d.ts +10 -0
- package/dist/middleware/global.middleware.js +246 -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/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 +27 -0
- package/dist/models/SystemTables.js +30 -0
- package/dist/models/bizmodels.d.ts +69 -0
- package/dist/models/bizmodels.js +34 -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/index.d.ts +3 -0
- package/dist/schedule/index.js +69 -0
- package/dist/service/AuthService.d.ts +70 -0
- package/dist/service/AuthService.js +248 -0
- package/dist/service/EnumInfoService.d.ts +30 -0
- package/dist/service/EnumInfoService.js +123 -0
- package/dist/service/FileCenterService.d.ts +43 -0
- package/dist/service/FileCenterService.js +347 -0
- package/dist/service/SysConfigService.d.ts +7 -0
- package/dist/service/SysConfigService.js +45 -0
- package/dist/service/UserAccountService.d.ts +23 -0
- package/dist/service/UserAccountService.js +103 -0
- package/dist/service/UserSessionService.d.ts +16 -0
- package/dist/service/UserSessionService.js +85 -0
- package/dist/service/VisitStatService.d.ts +14 -0
- package/dist/service/VisitStatService.js +165 -0
- package/dist/service/WorkbenchService.d.ts +20 -0
- package/dist/service/WorkbenchService.js +153 -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 +179 -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 +29 -0
- package/dist/service/base/BaseService.js +79 -0
- package/dist/service/base/RedisCacheService.d.ts +13 -0
- package/dist/service/base/RedisCacheService.js +50 -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 +50 -0
- package/dist/service/crudstd/CrudStdService.js +182 -0
- package/dist/service/curd/CurdMixByAccountService.d.ts +9 -0
- package/dist/service/curd/CurdMixByAccountService.js +87 -0
- package/dist/service/curd/CurdMixByDictService.d.ts +13 -0
- package/dist/service/curd/CurdMixByDictService.js +111 -0
- package/dist/service/curd/CurdMixByLinkToCustomService.d.ts +22 -0
- package/dist/service/curd/CurdMixByLinkToCustomService.js +154 -0
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +9 -0
- package/dist/service/curd/CurdMixBySysConfigService.js +78 -0
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +10 -0
- package/dist/service/curd/CurdMixByWorkbenchService.js +76 -0
- package/dist/service/curd/CurdMixService.d.ts +17 -0
- package/dist/service/curd/CurdMixService.js +76 -0
- package/dist/service/curd/CurdMixUtils.d.ts +28 -0
- package/dist/service/curd/CurdMixUtils.js +201 -0
- package/dist/service/curd/CurdProService.d.ts +39 -0
- package/dist/service/curd/CurdProService.js +322 -0
- package/dist/service/proxyapi/ProxyApiLoadService.d.ts +21 -0
- package/dist/service/proxyapi/ProxyApiLoadService.js +164 -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/index.d.ts +10 -0
- package/package.json +71 -0
- package/src/config/config.default.ts +172 -0
- package/src/config/seed/aeskey.txt +1 -0
- package/src/config/utils.ts +23 -0
- package/src/configuration.ts +83 -0
- package/src/controller/base/BaseApiController.ts +145 -0
- package/src/controller/gateway/AnyApiGatewayController.ts +33 -0
- package/src/controller/gateway/CrudMtdGatewayController.ts +107 -0
- package/src/controller/gateway/CrudStdGatewayController.ts +101 -0
- package/src/controller/gateway/DocGatewayController.ts +165 -0
- package/src/controller/gateway/FileController.ts +110 -0
- package/src/controller/gateway/ProxyApiGatewayController.ts +47 -0
- package/src/controller/gateway/PublicApiController.ts +145 -0
- package/src/controller/gateway/StaticController.ts +303 -0
- package/src/controller/helpers.controller.ts +161 -0
- package/src/controller/home.controller.ts +71 -0
- package/src/controller/manage/AnyApiMangeApi.ts +66 -0
- package/src/controller/manage/AppLogMangeApi.ts +53 -0
- package/src/controller/manage/AppMangeApi.ts +53 -0
- package/src/controller/manage/AppPageMangeApi.ts +52 -0
- package/src/controller/manage/AppSchemaHistoryApi.ts +49 -0
- package/src/controller/manage/CrudMethodsMangeApi.ts +49 -0
- package/src/controller/manage/CrudStandardDesignApi.ts +353 -0
- package/src/controller/manage/DataDictManageApi.ts +78 -0
- package/src/controller/manage/DeployManageApi.ts +179 -0
- package/src/controller/manage/DocLibManageApi.ts +69 -0
- package/src/controller/manage/DocManageApi.ts +99 -0
- package/src/controller/manage/FileManageApi.ts +45 -0
- package/src/controller/manage/LowCodeTplManageApi.ts +52 -0
- package/src/controller/manage/MenuManageApi.ts +63 -0
- package/src/controller/manage/ProxyApiMangeApi.ts +52 -0
- package/src/controller/manage/SuperAdminManageApi.ts +138 -0
- package/src/controller/manage/SysConfigMangeApi.ts +95 -0
- package/src/controller/manage/SystemInfoManageApi.ts +48 -0
- package/src/controller/manage/UserAccountManageApi.ts +88 -0
- package/src/controller/manage/WorkbenchMangeApi.ts +72 -0
- package/src/controller/medstatistic/MedAdminController.ts +221 -0
- package/src/controller/medstatistic/MedClientController.ts +188 -0
- package/src/controller/medstatistic/MedMessageService.ts +89 -0
- package/src/controller/medstatistic/MedScoreService.ts +108 -0
- package/src/controller/medstatistic/constants.ts +63 -0
- package/src/controller/myinfo/AuthController.ts +174 -0
- package/src/controller/myinfo/MyInfoController.ts +32 -0
- package/src/controller/render/AppRenderController.ts +76 -0
- package/src/controller/test.controller.ts +37 -0
- package/src/filter/default.filter.ts +13 -0
- package/src/filter/notfound.filter.ts +10 -0
- package/src/index.ts +70 -0
- package/src/interface.ts +31 -0
- package/src/libs/crud-pro/CrudPro.ts +158 -0
- package/src/libs/crud-pro/defaultConfigs.ts +13 -0
- package/src/libs/crud-pro/exceptions.ts +124 -0
- package/src/libs/crud-pro/interfaces.ts +183 -0
- package/src/libs/crud-pro/models/ExecuteContext.ts +111 -0
- package/src/libs/crud-pro/models/ExecuteContextFunc.ts +86 -0
- package/src/libs/crud-pro/models/FuncContext.ts +21 -0
- package/src/libs/crud-pro/models/RequestCfgModel.ts +141 -0
- package/src/libs/crud-pro/models/RequestModel.ts +141 -0
- package/src/libs/crud-pro/models/ServiceHub.ts +32 -0
- package/src/libs/crud-pro/models/SqlCfgModel.ts +52 -0
- package/src/libs/crud-pro/models/SqlSegArg.ts +13 -0
- package/src/libs/crud-pro/models/Transaction.ts +74 -0
- package/src/libs/crud-pro/models/TransactionMySQL.ts +79 -0
- package/src/libs/crud-pro/models/TransactionPostgres.ts +91 -0
- package/src/libs/crud-pro/models/TransactionSqlServer.ts +107 -0
- package/src/libs/crud-pro/models/keys.ts +159 -0
- package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +75 -0
- package/src/libs/crud-pro/services/CrudProExecuteFuncService.ts +128 -0
- package/src/libs/crud-pro/services/CrudProExecuteSqlService.ts +279 -0
- package/src/libs/crud-pro/services/CrudProFieldUpdateService.ts +60 -0
- package/src/libs/crud-pro/services/CrudProFieldValidateService.ts +180 -0
- package/src/libs/crud-pro/services/CrudProGenSqlCondition.ts +373 -0
- package/src/libs/crud-pro/services/CrudProGenSqlService.ts +202 -0
- package/src/libs/crud-pro/services/CrudProOriginToExecuteSql.ts +397 -0
- package/src/libs/crud-pro/services/CrudProServiceBase.ts +98 -0
- package/src/libs/crud-pro/services/CrudProTableMetaService.ts +59 -0
- package/src/libs/crud-pro/services/CurdProServiceHub.ts +92 -0
- package/src/libs/crud-pro/sql.txt +120 -0
- package/src/libs/crud-pro/utils/CompareUtils.ts +23 -0
- package/src/libs/crud-pro/utils/DatabaseName.ts +40 -0
- package/src/libs/crud-pro/utils/DateTimeUtils.ts +20 -0
- package/src/libs/crud-pro/utils/MemoryRefreshCache.ts +64 -0
- package/src/libs/crud-pro/utils/MessageParseUtils.ts +33 -0
- package/src/libs/crud-pro/utils/MixinUtils.ts +285 -0
- package/src/libs/crud-pro/utils/ModelUtils.ts +55 -0
- package/src/libs/crud-pro/utils/MultiKeyMap.ts +72 -0
- package/src/libs/crud-pro/utils/SqlFuncUtils.ts +29 -0
- package/src/libs/crud-pro/utils/TypeUtils.ts +188 -0
- package/src/libs/crud-pro/utils/ValidateUtils.ts +167 -0
- package/src/libs/crud-pro/utils/pool/MySQLUtils.ts +20 -0
- package/src/libs/crud-pro/utils/pool/PostgresUtils.ts +22 -0
- package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +22 -0
- package/src/libs/crud-pro/utils/sqlConvert/convertColumnName.ts +26 -0
- package/src/libs/crud-pro/utils/sqlConvert/convertMsSql.ts +11 -0
- package/src/libs/crud-pro/utils/sqlConvert/convertPgSql.ts +11 -0
- package/src/libs/crud-pro/utils/sqlConvert/convertPgType.ts +129 -0
- package/src/libs/utils/common-dto.ts +52 -0
- package/src/libs/utils/crypto-utils.ts +52 -0
- package/src/libs/utils/fatcms-request.ts +115 -0
- package/src/libs/utils/functions.ts +67 -0
- package/src/libs/utils/ordernum-utils.ts +18 -0
- package/src/libs/utils/parseConfig.ts +62 -0
- package/src/libs/utils/parseCreateSql.ts +91 -0
- package/src/libs/utils/render-utils.ts +184 -0
- package/src/middleware/forbidden.middleware.ts +71 -0
- package/src/middleware/global.middleware.ts +278 -0
- package/src/middleware/permission.middleware.ts +81 -0
- package/src/middleware/tx.middleware.ts +30 -0
- package/src/models/SystemEntities.ts +115 -0
- package/src/models/SystemPerm.ts +105 -0
- package/src/models/SystemTables.ts +30 -0
- package/src/models/bizmodels.ts +89 -0
- package/src/models/contextLogger.ts +132 -0
- package/src/models/devops.ts +17 -0
- package/src/models/userSession.ts +216 -0
- package/src/schedule/index.ts +73 -0
- package/src/service/AuthService.ts +270 -0
- package/src/service/EnumInfoService.ts +129 -0
- package/src/service/FileCenterService.ts +394 -0
- package/src/service/SysConfigService.ts +34 -0
- package/src/service/UserAccountService.ts +100 -0
- package/src/service/UserSessionService.ts +81 -0
- package/src/service/VisitStatService.ts +179 -0
- package/src/service/WorkbenchService.ts +160 -0
- package/src/service/anyapi/AnyApiSandboxService.ts +121 -0
- package/src/service/anyapi/AnyApiService.ts +184 -0
- package/src/service/base/ApiBaseService.ts +42 -0
- package/src/service/base/ApiRateLimiter.ts +59 -0
- package/src/service/base/BaseService.ts +74 -0
- package/src/service/base/RedisCacheService.ts +38 -0
- package/src/service/crudstd/CrudStdActionService.ts +27 -0
- package/src/service/crudstd/CrudStdConstant.ts +62 -0
- package/src/service/crudstd/CrudStdRelationService.ts +78 -0
- package/src/service/crudstd/CrudStdService.ts +188 -0
- package/src/service/curd/CurdMixByAccountService.ts +83 -0
- package/src/service/curd/CurdMixByDictService.ts +113 -0
- package/src/service/curd/CurdMixByLinkToCustomService.ts +167 -0
- package/src/service/curd/CurdMixBySysConfigService.ts +78 -0
- package/src/service/curd/CurdMixByWorkbenchService.ts +68 -0
- package/src/service/curd/CurdMixService.ts +65 -0
- package/src/service/curd/CurdMixUtils.ts +248 -0
- package/src/service/curd/CurdProService.ts +379 -0
- package/src/service/proxyapi/ProxyApiLoadService.ts +165 -0
- package/src/service/proxyapi/ProxyApiService.ts +262 -0
- package/src/service/proxyapi/ProxyApiUtils.ts +32 -0
- package/src/service/proxyapi/RouteHandler.ts +8 -0
- package/src/service/proxyapi/RouteTrie.ts +74 -0
- package/src/service/proxyapi/WeightedRandom.ts +37 -0
- package/src/service/proxyapi/WeightedRoundRobin.ts +44 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//
|
|
3
|
+
// // 定义 PostgreSQL 数据类型 OID 映射
|
|
4
|
+
// const PG_TYPE_OIDS = {
|
|
5
|
+
// INT2: 21, // smallint
|
|
6
|
+
// INT4: 23, // integer
|
|
7
|
+
// INT8: 20, // bigint
|
|
8
|
+
// FLOAT4: 700, // real
|
|
9
|
+
// FLOAT8: 701, // double precision
|
|
10
|
+
// NUMERIC: 1700, // numeric
|
|
11
|
+
// MONEY: 790, // money
|
|
12
|
+
// BOOL: 16, // boolean
|
|
13
|
+
// DATE: 1082, // date
|
|
14
|
+
// TIMESTAMP: 1114, // timestamp without time zone
|
|
15
|
+
// TIMESTAMPTZ: 1184, // timestamp with time zone
|
|
16
|
+
// JSON: 114, // json
|
|
17
|
+
// JSONB: 3802, // jsonb
|
|
18
|
+
// };
|
|
19
|
+
//
|
|
20
|
+
//
|
|
21
|
+
//
|
|
22
|
+
// /**
|
|
23
|
+
// * 将 PostgreSQL 数据类型转换为 JavaScript 类型
|
|
24
|
+
// * @param {any} value - 原始值
|
|
25
|
+
// * @param {number} oid - 数据类型 OID
|
|
26
|
+
// * @returns {any} 转换后的值
|
|
27
|
+
// */
|
|
28
|
+
// function convertPgType(value: any, oid: any) {
|
|
29
|
+
// // 如果值为 null,直接返回
|
|
30
|
+
// if (value === null) {
|
|
31
|
+
// return null;
|
|
32
|
+
// }
|
|
33
|
+
//
|
|
34
|
+
// const typeOfValue = typeof value;
|
|
35
|
+
// if (typeOfValue === 'undefined') {
|
|
36
|
+
// return null;
|
|
37
|
+
// }
|
|
38
|
+
// if (typeOfValue === 'number' || typeOfValue === "boolean" || typeOfValue === "object") {
|
|
39
|
+
// return value;
|
|
40
|
+
// }
|
|
41
|
+
// if (typeOfValue === 'bigint') {
|
|
42
|
+
// return value.toString()
|
|
43
|
+
// }
|
|
44
|
+
//
|
|
45
|
+
// switch (oid) {
|
|
46
|
+
// // 整数类型(全部转为 Number)
|
|
47
|
+
// case PG_TYPE_OIDS.INT2: // smallint
|
|
48
|
+
// case PG_TYPE_OIDS.INT4: // integer
|
|
49
|
+
// return Number(value);
|
|
50
|
+
// case PG_TYPE_OIDS.INT8: // bigint
|
|
51
|
+
// return value;
|
|
52
|
+
//
|
|
53
|
+
// // 浮点类型
|
|
54
|
+
// case PG_TYPE_OIDS.FLOAT4: // real
|
|
55
|
+
// case PG_TYPE_OIDS.FLOAT8: // double precision
|
|
56
|
+
// case PG_TYPE_OIDS.NUMERIC: // numeric
|
|
57
|
+
// case PG_TYPE_OIDS.MONEY: // money
|
|
58
|
+
// return Number(value);
|
|
59
|
+
//
|
|
60
|
+
// // 布尔类型
|
|
61
|
+
// case PG_TYPE_OIDS.BOOL:
|
|
62
|
+
// if (typeof value === 'boolean') {
|
|
63
|
+
// return value;
|
|
64
|
+
// }
|
|
65
|
+
// return value === 't' || value === 'true' || value === true;
|
|
66
|
+
//
|
|
67
|
+
// // 日期/时间类型
|
|
68
|
+
// case PG_TYPE_OIDS.DATE:
|
|
69
|
+
// return new Date(value).toISOString().split('T')[0];
|
|
70
|
+
//
|
|
71
|
+
// case PG_TYPE_OIDS.TIMESTAMP:
|
|
72
|
+
// case PG_TYPE_OIDS.TIMESTAMPTZ:
|
|
73
|
+
// return new Date(value).toISOString();
|
|
74
|
+
//
|
|
75
|
+
// // JSON 类型
|
|
76
|
+
// case PG_TYPE_OIDS.JSON:
|
|
77
|
+
// case PG_TYPE_OIDS.JSONB:
|
|
78
|
+
// // try {
|
|
79
|
+
// // return JSON.parse(value);
|
|
80
|
+
// // } catch (e) {
|
|
81
|
+
// // return value; // 解析失败时返回原始值
|
|
82
|
+
// // }
|
|
83
|
+
//
|
|
84
|
+
// // 默认不转换
|
|
85
|
+
// default:
|
|
86
|
+
// return value;
|
|
87
|
+
// }
|
|
88
|
+
// }
|
|
89
|
+
//
|
|
90
|
+
//
|
|
91
|
+
// /**
|
|
92
|
+
// * 获取并转换PG查询结果的数据类型
|
|
93
|
+
// * @param result
|
|
94
|
+
// */
|
|
95
|
+
// function pickAndConvertPgRows(result: any): any[] {
|
|
96
|
+
// if (!result || !Array.isArray(result.rows)) {
|
|
97
|
+
// return [];
|
|
98
|
+
// }
|
|
99
|
+
//
|
|
100
|
+
// console.log('',convertPgType)
|
|
101
|
+
// try {
|
|
102
|
+
// // 获取字段类型 OID
|
|
103
|
+
// const fieldTypes = result.fields.map((field: any) => field.dataTypeID);
|
|
104
|
+
//
|
|
105
|
+
// // 转换每一行的数据类型
|
|
106
|
+
// return result.rows.map((row:any) => {
|
|
107
|
+
// const convertedRow = {};
|
|
108
|
+
// Object.keys(row).forEach((key, index) => {
|
|
109
|
+
// const value = row[key];
|
|
110
|
+
// const oid = fieldTypes[index];
|
|
111
|
+
// convertedRow[key] = convertPgType(value, oid);
|
|
112
|
+
// });
|
|
113
|
+
// return convertedRow;
|
|
114
|
+
// });
|
|
115
|
+
// } catch (e) {
|
|
116
|
+
// console.error('pickAndConvertPgRows', e);
|
|
117
|
+
// }
|
|
118
|
+
// return [];
|
|
119
|
+
// }
|
|
120
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
121
|
+
exports.pickAndConvertPgRows = void 0;
|
|
122
|
+
function pickAndConvertPgRows(result) {
|
|
123
|
+
if (!result || !Array.isArray(result.rows)) {
|
|
124
|
+
return [];
|
|
125
|
+
}
|
|
126
|
+
return result.rows;
|
|
127
|
+
}
|
|
128
|
+
exports.pickAndConvertPgRows = pickAndConvertPgRows;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface ICommonResult {
|
|
2
|
+
success: boolean;
|
|
3
|
+
data?: any;
|
|
4
|
+
message?: string;
|
|
5
|
+
code?: string;
|
|
6
|
+
debugInfo?: any;
|
|
7
|
+
}
|
|
8
|
+
export declare class CommonResult implements ICommonResult {
|
|
9
|
+
code: string;
|
|
10
|
+
data: any;
|
|
11
|
+
message: string;
|
|
12
|
+
success: boolean;
|
|
13
|
+
debugInfo: any;
|
|
14
|
+
static successNotNull(data?: any): CommonResult;
|
|
15
|
+
static successRes(data?: any): CommonResult;
|
|
16
|
+
static successMsg(message: string, data?: any): CommonResult;
|
|
17
|
+
static errorRes(message: string, errorCode?: string, debugInfo?: any): CommonResult;
|
|
18
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommonResult = void 0;
|
|
4
|
+
class CommonResult {
|
|
5
|
+
static successNotNull(data) {
|
|
6
|
+
const res = new CommonResult();
|
|
7
|
+
if (data) {
|
|
8
|
+
res.success = true;
|
|
9
|
+
res.data = data;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
res.success = false;
|
|
13
|
+
res.message = '对象找不到';
|
|
14
|
+
}
|
|
15
|
+
return res;
|
|
16
|
+
}
|
|
17
|
+
static successRes(data) {
|
|
18
|
+
const res = new CommonResult();
|
|
19
|
+
res.success = true;
|
|
20
|
+
res.data = data;
|
|
21
|
+
return res;
|
|
22
|
+
}
|
|
23
|
+
static successMsg(message, data) {
|
|
24
|
+
const res = new CommonResult();
|
|
25
|
+
res.success = true;
|
|
26
|
+
res.message = message;
|
|
27
|
+
res.data = data;
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
static errorRes(message, errorCode = '', debugInfo = null) {
|
|
31
|
+
const res = new CommonResult();
|
|
32
|
+
res.success = false;
|
|
33
|
+
res.data = null;
|
|
34
|
+
res.message = message;
|
|
35
|
+
res.code = errorCode;
|
|
36
|
+
res.debugInfo = debugInfo;
|
|
37
|
+
return res;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.CommonResult = CommonResult;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.privateAES = void 0;
|
|
4
|
+
const crypto = require("crypto");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const md5 = require("md5");
|
|
8
|
+
const aes_128_cbc_1 = require("aes-128-cbc");
|
|
9
|
+
function hashUtf8Hex(data) {
|
|
10
|
+
const hash = crypto.createHash('sha256');
|
|
11
|
+
const chunkSize = 1024; // 每次处理 1MB 数据
|
|
12
|
+
for (let i = 0; i < data.length; i += chunkSize) {
|
|
13
|
+
const chunk = data.slice(i, i + chunkSize);
|
|
14
|
+
const inputBuffer = Buffer.from(chunk, 'utf8');
|
|
15
|
+
hash.update(inputBuffer);
|
|
16
|
+
}
|
|
17
|
+
return hash.digest('hex');
|
|
18
|
+
}
|
|
19
|
+
function readSeed1() {
|
|
20
|
+
// 这个文件肯定存在
|
|
21
|
+
const t = path.join(__dirname, '../../config/seed/aeskey.txt');
|
|
22
|
+
return fs.readFileSync(t, 'utf-8');
|
|
23
|
+
}
|
|
24
|
+
function readSeed2() {
|
|
25
|
+
const filePath = path.join(__dirname, '../../../config/seed/aeskey.txt');
|
|
26
|
+
if (!fs.existsSync(filePath)) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return fs.readFileSync(filePath, 'utf-8');
|
|
30
|
+
}
|
|
31
|
+
function createAes128BySeedContent(seedContent) {
|
|
32
|
+
const hash1 = hashUtf8Hex(seedContent.trim());
|
|
33
|
+
const key = md5(hash1);
|
|
34
|
+
const iv = md5(key + hash1);
|
|
35
|
+
return new aes_128_cbc_1.Aes128CBC(key, iv);
|
|
36
|
+
}
|
|
37
|
+
function createAes128BySeedFile() {
|
|
38
|
+
const seed2 = readSeed2();
|
|
39
|
+
if (seed2) {
|
|
40
|
+
return createAes128BySeedContent(seed2);
|
|
41
|
+
}
|
|
42
|
+
const seed1 = readSeed1();
|
|
43
|
+
return createAes128BySeedContent(seed1);
|
|
44
|
+
}
|
|
45
|
+
const privateAES = createAes128BySeedFile();
|
|
46
|
+
exports.privateAES = privateAES;
|
|
@@ -0,0 +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>;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseStringTrimArray = exports.parseJsonObject = exports.createUniqueId = void 0;
|
|
4
|
+
const md5 = require("md5");
|
|
5
|
+
let createUniqueIdIndex = 0;
|
|
6
|
+
function createUniqueId() {
|
|
7
|
+
createUniqueIdIndex++;
|
|
8
|
+
const p1 = md5(Date.now() + '' + Math.random() + '_' + createUniqueIdIndex);
|
|
9
|
+
const p2 = Date.now().toString(32);
|
|
10
|
+
return p1 + p2;
|
|
11
|
+
}
|
|
12
|
+
exports.createUniqueId = createUniqueId;
|
|
13
|
+
function parseJsonObject(str) {
|
|
14
|
+
if (typeof str === 'object') {
|
|
15
|
+
return str;
|
|
16
|
+
}
|
|
17
|
+
if (typeof str === 'string') {
|
|
18
|
+
str = str.trim();
|
|
19
|
+
if (str.startsWith('{') || str.startsWith('[')) {
|
|
20
|
+
try {
|
|
21
|
+
return JSON.parse(str);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
exports.parseJsonObject = parseJsonObject;
|
|
31
|
+
function trimStringArray(obj) {
|
|
32
|
+
return obj
|
|
33
|
+
.map(s => {
|
|
34
|
+
if (typeof s === 'string') {
|
|
35
|
+
return s.trim();
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
})
|
|
39
|
+
.filter(Boolean);
|
|
40
|
+
}
|
|
41
|
+
function parseStringTrimArray(obj, separator = ',') {
|
|
42
|
+
if (Array.isArray(obj)) {
|
|
43
|
+
return trimStringArray(obj);
|
|
44
|
+
}
|
|
45
|
+
if (typeof obj === 'string') {
|
|
46
|
+
const str = obj.trim();
|
|
47
|
+
if (str.length > 0) {
|
|
48
|
+
// 可能是一个JSON数组
|
|
49
|
+
if (str.startsWith('[') && str.endsWith(']')) {
|
|
50
|
+
const arr = parseJsonObject(str);
|
|
51
|
+
return trimStringArray(arr);
|
|
52
|
+
}
|
|
53
|
+
// 使用分隔符分隔
|
|
54
|
+
if (str.includes(separator)) {
|
|
55
|
+
const arr = str.split(separator);
|
|
56
|
+
return trimStringArray(arr);
|
|
57
|
+
}
|
|
58
|
+
return [str];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
exports.parseStringTrimArray = parseStringTrimArray;
|
|
@@ -0,0 +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;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseConfigContentToEnumInfo = void 0;
|
|
4
|
+
const _ = require("lodash");
|
|
5
|
+
const functions_1 = require("./functions");
|
|
6
|
+
function parseTreeTableToIEnumInfo(dataSource) {
|
|
7
|
+
if (!dataSource || !Array.isArray(dataSource)) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
return dataSource.map((item) => {
|
|
11
|
+
const { key, nodeName, value, label } = item;
|
|
12
|
+
const children = parseTreeTableToIEnumInfo(item.children);
|
|
13
|
+
const enumInfo = {
|
|
14
|
+
label: label || nodeName,
|
|
15
|
+
value: value || key,
|
|
16
|
+
};
|
|
17
|
+
if (children) {
|
|
18
|
+
enumInfo.children = children;
|
|
19
|
+
}
|
|
20
|
+
return enumInfo;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function parseConfigContentToEnumInfo(configEntity) {
|
|
24
|
+
const { config_content, config_type } = configEntity;
|
|
25
|
+
const configObj = (0, functions_1.parseJsonObject)(config_content);
|
|
26
|
+
if (!configObj) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
if (config_type === 'treeTable') {
|
|
30
|
+
const dataSource = _.get(configObj, 'data.dataSource');
|
|
31
|
+
if (Array.isArray(dataSource)) {
|
|
32
|
+
return parseTreeTableToIEnumInfo(dataSource);
|
|
33
|
+
}
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
if (configObj.data && Array.isArray(configObj.data)) {
|
|
37
|
+
return configObj.data;
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(configObj)) {
|
|
40
|
+
return configObj;
|
|
41
|
+
}
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
exports.parseConfigContentToEnumInfo = parseConfigContentToEnumInfo;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCreateSqlToTitleMap = void 0;
|
|
4
|
+
function isChineseChar(char) {
|
|
5
|
+
const reg = /[\u4e00-\u9fff]/;
|
|
6
|
+
return reg.test(char);
|
|
7
|
+
}
|
|
8
|
+
function isLetterOrNumber(char) {
|
|
9
|
+
const reg = /^[a-zA-Z0-9]$/;
|
|
10
|
+
return reg.test(char);
|
|
11
|
+
}
|
|
12
|
+
function isTitleValidChar(c) {
|
|
13
|
+
return isChineseChar(c) || isLetterOrNumber(c) || c === ' ';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 移除引号
|
|
17
|
+
* @param s
|
|
18
|
+
*/
|
|
19
|
+
function parseTableFieldTitleFromComment(s) {
|
|
20
|
+
if (!s) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
s = s.trim();
|
|
24
|
+
s = s.replace(/'/gm, '');
|
|
25
|
+
const arr = [];
|
|
26
|
+
for (let i = 0; i < s.length; i++) {
|
|
27
|
+
const c = s.charAt(i);
|
|
28
|
+
if (isTitleValidChar(c)) {
|
|
29
|
+
arr.push(c);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return arr.join('');
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 从最后一行中提取表格的标题
|
|
39
|
+
* @param arr
|
|
40
|
+
*/
|
|
41
|
+
function parseTableTitle(arr) {
|
|
42
|
+
if (arr.length === 0) {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
// 最后一行
|
|
46
|
+
const key = ' COMMENT=';
|
|
47
|
+
const lastStr = arr[arr.length - 1].toUpperCase();
|
|
48
|
+
const s = lastStr.indexOf(key);
|
|
49
|
+
if (s < 0) {
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
const c = lastStr.substring(s + key.length).trim();
|
|
53
|
+
return parseTableFieldTitleFromComment(c);
|
|
54
|
+
}
|
|
55
|
+
function parseCreateSqlToTitleMap(createSqlStr) {
|
|
56
|
+
if (!createSqlStr) {
|
|
57
|
+
return {
|
|
58
|
+
tableTitle: '',
|
|
59
|
+
fieldsTitleMap: {},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const titleMap = {};
|
|
63
|
+
const arr0 = createSqlStr.split('\n').map(s => {
|
|
64
|
+
return s.trim();
|
|
65
|
+
});
|
|
66
|
+
const tableTitle = parseTableTitle(arr0);
|
|
67
|
+
let arr = arr0.filter(s => {
|
|
68
|
+
return !(s.endsWith('(') || s.startsWith('('));
|
|
69
|
+
});
|
|
70
|
+
arr = arr.filter(s => {
|
|
71
|
+
return s.includes(' COMMENT ');
|
|
72
|
+
});
|
|
73
|
+
for (let i = 0; i < arr.length; i++) {
|
|
74
|
+
const arrElement = arr[i].split(' COMMENT ');
|
|
75
|
+
const e0 = arrElement[0];
|
|
76
|
+
const e1 = arrElement[1];
|
|
77
|
+
const keyArr = e0.split(' ');
|
|
78
|
+
const field = keyArr[0].replace(/`/gm, '');
|
|
79
|
+
titleMap[field] = parseTableFieldTitleFromComment(e1).trim();
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
tableTitle,
|
|
83
|
+
fieldsTitleMap: titleMap, // 列标题
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports.parseCreateSqlToTitleMap = parseCreateSqlToTitleMap;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Context } from '@midwayjs/koa';
|
|
2
|
+
interface IRenderUtilsProps {
|
|
3
|
+
ctx: Context;
|
|
4
|
+
package_assets: any;
|
|
5
|
+
workbenchInfo: any;
|
|
6
|
+
userInfo?: any;
|
|
7
|
+
appInfo?: any;
|
|
8
|
+
fatcmscsrftoken: string;
|
|
9
|
+
}
|
|
10
|
+
declare class RenderUtils {
|
|
11
|
+
private readonly ctx;
|
|
12
|
+
private readonly fileList;
|
|
13
|
+
private readonly workbenchInfo;
|
|
14
|
+
private readonly userInfo;
|
|
15
|
+
private readonly appInfo;
|
|
16
|
+
private readonly fatcmscsrftoken;
|
|
17
|
+
constructor(props: IRenderUtilsProps);
|
|
18
|
+
renderCsrfToken(): string;
|
|
19
|
+
renderUserInfo(): string;
|
|
20
|
+
renderWorkbenchInfo(): string;
|
|
21
|
+
renderAppInfo(): string;
|
|
22
|
+
renderCookieInfo(keys: string): string;
|
|
23
|
+
renderJsAssets(): string;
|
|
24
|
+
renderCssAssets(): string;
|
|
25
|
+
renderExtLocalLoaderPortByDevHeader(): string;
|
|
26
|
+
}
|
|
27
|
+
declare function createRenderUtils(props: IRenderUtilsProps): RenderUtils;
|
|
28
|
+
export { createRenderUtils };
|