midway-fatcms 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/config.default.js +5 -3
- package/dist/configuration.d.ts +0 -3
- package/dist/configuration.js +0 -19
- package/dist/controller/gateway/ProxyApiGatewayController.d.ts +0 -2
- package/dist/controller/gateway/ProxyApiGatewayController.js +0 -18
- package/dist/controller/helpers.controller.d.ts +4 -5
- package/dist/controller/helpers.controller.js +56 -14
- package/dist/controller/manage/AccountRoleManageApi.js +3 -5
- package/dist/controller/manage/AnyApiMangeApi.js +4 -3
- package/dist/controller/manage/AppMangeApi.js +3 -4
- package/dist/controller/manage/AppPageMangeApi.js +4 -3
- package/dist/controller/manage/CrudMethodsMangeApi.js +3 -4
- package/dist/controller/manage/DataDictManageApi.js +6 -7
- package/dist/controller/manage/DeployManageApi.js +4 -5
- package/dist/controller/manage/FlowConfigManageApi.js +3 -5
- package/dist/controller/manage/MenuManageApi.js +3 -4
- package/dist/controller/manage/ProxyApiMangeApi.js +3 -4
- package/dist/controller/manage/SysConfigMangeApi.js +3 -3
- package/dist/controller/manage/SystemInfoManageApi.js +3 -1
- package/dist/controller/manage/WorkbenchMangeApi.js +3 -4
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/libs/crud-pro/models/TransactionSqlServer.js +27 -4
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.d.ts +5 -8
- package/dist/libs/crud-pro/services/CrudProCachedCfgService.js +25 -42
- package/dist/libs/crud-pro/services/CrudProDataTypeConvertService.d.ts +2 -37
- package/dist/libs/crud-pro/services/CrudProDataTypeConvertService.js +137 -213
- package/dist/libs/crud-pro/utils/CrudMonitor.d.ts +0 -9
- package/dist/libs/crud-pro/utils/CrudMonitor.js +0 -21
- package/dist/libs/crud-pro/utils/MixinUtils.d.ts +2 -17
- package/dist/libs/crud-pro/utils/MixinUtils.js +4 -84
- package/dist/libs/crud-pro/utils/idgene/generateSnowflakeId.d.ts +12 -0
- package/dist/libs/crud-pro/utils/idgene/generateSnowflakeId.js +61 -0
- package/dist/libs/crud-pro/utils/idgene/generateSnowflakeIdExt.d.ts +19 -0
- package/dist/libs/crud-pro/utils/idgene/generateSnowflakeIdExt.js +89 -0
- package/dist/libs/crud-pro/utils/idgene/index.d.ts +3 -0
- package/dist/libs/crud-pro/utils/idgene/index.js +10 -0
- package/dist/libs/crud-pro/utils/idgene/uuid.d.ts +7 -0
- package/dist/libs/crud-pro/utils/idgene/uuid.js +28 -0
- package/dist/libs/crud-pro/utils/pool/SqlServerUtils.js +26 -0
- package/dist/libs/crud-pro-quick/fixSoftDelete.d.ts +0 -17
- package/dist/libs/crud-pro-quick/fixSoftDelete.js +55 -5
- package/dist/libs/crud-pro-quick/models.d.ts +11 -1
- package/dist/middleware/cacherefresh.middleware.d.ts +3 -46
- package/dist/middleware/cacherefresh.middleware.js +9 -67
- package/dist/models/CacheRefreshCategory.d.ts +1 -18
- package/dist/models/CacheRefreshCategory.js +0 -17
- package/dist/models/SystemEntities.d.ts +2 -0
- package/dist/models/bizmodels.d.ts +0 -8
- package/dist/models/bizmodels.js +0 -8
- package/dist/schedule/scheduleNames.d.ts +2 -0
- package/dist/schedule/scheduleNames.js +3 -1
- package/dist/service/SysAppService.d.ts +0 -6
- package/dist/service/SysAppService.js +10 -79
- package/dist/service/SysConfigService.d.ts +0 -6
- package/dist/service/SysConfigService.js +6 -51
- package/dist/service/SysDictDataService.d.ts +0 -5
- package/dist/service/SysDictDataService.js +7 -65
- package/dist/service/SysMenuService.d.ts +0 -4
- package/dist/service/SysMenuService.js +5 -44
- package/dist/service/WorkbenchService.d.ts +1 -6
- package/dist/service/WorkbenchService.js +9 -63
- package/dist/service/anyapi/AnyApiService.d.ts +1 -1
- package/dist/service/anyapi/AnyApiService.js +6 -16
- package/dist/service/base/bizmemcache/BizMemCacheService.d.ts +16 -0
- package/dist/service/base/bizmemcache/BizMemCacheService.js +241 -0
- package/dist/service/base/bizmemcache/BizMemCacheStore.d.ts +34 -0
- package/dist/service/base/bizmemcache/BizMemCacheStore.js +119 -0
- package/dist/service/base/bizmemcache/BizMemCacheTypes.d.ts +60 -0
- package/dist/service/base/bizmemcache/BizMemCacheTypes.js +18 -0
- package/dist/service/base/cache-refresh/CacheRefreshHub.d.ts +0 -22
- package/dist/service/base/cache-refresh/CacheRefreshHub.js +0 -22
- package/dist/service/base/cache-refresh/CacheRefreshHubScheduleService.d.ts +0 -6
- package/dist/service/base/cache-refresh/CacheRefreshHubScheduleService.js +0 -6
- package/dist/service/crudstd/CrudStdService.js +1 -1
- package/dist/service/curd/CurdMixByDictService.d.ts +0 -4
- package/dist/service/curd/CurdMixByDictService.js +9 -55
- package/dist/service/curd/CurdMixBySysConfigService.d.ts +0 -5
- package/dist/service/curd/CurdMixBySysConfigService.js +9 -54
- package/dist/service/curd/CurdMixByWorkbenchService.d.ts +0 -1
- package/dist/service/curd/CurdMixByWorkbenchService.js +9 -36
- package/dist/service/curd/CurdProService.d.ts +0 -1
- package/dist/service/curd/CurdProService.js +0 -4
- package/dist/service/curd/fixCfgModel.js +21 -1
- package/dist/service/proxyapi/ProxyApiLoadService.d.ts +3 -8
- package/dist/service/proxyapi/ProxyApiLoadService.js +40 -68
- package/dist/service/proxyapi/ProxyApiService.d.ts +2 -0
- package/dist/service/proxyapi/ProxyApiService.js +32 -9
- package/dist/service/proxyapi/RouteTrie.d.ts +1 -7
- package/dist/service/proxyapi/RouteTrie.js +1 -17
- package/package.json +1 -1
- package/src/config/config.default.ts +4 -2
- package/src/configuration.ts +0 -23
- package/src/controller/gateway/ProxyApiGatewayController.ts +1 -9
- package/src/controller/helpers.controller.ts +66 -15
- package/src/controller/manage/AccountRoleManageApi.ts +3 -5
- package/src/controller/manage/AnyApiMangeApi.ts +4 -3
- package/src/controller/manage/AppMangeApi.ts +4 -5
- package/src/controller/manage/AppPageMangeApi.ts +4 -3
- package/src/controller/manage/CrudMethodsMangeApi.ts +4 -5
- package/src/controller/manage/DataDictManageApi.ts +7 -8
- package/src/controller/manage/DeployManageApi.ts +2 -3
- package/src/controller/manage/FlowConfigManageApi.ts +3 -5
- package/src/controller/manage/MenuManageApi.ts +4 -5
- package/src/controller/manage/ProxyApiMangeApi.ts +4 -5
- package/src/controller/manage/SysConfigMangeApi.ts +5 -5
- package/src/controller/manage/SystemInfoManageApi.ts +3 -1
- package/src/controller/manage/WorkbenchMangeApi.ts +4 -5
- package/src/index.ts +3 -0
- package/src/libs/crud-pro/models/TransactionSqlServer.ts +26 -4
- package/src/libs/crud-pro/services/CrudProCachedCfgService.ts +25 -43
- package/src/libs/crud-pro/services/CrudProDataTypeConvertService.ts +149 -219
- package/src/libs/crud-pro/utils/CrudMonitor.ts +0 -23
- package/src/libs/crud-pro/utils/MixinUtils.ts +309 -400
- package/src/libs/crud-pro/utils/idgene/generateSnowflakeId.ts +65 -0
- package/src/libs/crud-pro/utils/idgene/generateSnowflakeIdExt.ts +99 -0
- package/src/libs/crud-pro/utils/idgene/index.ts +3 -0
- package/src/libs/crud-pro/utils/idgene/uuid.ts +26 -0
- package/src/libs/crud-pro/utils/pool/SqlServerUtils.ts +31 -0
- package/src/libs/crud-pro-quick/fixSoftDelete.ts +84 -18
- package/src/libs/crud-pro-quick/models.ts +15 -3
- package/src/middleware/cacherefresh.middleware.ts +10 -71
- package/src/models/CacheRefreshCategory.ts +0 -17
- package/src/models/SystemEntities.ts +2 -0
- package/src/models/bizmodels.ts +0 -8
- package/src/schedule/scheduleNames.ts +5 -3
- package/src/service/SysAppService.ts +7 -78
- package/src/service/SysConfigService.ts +4 -45
- package/src/service/SysDictDataService.ts +5 -64
- package/src/service/SysMenuService.ts +3 -40
- package/src/service/WorkbenchService.ts +9 -72
- package/src/service/anyapi/AnyApiService.ts +5 -17
- package/src/service/base/bizmemcache/BizMemCacheService.ts +290 -0
- package/src/service/base/bizmemcache/BizMemCacheStore.ts +159 -0
- package/src/service/base/bizmemcache/BizMemCacheTypes.ts +76 -0
- package/src/service/base/cache-refresh/CacheRefreshHub.ts +0 -22
- package/src/service/base/cache-refresh/CacheRefreshHubScheduleService.ts +0 -6
- package/src/service/crudstd/CrudStdService.ts +3 -2
- package/src/service/curd/CurdMixByDictService.ts +10 -61
- package/src/service/curd/CurdMixBySysConfigService.ts +9 -62
- package/src/service/curd/CurdMixByWorkbenchService.ts +7 -32
- package/src/service/curd/CurdProService.ts +0 -6
- package/src/service/curd/fixCfgModel.ts +145 -125
- package/src/service/proxyapi/ProxyApiLoadService.ts +39 -77
- package/src/service/proxyapi/ProxyApiService.ts +45 -9
- package/src/service/proxyapi/RouteTrie.ts +1 -18
|
@@ -4,6 +4,7 @@ import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
6
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
7
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
7
8
|
|
|
8
9
|
@Controller('/ns/api/manage/appPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeRead)] })
|
|
9
10
|
export class AppPageMangeApi extends BaseApiController {
|
|
@@ -24,7 +25,7 @@ export class AppPageMangeApi extends BaseApiController {
|
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
@Post('/createAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite)] })
|
|
28
|
+
@Post('/createAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite), refreshBizMemCache('sysAppPageCacheObj')] })
|
|
28
29
|
async createAppPage() {
|
|
29
30
|
return this.executeSysSimpleSQL('sys_app_page', KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
30
31
|
enableSoftDelete: true,
|
|
@@ -37,7 +38,7 @@ export class AppPageMangeApi extends BaseApiController {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
@Post('/updateAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite)] })
|
|
41
|
+
@Post('/updateAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite), refreshBizMemCache('sysAppPageCacheObj')] })
|
|
41
42
|
async updateAppPage() {
|
|
42
43
|
return this.executeSysSimpleSQL('sys_app_page', KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
43
44
|
enableSoftDelete: true,
|
|
@@ -47,7 +48,7 @@ export class AppPageMangeApi extends BaseApiController {
|
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
@Post('/deleteAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite)] })
|
|
51
|
+
@Post('/deleteAppPage', { middleware: [checkPermission(SystemFuncCode.AppPageMangeWrite), refreshBizMemCache('sysAppPageCacheObj')] })
|
|
51
52
|
async deleteAppPage() {
|
|
52
53
|
return this.executeSysSimpleSQL('sys_app_page', KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
53
54
|
enableSoftDelete: true,
|
|
@@ -3,8 +3,7 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import { CacheRefreshCategory } from '@/models/CacheRefreshCategory';
|
|
6
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
8
7
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
9
8
|
|
|
10
9
|
@Controller('/ns/api/manage/crudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiRead)] })
|
|
@@ -26,7 +25,7 @@ export class CrudMethodsMangeApi extends BaseApiController {
|
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
@Post('/createCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite),
|
|
28
|
+
@Post('/createCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite), refreshBizMemCache('crudMethodCacheObj')] })
|
|
30
29
|
async createCrudMethod() {
|
|
31
30
|
return this.executeSysSimpleSQL('sys_crud_methods', KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
32
31
|
enableSoftDelete: true,
|
|
@@ -36,7 +35,7 @@ export class CrudMethodsMangeApi extends BaseApiController {
|
|
|
36
35
|
});
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
@Post('/updateCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite),
|
|
38
|
+
@Post('/updateCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite), refreshBizMemCache('crudMethodCacheObj')] })
|
|
40
39
|
async updateCrudMethod() {
|
|
41
40
|
return this.executeSysSimpleSQL('sys_crud_methods', KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
42
41
|
enableSoftDelete: true,
|
|
@@ -46,7 +45,7 @@ export class CrudMethodsMangeApi extends BaseApiController {
|
|
|
46
45
|
});
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
@Post('/deleteCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite),
|
|
48
|
+
@Post('/deleteCrudMethod', { middleware: [checkPermission(SystemFuncCode.CrudMethodApiWrite), refreshBizMemCache('crudMethodCacheObj')] })
|
|
50
49
|
async deleteCrudMethod() {
|
|
51
50
|
return this.executeSysSimpleSQL('sys_crud_methods', KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
52
51
|
enableSoftDelete: true,
|
|
@@ -3,8 +3,7 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import { CacheNameEnum } from '@/models/bizmodels';
|
|
6
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
8
7
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
9
8
|
import { CommonResult } from "@/libs/utils/common-dto";
|
|
10
9
|
import { CommonException, Exceptions } from '@/libs/crud-pro/exceptions';
|
|
@@ -29,7 +28,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
29
28
|
});
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
@Post('/createDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
31
|
+
@Post('/createDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
33
32
|
async createDataDict() {
|
|
34
33
|
const body = this.ctx.request.body as any;
|
|
35
34
|
const dict_code = body?.data?.dict_code;
|
|
@@ -74,7 +73,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
74
73
|
return Number(row.deleted_at) !== 0;
|
|
75
74
|
}
|
|
76
75
|
|
|
77
|
-
@Post('/updateDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
76
|
+
@Post('/updateDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
78
77
|
async updateDataDict() {
|
|
79
78
|
return this.executeSysSimpleSQL('sys_data_dict', KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
80
79
|
enableSoftDelete: true,
|
|
@@ -84,7 +83,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
84
83
|
});
|
|
85
84
|
}
|
|
86
85
|
|
|
87
|
-
@Post('/deleteDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
86
|
+
@Post('/deleteDataDict', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
88
87
|
async deleteDataDict() {
|
|
89
88
|
const body = this.ctx.request.body as any;
|
|
90
89
|
const dict_code = body?.condition?.dict_code;
|
|
@@ -114,7 +113,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
114
113
|
});
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
@Post('/createDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
116
|
+
@Post('/createDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
118
117
|
async createDataDictItem() {
|
|
119
118
|
const body = this.ctx.request.body as any;
|
|
120
119
|
const dict_code = body?.data?.dict_code;
|
|
@@ -126,7 +125,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
126
125
|
});
|
|
127
126
|
}
|
|
128
127
|
|
|
129
|
-
@Post('/updateDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
128
|
+
@Post('/updateDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
130
129
|
async updateDataDictItem() {
|
|
131
130
|
return this.executeSysSimpleSQL('sys_data_dict_item', KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
132
131
|
enableSoftDelete: true,
|
|
@@ -136,7 +135,7 @@ export class DataDictManageApi extends BaseApiController {
|
|
|
136
135
|
});
|
|
137
136
|
}
|
|
138
137
|
|
|
139
|
-
@Post('/deleteDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite),
|
|
138
|
+
@Post('/deleteDataDictItem', { middleware: [checkPermission(SystemFuncCode.DataDictMangeWrite), refreshBizMemCache('dataDictItemCacheObj')] })
|
|
140
139
|
async deleteDataDictItem() {
|
|
141
140
|
return this.executeSysSimpleSQL('sys_data_dict_item', KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
142
141
|
enableSoftDelete: true,
|
|
@@ -2,8 +2,7 @@ import { Controller, Fields, Files, Inject, Post, Query } from '@midwayjs/core';
|
|
|
2
2
|
import { Context } from '@midwayjs/koa';
|
|
3
3
|
import { BaseApiController } from '../base/BaseApiController';
|
|
4
4
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
5
|
-
import {
|
|
6
|
-
import { CacheNameEnum } from '@/models/bizmodels';
|
|
5
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
7
6
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
8
7
|
import { CommonResult } from '@/libs/utils/common-dto';
|
|
9
8
|
import { AccessType, UploadCategoryType } from '@/models/bizmodels';
|
|
@@ -108,7 +107,7 @@ export class DeployManageApi extends BaseApiController {
|
|
|
108
107
|
/**
|
|
109
108
|
* 资源文件让其生效
|
|
110
109
|
*/
|
|
111
|
-
@Post('/releaseAssets', { middleware: [checkPermission(SystemFuncCode.AppMangeWrite),
|
|
110
|
+
@Post('/releaseAssets', { middleware: [checkPermission(SystemFuncCode.AppMangeWrite), refreshBizMemCache(['workbenchCachedObj', 'sysAppCacheObj', 'sysAppPageCacheObj'])] })
|
|
112
111
|
async releaseAssets(): Promise<CommonResult> {
|
|
113
112
|
const params = this.ctx.request.body as IReleaseAssetsParams;
|
|
114
113
|
if (typeof params.packageName !== 'string') {
|
|
@@ -4,8 +4,6 @@ import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { FLOW_TABLES } from "@/models/FlowModel";
|
|
6
6
|
import { checkPermission } from "@/middleware/permission.middleware";
|
|
7
|
-
import { refreshCache } from "@/middleware/cacherefresh.middleware";
|
|
8
|
-
import { CacheNameEnum } from "@/models/bizmodels";
|
|
9
7
|
import { SystemFuncCode } from "@/models/SystemPerm";
|
|
10
8
|
|
|
11
9
|
|
|
@@ -28,7 +26,7 @@ export class FlowConfigManageApi extends BaseApiController {
|
|
|
28
26
|
});
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
@Post('/createFlowConfig'
|
|
29
|
+
@Post('/createFlowConfig')
|
|
32
30
|
async createFlowConfig() {
|
|
33
31
|
return this.executeSysSimpleSQL(FLOW_TABLES.flow_config, KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
34
32
|
enableSoftDelete: true,
|
|
@@ -40,7 +38,7 @@ export class FlowConfigManageApi extends BaseApiController {
|
|
|
40
38
|
});
|
|
41
39
|
}
|
|
42
40
|
|
|
43
|
-
@Post('/updateFlowConfig'
|
|
41
|
+
@Post('/updateFlowConfig')
|
|
44
42
|
async updateFlowConfig() {
|
|
45
43
|
return this.executeSysSimpleSQL(FLOW_TABLES.flow_config, KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
46
44
|
enableSoftDelete: true,
|
|
@@ -52,7 +50,7 @@ export class FlowConfigManageApi extends BaseApiController {
|
|
|
52
50
|
});
|
|
53
51
|
}
|
|
54
52
|
|
|
55
|
-
@Post('/deleteFlowConfig'
|
|
53
|
+
@Post('/deleteFlowConfig')
|
|
56
54
|
async deleteFlowConfig() {
|
|
57
55
|
return this.executeSysSimpleSQL(FLOW_TABLES.flow_config, KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
58
56
|
enableSoftDelete: true,
|
|
@@ -3,8 +3,7 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import { CacheNameEnum } from '@/models/bizmodels';
|
|
6
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
8
7
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
9
8
|
import { SystemTables } from '@/models/SystemTables';
|
|
10
9
|
|
|
@@ -29,7 +28,7 @@ export class MenuManageApi extends BaseApiController {
|
|
|
29
28
|
});
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
@Post('/createMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite),
|
|
31
|
+
@Post('/createMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite), refreshBizMemCache('sysMenuCacheObj')] })
|
|
33
32
|
async createMenu() {
|
|
34
33
|
return this.executeSysSimpleSQL(SystemTables.sys_menus, KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
35
34
|
enableSoftDelete: true,
|
|
@@ -41,7 +40,7 @@ export class MenuManageApi extends BaseApiController {
|
|
|
41
40
|
});
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
@Post('/updateMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite),
|
|
43
|
+
@Post('/updateMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite), refreshBizMemCache('sysMenuCacheObj')] })
|
|
45
44
|
async updateMenu() {
|
|
46
45
|
return this.executeSysSimpleSQL(SystemTables.sys_menus, KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
47
46
|
enableSoftDelete: true,
|
|
@@ -52,7 +51,7 @@ export class MenuManageApi extends BaseApiController {
|
|
|
52
51
|
});
|
|
53
52
|
}
|
|
54
53
|
|
|
55
|
-
@Post('/deleteMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite),
|
|
54
|
+
@Post('/deleteMenu', { middleware: [checkPermission(SystemFuncCode.MenuMangeWrite), refreshBizMemCache('sysMenuCacheObj')] })
|
|
56
55
|
async deleteMenu() {
|
|
57
56
|
return this.executeSysSimpleSQL(SystemTables.sys_menus, KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
58
57
|
enableSoftDelete: true,
|
|
@@ -3,8 +3,7 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '../../libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '../../middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import { CacheRefreshCategory } from '../../models/CacheRefreshCategory';
|
|
6
|
+
import { refreshBizMemCache } from '../../middleware/cacherefresh.middleware';
|
|
8
7
|
import { SystemFuncCode } from '../../models/SystemPerm';
|
|
9
8
|
import { SystemTables } from '../../models/SystemTables';
|
|
10
9
|
|
|
@@ -23,7 +22,7 @@ export class ProxyApiMangeApi extends BaseApiController {
|
|
|
23
22
|
return this.executeSysSimpleSQL(SystemTables.sys_proxyapi, KeysOfSimpleSQL.SIMPLE_QUERY_ONE);
|
|
24
23
|
}
|
|
25
24
|
|
|
26
|
-
@Post('/createProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite),
|
|
25
|
+
@Post('/createProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite), refreshBizMemCache('sysProxyApiCacheObj')] })
|
|
27
26
|
async createProxyApi() {
|
|
28
27
|
return this.executeSysSimpleSQL(SystemTables.sys_proxyapi, KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
29
28
|
validateCfg: {
|
|
@@ -34,7 +33,7 @@ export class ProxyApiMangeApi extends BaseApiController {
|
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
35
|
|
|
37
|
-
@Post('/updateProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite),
|
|
36
|
+
@Post('/updateProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite), refreshBizMemCache('sysProxyApiCacheObj')] })
|
|
38
37
|
async updateProxyApi() {
|
|
39
38
|
return this.executeSysSimpleSQL(SystemTables.sys_proxyapi, KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
40
39
|
validateCfg: {
|
|
@@ -43,7 +42,7 @@ export class ProxyApiMangeApi extends BaseApiController {
|
|
|
43
42
|
});
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
@Post('/deleteProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite),
|
|
45
|
+
@Post('/deleteProxyApi', { middleware: [checkPermission(SystemFuncCode.ProxyApiManageWrite), refreshBizMemCache('sysProxyApiCacheObj')] })
|
|
47
46
|
async deleteProxyApi() {
|
|
48
47
|
return this.executeSysSimpleSQL(SystemTables.sys_proxyapi, KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
49
48
|
validateCfg: {
|
|
@@ -3,8 +3,8 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
7
|
+
import { CTX_WORKBENCH_CODE } from '@/models/bizmodels';
|
|
8
8
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
9
9
|
import { SystemTables } from '@/models/SystemTables';
|
|
10
10
|
import { CommonResult } from '@/libs/utils/common-dto';
|
|
@@ -35,7 +35,7 @@ export class SysConfigMangeApi extends BaseApiController {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
@Post('/createSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite),
|
|
38
|
+
@Post('/createSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite), refreshBizMemCache('sysConfgCacheObj')] })
|
|
39
39
|
async createSysConfig() {
|
|
40
40
|
return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_INSERT, {
|
|
41
41
|
enableSoftDelete: true,
|
|
@@ -51,7 +51,7 @@ export class SysConfigMangeApi extends BaseApiController {
|
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
@Post('/updateSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite),
|
|
54
|
+
@Post('/updateSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite), refreshBizMemCache('sysConfgCacheObj')] })
|
|
55
55
|
async updateSysConfig() {
|
|
56
56
|
const { SystemDbName, SystemDbType } = GLOBAL_STATIC_CONFIG.getConfig();
|
|
57
57
|
|
|
@@ -94,7 +94,7 @@ export class SysConfigMangeApi extends BaseApiController {
|
|
|
94
94
|
return result;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
@Post('/deleteSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite),
|
|
97
|
+
@Post('/deleteSysConfig', { middleware: [checkPermission(SystemFuncCode.SysConfigMangeWrite), refreshBizMemCache('sysConfgCacheObj')] })
|
|
98
98
|
async deleteSysConfig() {
|
|
99
99
|
return this.executeSysSimpleSQL('sys_configs', KeysOfSimpleSQL.SIMPLE_DELETE, {
|
|
100
100
|
enableSoftDelete: true,
|
|
@@ -5,6 +5,7 @@ import { BaseApiController } from '../base/BaseApiController';
|
|
|
5
5
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
6
6
|
import { CommonResult } from '@/libs/utils/common-dto';
|
|
7
7
|
import { CrudMonitor } from "@/libs/crud-pro/utils/CrudMonitor";
|
|
8
|
+
import { bizMemCacheStore } from '@/service/base/bizmemcache/BizMemCacheStore';
|
|
8
9
|
|
|
9
10
|
@Controller('/ns/api/manage/systemInfo',)
|
|
10
11
|
export class SystemInfoManageApi extends BaseApiController {
|
|
@@ -59,7 +60,8 @@ export class SystemInfoManageApi extends BaseApiController {
|
|
|
59
60
|
timeInfo,
|
|
60
61
|
envInfo,
|
|
61
62
|
networkInfo,
|
|
62
|
-
crudMonitorInfo: CrudMonitor
|
|
63
|
+
crudMonitorInfo: CrudMonitor,
|
|
64
|
+
bizMemCacheLastTime: bizMemCacheStore.getLastTimeSnapshot(),
|
|
63
65
|
});
|
|
64
66
|
}
|
|
65
67
|
}
|
|
@@ -3,8 +3,7 @@ import { Context } from '@midwayjs/koa';
|
|
|
3
3
|
import { KeysOfSimpleSQL, KeysOfValidators } from '@/libs/crud-pro/models/keys';
|
|
4
4
|
import { BaseApiController } from '../base/BaseApiController';
|
|
5
5
|
import { checkPermission } from '@/middleware/permission.middleware';
|
|
6
|
-
import {
|
|
7
|
-
import { CacheNameEnum } from '@/models/bizmodels';
|
|
6
|
+
import { refreshBizMemCache } from '@/middleware/cacherefresh.middleware';
|
|
8
7
|
import { SystemFuncCode } from '@/models/SystemPerm';
|
|
9
8
|
import { SystemTables } from '@/models/SystemTables';
|
|
10
9
|
|
|
@@ -27,7 +26,7 @@ export class WorkbenchMangeApi extends BaseApiController {
|
|
|
27
26
|
});
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
@Post('/createWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite),
|
|
29
|
+
@Post('/createWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite), refreshBizMemCache('workbenchCachedObj')] })
|
|
31
30
|
async createWorkbench() {
|
|
32
31
|
|
|
33
32
|
const body = this.ctx.request.body as any;
|
|
@@ -45,7 +44,7 @@ export class WorkbenchMangeApi extends BaseApiController {
|
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
@Post('/updateWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite),
|
|
47
|
+
@Post('/updateWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite), refreshBizMemCache('workbenchCachedObj')] })
|
|
49
48
|
async updateWorkbench() {
|
|
50
49
|
|
|
51
50
|
return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_UPDATE, {
|
|
@@ -57,7 +56,7 @@ export class WorkbenchMangeApi extends BaseApiController {
|
|
|
57
56
|
});
|
|
58
57
|
}
|
|
59
58
|
|
|
60
|
-
@Post('/deleteWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite),
|
|
59
|
+
@Post('/deleteWorkbench', { middleware: [checkPermission(SystemFuncCode.WorkbenchMangeWrite), refreshBizMemCache('workbenchCachedObj')] })
|
|
61
60
|
async deleteWorkbench() {
|
|
62
61
|
|
|
63
62
|
return this.executeSysSimpleSQL(SystemTables.sys_workbench, KeysOfSimpleSQL.SIMPLE_DELETE, {
|
package/src/index.ts
CHANGED
|
@@ -59,6 +59,9 @@ export * from './service/UserAccountService';
|
|
|
59
59
|
export * from './service/UserSessionService';
|
|
60
60
|
export * from './service/VisitStatService';
|
|
61
61
|
export * from './service/WorkbenchService';
|
|
62
|
+
export * from './service/base/bizmemcache/BizMemCacheService';
|
|
63
|
+
export * from './service/base/bizmemcache/BizMemCacheTypes';
|
|
64
|
+
export * from './service/base/bizmemcache/BizMemCacheStore';
|
|
62
65
|
export * from './service/anyapi/AnyApiSandboxService';
|
|
63
66
|
export * from './service/anyapi/AnyApiService';
|
|
64
67
|
export * from './service/base/ApiBaseService';
|
|
@@ -8,11 +8,16 @@ import * as _ from 'lodash';
|
|
|
8
8
|
class SqlServerConnectionClient implements IPoolConnectionClient {
|
|
9
9
|
originConnection: ConnectionPool;
|
|
10
10
|
private sqlServerTransaction: Transaction;
|
|
11
|
+
private isReleased: boolean = false;
|
|
11
12
|
constructor(originConnection: ConnectionPool) {
|
|
12
13
|
this.originConnection = originConnection;
|
|
14
|
+
CrudMonitor.mssqlGetConnectionCount++;
|
|
13
15
|
}
|
|
14
16
|
async query(sql: string, values: any[]): Promise<IPoolConnectionQueryResult> {
|
|
15
|
-
|
|
17
|
+
// 如果存在活跃的事务,请求应该绑定到事务上,否则事务不生效
|
|
18
|
+
const request = this.sqlServerTransaction
|
|
19
|
+
? new Request(this.sqlServerTransaction)
|
|
20
|
+
: new Request(this.originConnection);
|
|
16
21
|
|
|
17
22
|
if (Array.isArray(values)) {
|
|
18
23
|
for (let i = 0; i < values.length; i++) {
|
|
@@ -41,18 +46,35 @@ class SqlServerConnectionClient implements IPoolConnectionClient {
|
|
|
41
46
|
|
|
42
47
|
async commit() {
|
|
43
48
|
const tmpTx = this.sqlServerTransaction;
|
|
44
|
-
|
|
49
|
+
if (tmpTx) {
|
|
50
|
+
await tmpTx.commit();
|
|
51
|
+
}
|
|
45
52
|
}
|
|
46
53
|
|
|
47
54
|
async rollback() {
|
|
48
55
|
const tmpTx = this.sqlServerTransaction;
|
|
49
|
-
|
|
56
|
+
if (tmpTx) {
|
|
57
|
+
await tmpTx.rollback();
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
60
|
|
|
52
61
|
|
|
53
62
|
async release() {
|
|
63
|
+
if (this.isReleased) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.isReleased = true;
|
|
54
67
|
try {
|
|
55
|
-
|
|
68
|
+
// 如果有未结束的事务,先回滚
|
|
69
|
+
if (this.sqlServerTransaction) {
|
|
70
|
+
try {
|
|
71
|
+
await this.sqlServerTransaction.rollback();
|
|
72
|
+
} catch (e) {
|
|
73
|
+
// 事务可能已经回滚或提交,忽略错误
|
|
74
|
+
}
|
|
75
|
+
this.sqlServerTransaction = null;
|
|
76
|
+
}
|
|
77
|
+
CrudMonitor.mssqlReleaseConnectionCount++;
|
|
56
78
|
} catch (e) {
|
|
57
79
|
console.log('[crud-pro] SqlServerConnectionClient release ', e);
|
|
58
80
|
}
|
|
@@ -3,19 +3,28 @@ import { CrudProServiceBase } from './CrudProServiceBase';
|
|
|
3
3
|
import { IRequestCfgModel } from '../interfaces';
|
|
4
4
|
import { MixinUtils } from '../utils/MixinUtils';
|
|
5
5
|
import { ICurdProServiceHub } from '../models/ServiceHub';
|
|
6
|
-
// import { pickAndConvertRowsByMix } from '../utils/sqlConvert/convertMix';
|
|
7
|
-
import MemoryRefreshCache from '../utils/MemoryRefreshCache';
|
|
8
|
-
const DEFAULT_KEEP_TIME = 1000 * 60 * 60 * 24 * 365; // 内存缓存时间默认 1年
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
/** 由上层 BizMemCache 注入的方法配置缓存,key 为 method */
|
|
8
|
+
let externalMethodCacheMap: Record<string, IRequestCfgModel> | null = null;
|
|
11
9
|
|
|
12
|
-
function
|
|
13
|
-
const methodInfo: any = camelizeKeys(row);
|
|
10
|
+
export function parseCrudMethodInfo(row: any): IRequestCfgModel {
|
|
11
|
+
const methodInfo: any = camelizeKeys(row);
|
|
14
12
|
const configObject = MixinUtils.parseJsonObject(methodInfo.moreConfig) || {};
|
|
15
13
|
const sqlCfgList = MixinUtils.parseJsonObject(methodInfo.sqlCfgList) || [];
|
|
16
14
|
return { ...configObject, ...methodInfo, sqlCfgList };
|
|
17
15
|
}
|
|
18
16
|
|
|
17
|
+
/**
|
|
18
|
+
* 注入 CRUD 方法配置缓存(由 BizMemCache 加载后调用)
|
|
19
|
+
*/
|
|
20
|
+
export function setMethodCache(methodInfoList: IRequestCfgModel[] | null): void {
|
|
21
|
+
if (!methodInfoList) {
|
|
22
|
+
externalMethodCacheMap = null;
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
externalMethodCacheMap = MixinUtils.toMap(methodInfoList, item => item.method);
|
|
26
|
+
}
|
|
27
|
+
|
|
19
28
|
class CrudProCachedCfgService extends CrudProServiceBase {
|
|
20
29
|
constructor(serviceHub: ICurdProServiceHub) {
|
|
21
30
|
super(serviceHub);
|
|
@@ -30,26 +39,24 @@ class CrudProCachedCfgService extends CrudProServiceBase {
|
|
|
30
39
|
}
|
|
31
40
|
|
|
32
41
|
private async getCachedCfgByMethodInner(method: string, isEnableCache: boolean): Promise<IRequestCfgModel | null> {
|
|
33
|
-
// 不使用缓存
|
|
34
42
|
if (!isEnableCache) {
|
|
35
43
|
return await this.loadMethodInfo(method);
|
|
36
44
|
}
|
|
37
45
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const methodInfo = await methodCache.getItem(method);
|
|
44
|
-
if (methodInfo) {
|
|
45
|
-
return methodInfo;
|
|
46
|
+
if (externalMethodCacheMap) {
|
|
47
|
+
const methodInfo = externalMethodCacheMap[method];
|
|
48
|
+
if (methodInfo) {
|
|
49
|
+
return methodInfo;
|
|
50
|
+
}
|
|
46
51
|
}
|
|
52
|
+
|
|
53
|
+
// 缓存未就绪或未命中时,降级单条查询
|
|
47
54
|
return await this.loadMethodInfo(method);
|
|
48
55
|
}
|
|
49
56
|
|
|
50
|
-
private async loadMethodInfo(method: string): Promise<
|
|
57
|
+
private async loadMethodInfo(method: string): Promise<IRequestCfgModel | null> {
|
|
51
58
|
const { methodsTableName, sysDatabaseName, sysDatabaseDbType } = this.getContextCfg();
|
|
52
|
-
const sql = `select * from ${methodsTableName} where method = ? `;
|
|
59
|
+
const sql = `select * from ${methodsTableName} where method = ? `;
|
|
53
60
|
|
|
54
61
|
const baseInfo = {
|
|
55
62
|
sqlTable: methodsTableName,
|
|
@@ -60,35 +67,10 @@ class CrudProCachedCfgService extends CrudProServiceBase {
|
|
|
60
67
|
const queryRes = await this.executeUnsafeQuery(baseInfo, sql, [method]);
|
|
61
68
|
const rows2: any[] = queryRes.rows || [];
|
|
62
69
|
if (rows2.length > 0) {
|
|
63
|
-
return
|
|
70
|
+
return parseCrudMethodInfo(rows2[0]);
|
|
64
71
|
}
|
|
65
72
|
return null;
|
|
66
73
|
}
|
|
67
|
-
|
|
68
|
-
private async loadMethodInfoList(): Promise<any[]> {
|
|
69
|
-
const { methodsTableName, sysDatabaseName, sysDatabaseDbType } = this.getContextCfg();
|
|
70
|
-
const sql = `select * from ${methodsTableName}`; // 全部加载到内存
|
|
71
|
-
const baseInfo = {
|
|
72
|
-
sqlTable: methodsTableName,
|
|
73
|
-
sqlDatabase: sysDatabaseName,
|
|
74
|
-
sqlDbType: sysDatabaseDbType,
|
|
75
|
-
};
|
|
76
|
-
const queryRes = await this.executeUnsafeQuery(baseInfo, sql);
|
|
77
|
-
const rows2: any[] = queryRes.rows || [];
|
|
78
|
-
return rows2.map(row => {
|
|
79
|
-
return parseMethodInfo(row);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
74
|
}
|
|
83
75
|
|
|
84
76
|
export { CrudProCachedCfgService };
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* 清空 CRUD 方法配置缓存(独立函数,无需实例化 Service 即可调用)
|
|
88
|
-
*
|
|
89
|
-
* 清空后,下次请求会自动从数据库重新加载(懒加载刷新)。
|
|
90
|
-
* 适用于 manage 增删改触发刷新、定时刷新等场景。
|
|
91
|
-
*/
|
|
92
|
-
export function clearMethodCache(): void {
|
|
93
|
-
methodCache.clear();
|
|
94
|
-
}
|