@gct-paas/core 0.1.4-dev.11 → 0.1.4-dev.13
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/index.esm.min.js +4522 -0
- package/es/constants/core.mjs +5 -4
- package/es/constants/default-date-type/default-date-type.mjs +73 -21
- package/es/constants/editor-register/editor-register.mjs +17 -5
- package/es/constants/expression-type/BuiltOperators.mjs +152 -147
- package/es/constants/expression-type/FunctionKeys.mjs +75 -79
- package/es/constants/expression-type/editor.mjs +10 -3
- package/es/constants/expression-type/function.mjs +602 -613
- package/es/constants/expression-type/index.mjs +111 -113
- package/es/constants/expression-type/modeCfg.mjs +256 -263
- package/es/constants/expression-type/variable.mjs +43 -39
- package/es/constants/form-container-type/form-container-type.mjs +17 -5
- package/es/constants/index.d.ts +1 -0
- package/es/constants/index.mjs +31 -10
- package/es/constants/page-designer/model.mjs +15 -5
- package/es/constants/page-designer/regex.d.ts +2 -0
- package/es/constants/page-designer/regex.mjs +5 -0
- package/es/create-app-vue.mjs +15 -9
- package/es/enums/app-designer/index.d.ts +19 -0
- package/es/enums/app-designer/index.mjs +131 -63
- package/es/enums/appEnum.mjs +681 -360
- package/es/enums/appStateEnum.mjs +17 -10
- package/es/enums/authActionEnum.mjs +63 -51
- package/es/enums/breakpointEnum.mjs +27 -26
- package/es/enums/cacheEnum.mjs +22 -21
- package/es/enums/designEnum.mjs +110 -71
- package/es/enums/developer-center/integration.mjs +7 -6
- package/es/enums/exceptionEnum.mjs +21 -17
- package/es/enums/expressionEnum.d.ts +1 -1
- package/es/enums/expressionEnum.mjs +81 -74
- package/es/enums/globalEnum.mjs +59 -36
- package/es/enums/httpEnum.mjs +71 -61
- package/es/enums/index.mjs +44 -14
- package/es/enums/menuEnum.mjs +42 -38
- package/es/enums/page-designer/designer.mjs +403 -407
- package/es/enums/page-designer/index.d.ts +1 -0
- package/es/enums/page-designer/index.mjs +5 -0
- package/es/enums/page-designer/layout.d.ts +12 -0
- package/es/enums/page-designer/layout.mjs +17 -0
- package/es/enums/page-designer/panel.mjs +341 -213
- package/es/enums/page-designer/toolkit.mjs +13 -12
- package/es/enums/page-designer/widget.mjs +425 -338
- package/es/enums/pageEnum.mjs +14 -13
- package/es/enums/plugin-enum.mjs +23 -7
- package/es/enums/processEnum.mjs +95 -60
- package/es/enums/roleEnum.mjs +7 -6
- package/es/enums/sizeEnum.d.ts +18 -0
- package/es/enums/sizeEnum.mjs +28 -8
- package/es/global/gct/gct.mjs +84 -96
- package/es/global/index.mjs +1 -0
- package/es/hooks/index.mjs +4 -0
- package/es/hooks/use-app-inst/use-app-inst.mjs +11 -5
- package/es/hooks/use-modal/use-modal.mjs +16 -10
- package/es/hooks/use-sub-app-utils/use-sub-app-utils.mjs +43 -23
- package/es/hooks/useCopyToClipboard.mjs +50 -50
- package/es/index.mjs +125 -114
- package/es/interface/i-pinia-state/i-global-state.d.ts +0 -11
- package/es/locale/index.mjs +50 -57
- package/es/modules/env-manager/env-manager.const.mjs +16 -8
- package/es/modules/env-manager/env-manager.d.ts +2 -0
- package/es/modules/env-manager/env-manager.interface.d.ts +2 -0
- package/es/modules/env-manager/env-manager.interface.mjs +14 -7
- package/es/modules/env-manager/env-manager.mjs +108 -107
- package/es/modules/error-handler/error-handler.const.mjs +11 -16
- package/es/modules/error-handler/error-strategy.mjs +199 -175
- package/es/modules/error-handler/index.mjs +120 -106
- package/es/modules/mqtt/constants/mqtt.const.mjs +21 -24
- package/es/modules/mqtt/enums/mqtt-status.enum.mjs +23 -9
- package/es/modules/mqtt/index.mjs +4 -0
- package/es/modules/mqtt/mqtt-client.mjs +228 -261
- package/es/modules/mqtt/mqtt-manager.mjs +117 -77
- package/es/modules/platform-config/constants/index.mjs +4 -0
- package/es/modules/platform-config/constants/login.const.mjs +48 -45
- package/es/modules/platform-config/constants/org.const.mjs +57 -52
- package/es/modules/platform-config/constants/theme.const.mjs +11 -4
- package/es/modules/platform-config/constants/watermark.const.mjs +17 -12
- package/es/modules/platform-config/enums/deploy.enum.mjs +13 -6
- package/es/modules/platform-config/enums/login.enum.mjs +29 -15
- package/es/modules/platform-config/enums/platform.enum.mjs +16 -13
- package/es/modules/platform-config/index.mjs +9 -0
- package/es/modules/platform-config/store.mjs +68 -79
- package/es/modules/platform-config/useBasicSetting.mjs +47 -35
- package/es/modules/platform-config/useDeploySetting.mjs +29 -21
- package/es/modules/platform-config/useLoginSetting.mjs +151 -173
- package/es/modules/platform-config/useOrgSetting.mjs +63 -62
- package/es/modules/platform-config/useProjectSetting.mjs +14 -6
- package/es/modules/platform-config/useSecuritySetting.mjs +68 -56
- package/es/modules/platform-config/useThemeSetting.mjs +78 -59
- package/es/modules/platform-config/useWatermarkSetting.mjs +37 -23
- package/es/modules/user-stores/index.mjs +3 -0
- package/es/modules/user-stores/store/permission.store.mjs +27 -36
- package/es/modules/user-stores/store/tenant.store.mjs +20 -22
- package/es/modules/user-stores/store/user.store.mjs +94 -117
- package/es/router/index.mjs +25 -28
- package/es/setup-app.mjs +23 -39
- package/es/state/global-pinia-state/global-pinia-state.d.ts +0 -6
- package/es/state/global-pinia-state/global-pinia-state.mjs +43 -71
- package/es/state/index.mjs +1 -0
- package/es/store/global-store.mjs +50 -72
- package/es/store/index.mjs +25 -19
- package/es/types/index.d.ts +7 -0
- package/es/utils/axios/interceptors.mjs +21 -17
- package/es/utils/cache-adapter/cache-adapter.mjs +61 -56
- package/es/utils/css-loader/css-loader.d.ts +36 -0
- package/es/utils/css-loader/css-loader.mjs +82 -0
- package/es/utils/design/design.mjs +18 -12
- package/es/utils/deviceFingerprint.mjs +77 -63
- package/es/utils/dictionary/dictionary.mjs +142 -145
- package/es/utils/file/base64Conver.mjs +35 -30
- package/es/utils/file/download.mjs +94 -98
- package/es/utils/file/parser.d.ts +3 -0
- package/es/utils/file/parser.mjs +29 -0
- package/es/utils/i18n/index.mjs +14 -3
- package/es/utils/index.d.ts +3 -1
- package/es/utils/index.mjs +32 -0
- package/es/utils/is-sort-filed/is-sort-filed.mjs +42 -37
- package/es/utils/linked-list/linked-list.mjs +115 -118
- package/es/utils/linked-node/linked-node.mjs +41 -31
- package/es/utils/lowcode/utils.mjs +13 -18
- package/es/utils/lowcode/validate.mjs +20 -26
- package/es/utils/mitt/mitt.mjs +4 -4
- package/es/utils/model-loader/model-loader.mjs +280 -325
- package/es/utils/namespace/namespace.mjs +178 -164
- package/es/utils/openUtil/index.mjs +2 -0
- package/es/utils/openUtil/modal/modal.mjs +72 -79
- package/es/utils/openUtil/overlay-container/overlay-container.mjs +144 -138
- package/es/utils/permission.mjs +33 -37
- package/es/utils/plugin-static-resource/plugin-static-resource.mjs +46 -42
- package/es/utils/style/index.mjs +94 -138
- package/es/utils/tools/tools.mjs +86 -54
- package/es/utils/treeHelper/treeHelper.mjs +205 -233
- package/es/utils/uploader/uploader.mjs +81 -115
- package/es/utils/useUUid.mjs +79 -87
- package/es/utils/util.mjs +55 -35
- package/es/utils/uuid/uuid.d.ts +2 -0
- package/es/utils/uuid/uuid.mjs +33 -43
- package/es/utils/validate.mjs +15 -19
- package/es/utils/value-helper/value-helper.mjs +113 -98
- package/package.json +9 -18
- package/dist/index.esm.min.mjs +0 -18322
- package/dist/index.min.cjs +0 -393
- package/dist/index.system.min.js +0 -393
|
@@ -1,66 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { RELATION_FIELDS } from "./constants/org.const.mjs";
|
|
2
|
+
import { reactive, ref } from "vue";
|
|
3
|
+
//#region src/modules/platform-config/useOrgSetting.ts
|
|
4
|
+
/**
|
|
5
|
+
* 组织设置 Composable
|
|
6
|
+
* 用于管理平台的组织配置,包括初始密码、字段扩展等
|
|
7
|
+
*/
|
|
8
|
+
/** 组织配置响应式对象 */
|
|
9
|
+
var orgSetting = reactive({
|
|
10
|
+
initialPassword: "123456",
|
|
11
|
+
initialSignPassword: "12345678",
|
|
12
|
+
enableIdentifier: 1,
|
|
13
|
+
enableDeleteAccount: 1,
|
|
14
|
+
enableDeleteUser: 0,
|
|
15
|
+
requiredFields: [],
|
|
16
|
+
supportLoginFields: ["username_"],
|
|
17
|
+
extFieldConfigs: [],
|
|
18
|
+
orgExtFieldConfigs: []
|
|
15
19
|
});
|
|
16
|
-
|
|
17
|
-
|
|
20
|
+
/** 关联字段配置列表 */
|
|
21
|
+
var relationFields = ref([...RELATION_FIELDS]);
|
|
22
|
+
/** 关联字段的复制副本 */
|
|
23
|
+
var relationFiledsCopy = ref([]);
|
|
24
|
+
/**
|
|
25
|
+
* 组织设置 Composable 函数
|
|
26
|
+
* @param isPlatform - 是否为平台模式,默认为 true
|
|
27
|
+
* @returns 返回组织设置相关的响应式数据和方法
|
|
28
|
+
*/
|
|
18
29
|
function useOrgSetting(isPlatform = true) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
console.warn(err);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
orgSetting,
|
|
59
|
-
setOrgSetting,
|
|
60
|
-
postOrgSetting,
|
|
61
|
-
relationFields,
|
|
62
|
-
relationFiledsCopy
|
|
63
|
-
};
|
|
30
|
+
/** 发送组织配置信息到服务器 */
|
|
31
|
+
const postOrgSetting = async () => {
|
|
32
|
+
const setting = JSON.parse(JSON.stringify(orgSetting));
|
|
33
|
+
if (isPlatform) await _api.platform.plat.postOrg(setting);
|
|
34
|
+
else await _api.apaas.plat.postOrg(setting);
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* 设置组织配置信息
|
|
38
|
+
* @param data - 系统配置响应数据
|
|
39
|
+
*/
|
|
40
|
+
function setOrgSetting(data) {
|
|
41
|
+
const { value } = data;
|
|
42
|
+
if (!value) return;
|
|
43
|
+
try {
|
|
44
|
+
const setting = JSON.parse(value);
|
|
45
|
+
for (const key in setting) if (key == "supportLoginFields") setting["supportLoginFields"] = setting["supportLoginFields"].filter((i) => i !== "username_");
|
|
46
|
+
Object.assign(orgSetting, setting);
|
|
47
|
+
if (orgSetting.extFieldConfigs && orgSetting.extFieldConfigs.length) orgSetting.extFieldConfigs.forEach((element) => {
|
|
48
|
+
relationFields.value = relationFields.value.filter((i) => {
|
|
49
|
+
if (i.value == element.relationField) relationFiledsCopy.value.push(i);
|
|
50
|
+
return i.value !== element.relationField;
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
orgSetting.extFieldConfigs = JSON.parse(JSON.stringify(setting.extFieldConfigs));
|
|
54
|
+
} catch (err) {
|
|
55
|
+
console.warn(err);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
orgSetting,
|
|
60
|
+
setOrgSetting,
|
|
61
|
+
postOrgSetting,
|
|
62
|
+
relationFields,
|
|
63
|
+
relationFiledsCopy
|
|
64
|
+
};
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
+
//#endregion
|
|
66
67
|
export { useOrgSetting };
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { reactive } from
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { reactive } from "vue";
|
|
2
|
+
//#region src/modules/platform-config/useProjectSetting.ts
|
|
3
|
+
/**
|
|
4
|
+
* 部署设置 Composable
|
|
5
|
+
* 用于管理应用的部署模式配置
|
|
6
|
+
*/
|
|
7
|
+
/** 基础配置信息响应式对象 */
|
|
8
|
+
var projectSetting = reactive({});
|
|
4
9
|
function setProjectConfig(config) {
|
|
5
|
-
|
|
10
|
+
Object.assign(projectSetting, config);
|
|
6
11
|
}
|
|
7
12
|
function useProjectSetting() {
|
|
8
|
-
|
|
13
|
+
return {
|
|
14
|
+
projectSetting,
|
|
15
|
+
setProjectConfig
|
|
16
|
+
};
|
|
9
17
|
}
|
|
10
|
-
|
|
18
|
+
//#endregion
|
|
11
19
|
export { useProjectSetting };
|
|
@@ -1,60 +1,72 @@
|
|
|
1
|
-
import { reactive } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
import { reactive } from "vue";
|
|
2
|
+
//#region src/modules/platform-config/useSecuritySetting.ts
|
|
3
|
+
/**
|
|
4
|
+
* 安全设置 Composable
|
|
5
|
+
* 用于管理平台的安全配置,包括密码策略、登录安全等
|
|
6
|
+
*/
|
|
7
|
+
/** 安全配置响应式对象 */
|
|
8
|
+
var securitySetting = reactive({
|
|
9
|
+
durationHour: 2,
|
|
10
|
+
durationMinute: 0,
|
|
11
|
+
enableChangePassword: 1,
|
|
12
|
+
enableChangeSignPassword: 0,
|
|
13
|
+
enableSignPassword: 0,
|
|
14
|
+
enableKickOut: 1,
|
|
15
|
+
enablePassphrase: 1,
|
|
16
|
+
signEnablePassphrase: 1,
|
|
17
|
+
enableLockAccount: 1,
|
|
18
|
+
expiryDate: 30,
|
|
19
|
+
signExpiryDate: 30,
|
|
20
|
+
firstTimeChangePassword: 0,
|
|
21
|
+
signFirstTimeChangePassword: 0,
|
|
22
|
+
lockTimeout: 0,
|
|
23
|
+
loginKickOutMode: "SAME_END",
|
|
24
|
+
maxErrorTimes: 2,
|
|
25
|
+
passMinLength: 6,
|
|
26
|
+
signPassMinLength: 6,
|
|
27
|
+
passRule: ["NUMBER"],
|
|
28
|
+
signPassRule: ["NUMBER"],
|
|
29
|
+
signRepeatNum: 1,
|
|
30
|
+
repeatNum: 1,
|
|
31
|
+
timeUnit: "DAYS",
|
|
32
|
+
signTimeUnit: "DAYS",
|
|
33
|
+
noOpRetainHour: 8,
|
|
34
|
+
noOpRetainMinute: 0,
|
|
35
|
+
earlyAlarmMinute: 5,
|
|
36
|
+
earlyAlarmSecond: 0,
|
|
37
|
+
inapplicablePerson: [],
|
|
38
|
+
lockHourTimeout: 0,
|
|
39
|
+
lockMinTimeout: 5
|
|
35
40
|
});
|
|
41
|
+
/**
|
|
42
|
+
* 安全设置 Composable 函数
|
|
43
|
+
* @param isPlatform - 是否为平台模式,默认为 true
|
|
44
|
+
* @returns 返回安全设置相关的响应式数据和方法
|
|
45
|
+
*/
|
|
36
46
|
function useSecuritySetting(isPlatform = true) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
47
|
+
/** 发送安全配置信息到服务器 */
|
|
48
|
+
const postSecuritySetting = async () => {
|
|
49
|
+
if (isPlatform) await _api.platform.plat.postSecurity(securitySetting);
|
|
50
|
+
else await _api.apaas.plat.postSecurity(securitySetting);
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* 设置安全配置信息
|
|
54
|
+
* @param data - 系统配置响应数据
|
|
55
|
+
*/
|
|
56
|
+
function setSecuritySetting(data) {
|
|
57
|
+
const { value } = data;
|
|
58
|
+
if (!value) return;
|
|
59
|
+
try {
|
|
60
|
+
Object.assign(securitySetting, JSON.parse(value));
|
|
61
|
+
} catch (err) {
|
|
62
|
+
console.warn(err);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
securitySetting,
|
|
67
|
+
postSecuritySetting,
|
|
68
|
+
setSecuritySetting
|
|
69
|
+
};
|
|
58
70
|
}
|
|
59
|
-
|
|
71
|
+
//#endregion
|
|
60
72
|
export { useSecuritySetting };
|
|
@@ -1,64 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { MENU_WIDTH_RANGE, THEME_COLORS } from "./constants/theme.const.mjs";
|
|
2
|
+
import { reactive, ref, watch } from "vue";
|
|
3
|
+
//#region src/modules/platform-config/useThemeSetting.ts
|
|
4
|
+
/**
|
|
5
|
+
* 主题设置 Composable
|
|
6
|
+
* 用于管理平台的主题配置,包括深色模式、主题颜色、菜单样式等
|
|
7
|
+
*/
|
|
8
|
+
/** 主题配置响应式对象 */
|
|
9
|
+
var themeSetting = reactive({
|
|
10
|
+
darkMode: "light",
|
|
11
|
+
themeColor: "#026AC8",
|
|
12
|
+
menuMode: "classic",
|
|
13
|
+
menuWidth: 232,
|
|
14
|
+
menuCollapsible: true,
|
|
15
|
+
menuSearchable: true,
|
|
16
|
+
menuFilter: false,
|
|
17
|
+
showLogo: true,
|
|
18
|
+
showBreadcrumb: false,
|
|
19
|
+
showBreadcrumbIcon: false,
|
|
20
|
+
showTabs: true,
|
|
21
|
+
pageProgress: true,
|
|
22
|
+
pageLoading: true,
|
|
23
|
+
colorMode: "normal"
|
|
20
24
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
/** 菜单是否折叠状态 */
|
|
26
|
+
var menuCollapsed = ref(false);
|
|
27
|
+
/** 菜单折叠时的宽度 */
|
|
28
|
+
var menuCollapsedWidth = 46;
|
|
29
|
+
/** 菜单宽度范围 */
|
|
30
|
+
var menuWidthRange = MENU_WIDTH_RANGE;
|
|
31
|
+
/** 可选的主题颜色列表 */
|
|
32
|
+
var themeColors = THEME_COLORS;
|
|
33
|
+
/**
|
|
34
|
+
* 切换颜色模式
|
|
35
|
+
* 根据当前颜色模式更新界面显示效果
|
|
36
|
+
*/
|
|
37
|
+
var toggleColorMode = () => {
|
|
38
|
+
switch (themeSetting.colorMode) {
|
|
39
|
+
case "colorWeak": break;
|
|
40
|
+
case "gray": break;
|
|
41
|
+
default:
|
|
42
|
+
}
|
|
28
43
|
};
|
|
29
|
-
watch(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
);
|
|
44
|
+
watch(() => themeSetting.colorMode, (value) => {
|
|
45
|
+
if (value) toggleColorMode();
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* 主题设置 Composable 函数
|
|
49
|
+
* @returns 返回主题设置相关的响应式数据和方法
|
|
50
|
+
*/
|
|
37
51
|
function useThemeSetting() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
/** 发送主题配置信息到服务器 */
|
|
53
|
+
const postThemeSetting = async () => {};
|
|
54
|
+
/**
|
|
55
|
+
* 设置主题配置信息
|
|
56
|
+
* @param data - 系统配置响应数据
|
|
57
|
+
*/
|
|
58
|
+
function setThemeSetting(data) {
|
|
59
|
+
const { value } = data;
|
|
60
|
+
if (!value) return;
|
|
61
|
+
try {
|
|
62
|
+
Object.assign(themeSetting, JSON.parse(value));
|
|
63
|
+
} catch (err) {
|
|
64
|
+
console.warn(err);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** 切换菜单折叠状态 */
|
|
68
|
+
function toggleMenuCollapsed() {
|
|
69
|
+
menuCollapsed.value = !menuCollapsed.value;
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
themeSetting,
|
|
73
|
+
setThemeSetting,
|
|
74
|
+
postThemeSetting,
|
|
75
|
+
menuCollapsed,
|
|
76
|
+
toggleMenuCollapsed,
|
|
77
|
+
menuCollapsedWidth,
|
|
78
|
+
menuWidthRange,
|
|
79
|
+
themeColors
|
|
80
|
+
};
|
|
62
81
|
}
|
|
63
|
-
|
|
82
|
+
//#endregion
|
|
64
83
|
export { useThemeSetting };
|
|
@@ -1,26 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { WATERMARK_INIT_DATA } from "./constants/watermark.const.mjs";
|
|
2
|
+
import { reactive } from "vue";
|
|
3
|
+
//#region src/modules/platform-config/useWatermarkSetting.ts
|
|
4
|
+
/**
|
|
5
|
+
* 水印设置 Composable
|
|
6
|
+
* 用于管理平台的水印配置
|
|
7
|
+
*/
|
|
8
|
+
/** 水印配置响应式对象 */
|
|
9
|
+
var watermarkSetting = reactive({ ...WATERMARK_INIT_DATA });
|
|
10
|
+
/**
|
|
11
|
+
* 水印设置 Composable 函数
|
|
12
|
+
* @returns 返回水印设置相关的响应式数据和方法
|
|
13
|
+
*/
|
|
5
14
|
function useWatermarkSetting() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
/** 发送水印配置信息到服务器 */
|
|
16
|
+
const postWatermarkSetting = async () => {
|
|
17
|
+
const value = JSON.stringify(watermarkSetting);
|
|
18
|
+
await _api.platform.plat.postWatermark({ value });
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* 设置水印配置信息
|
|
22
|
+
* @param data - 系统配置响应数据
|
|
23
|
+
*/
|
|
24
|
+
function setWatermarkSetting(data) {
|
|
25
|
+
const { value } = data;
|
|
26
|
+
if (!value) return;
|
|
27
|
+
try {
|
|
28
|
+
Object.assign(watermarkSetting, JSON.parse(value));
|
|
29
|
+
} catch (err) {
|
|
30
|
+
console.warn(err);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
watermarkSetting,
|
|
35
|
+
postWatermarkSetting,
|
|
36
|
+
setWatermarkSetting
|
|
37
|
+
};
|
|
24
38
|
}
|
|
25
|
-
|
|
39
|
+
//#endregion
|
|
26
40
|
export { useWatermarkSetting };
|
|
@@ -1,38 +1,29 @@
|
|
|
1
|
-
import { defineStore } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const res = await _api.apaas.designerCommon.getUserInfo();
|
|
28
|
-
Object.assign(this.userPermissions, {
|
|
29
|
-
...res,
|
|
30
|
-
permissions: Object.fromEntries(
|
|
31
|
-
(res?.permissions ?? []).map((key) => [key, true])
|
|
32
|
-
)
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
import { defineStore } from "pinia";
|
|
2
|
+
//#region src/modules/user-stores/store/permission.store.ts
|
|
3
|
+
var usePermissionStore = defineStore("permission", {
|
|
4
|
+
state: () => ({ userPermissions: {
|
|
5
|
+
appSuperAdmin: 0,
|
|
6
|
+
permissions: {}
|
|
7
|
+
} }),
|
|
8
|
+
getters: { hasAllPermissions(state) {
|
|
9
|
+
return !!state.userPermissions.appSuperAdmin || !!state.userPermissions.permissions["POINT.*"];
|
|
10
|
+
} },
|
|
11
|
+
actions: {
|
|
12
|
+
getPermissionByKey(pageId, key) {
|
|
13
|
+
if (this.hasAllPermissions) return true;
|
|
14
|
+
if (!key) return this.userPermissions.permissions[pageId];
|
|
15
|
+
const uKey = `${pageId}.${key}`;
|
|
16
|
+
const pageKey = `${pageId}.*`;
|
|
17
|
+
return this.userPermissions.permissions[uKey] || this.userPermissions.permissions[pageKey];
|
|
18
|
+
},
|
|
19
|
+
async initPermission() {
|
|
20
|
+
const res = await _api.apaas.designerCommon.getUserInfo();
|
|
21
|
+
Object.assign(this.userPermissions, {
|
|
22
|
+
...res,
|
|
23
|
+
permissions: Object.fromEntries((res?.permissions ?? []).map((key) => [key, true]))
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
36
27
|
});
|
|
37
|
-
|
|
28
|
+
//#endregion
|
|
38
29
|
export { usePermissionStore };
|
|
@@ -1,24 +1,22 @@
|
|
|
1
|
-
import { defineStore } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
}
|
|
1
|
+
import { defineStore } from "pinia";
|
|
2
|
+
//#region src/modules/user-stores/store/tenant.store.ts
|
|
3
|
+
var useTenantStore = defineStore("tenant", {
|
|
4
|
+
state: () => ({
|
|
5
|
+
tenantId: "",
|
|
6
|
+
tenantUserInfo: {},
|
|
7
|
+
tenantUserPermissions: {}
|
|
8
|
+
}),
|
|
9
|
+
actions: {
|
|
10
|
+
setTenant(tenantId) {
|
|
11
|
+
this.tenantId = tenantId;
|
|
12
|
+
},
|
|
13
|
+
async getTenantUserInfoAction() {
|
|
14
|
+
if (!this.tenantId) return;
|
|
15
|
+
const info = await _api.platform.tenant.getUserInfo();
|
|
16
|
+
this.tenantUserInfo = info;
|
|
17
|
+
return info;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
22
20
|
});
|
|
23
|
-
|
|
21
|
+
//#endregion
|
|
24
22
|
export { useTenantStore };
|