@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.
Files changed (142) hide show
  1. package/dist/index.esm.min.js +4522 -0
  2. package/es/constants/core.mjs +5 -4
  3. package/es/constants/default-date-type/default-date-type.mjs +73 -21
  4. package/es/constants/editor-register/editor-register.mjs +17 -5
  5. package/es/constants/expression-type/BuiltOperators.mjs +152 -147
  6. package/es/constants/expression-type/FunctionKeys.mjs +75 -79
  7. package/es/constants/expression-type/editor.mjs +10 -3
  8. package/es/constants/expression-type/function.mjs +602 -613
  9. package/es/constants/expression-type/index.mjs +111 -113
  10. package/es/constants/expression-type/modeCfg.mjs +256 -263
  11. package/es/constants/expression-type/variable.mjs +43 -39
  12. package/es/constants/form-container-type/form-container-type.mjs +17 -5
  13. package/es/constants/index.d.ts +1 -0
  14. package/es/constants/index.mjs +31 -10
  15. package/es/constants/page-designer/model.mjs +15 -5
  16. package/es/constants/page-designer/regex.d.ts +2 -0
  17. package/es/constants/page-designer/regex.mjs +5 -0
  18. package/es/create-app-vue.mjs +15 -9
  19. package/es/enums/app-designer/index.d.ts +19 -0
  20. package/es/enums/app-designer/index.mjs +131 -63
  21. package/es/enums/appEnum.mjs +681 -360
  22. package/es/enums/appStateEnum.mjs +17 -10
  23. package/es/enums/authActionEnum.mjs +63 -51
  24. package/es/enums/breakpointEnum.mjs +27 -26
  25. package/es/enums/cacheEnum.mjs +22 -21
  26. package/es/enums/designEnum.mjs +110 -71
  27. package/es/enums/developer-center/integration.mjs +7 -6
  28. package/es/enums/exceptionEnum.mjs +21 -17
  29. package/es/enums/expressionEnum.d.ts +1 -1
  30. package/es/enums/expressionEnum.mjs +81 -74
  31. package/es/enums/globalEnum.mjs +59 -36
  32. package/es/enums/httpEnum.mjs +71 -61
  33. package/es/enums/index.mjs +44 -14
  34. package/es/enums/menuEnum.mjs +42 -38
  35. package/es/enums/page-designer/designer.mjs +403 -407
  36. package/es/enums/page-designer/index.d.ts +1 -0
  37. package/es/enums/page-designer/index.mjs +5 -0
  38. package/es/enums/page-designer/layout.d.ts +12 -0
  39. package/es/enums/page-designer/layout.mjs +17 -0
  40. package/es/enums/page-designer/panel.mjs +341 -213
  41. package/es/enums/page-designer/toolkit.mjs +13 -12
  42. package/es/enums/page-designer/widget.mjs +425 -338
  43. package/es/enums/pageEnum.mjs +14 -13
  44. package/es/enums/plugin-enum.mjs +23 -7
  45. package/es/enums/processEnum.mjs +95 -60
  46. package/es/enums/roleEnum.mjs +7 -6
  47. package/es/enums/sizeEnum.d.ts +18 -0
  48. package/es/enums/sizeEnum.mjs +28 -8
  49. package/es/global/gct/gct.mjs +84 -96
  50. package/es/global/index.mjs +1 -0
  51. package/es/hooks/index.mjs +4 -0
  52. package/es/hooks/use-app-inst/use-app-inst.mjs +11 -5
  53. package/es/hooks/use-modal/use-modal.mjs +16 -10
  54. package/es/hooks/use-sub-app-utils/use-sub-app-utils.mjs +43 -23
  55. package/es/hooks/useCopyToClipboard.mjs +50 -50
  56. package/es/index.mjs +125 -114
  57. package/es/interface/i-pinia-state/i-global-state.d.ts +0 -11
  58. package/es/locale/index.mjs +50 -57
  59. package/es/modules/env-manager/env-manager.const.mjs +16 -8
  60. package/es/modules/env-manager/env-manager.d.ts +2 -0
  61. package/es/modules/env-manager/env-manager.interface.d.ts +2 -0
  62. package/es/modules/env-manager/env-manager.interface.mjs +14 -7
  63. package/es/modules/env-manager/env-manager.mjs +108 -107
  64. package/es/modules/error-handler/error-handler.const.mjs +11 -16
  65. package/es/modules/error-handler/error-strategy.mjs +199 -175
  66. package/es/modules/error-handler/index.mjs +120 -106
  67. package/es/modules/mqtt/constants/mqtt.const.mjs +21 -24
  68. package/es/modules/mqtt/enums/mqtt-status.enum.mjs +23 -9
  69. package/es/modules/mqtt/index.mjs +4 -0
  70. package/es/modules/mqtt/mqtt-client.mjs +228 -261
  71. package/es/modules/mqtt/mqtt-manager.mjs +117 -77
  72. package/es/modules/platform-config/constants/index.mjs +4 -0
  73. package/es/modules/platform-config/constants/login.const.mjs +48 -45
  74. package/es/modules/platform-config/constants/org.const.mjs +57 -52
  75. package/es/modules/platform-config/constants/theme.const.mjs +11 -4
  76. package/es/modules/platform-config/constants/watermark.const.mjs +17 -12
  77. package/es/modules/platform-config/enums/deploy.enum.mjs +13 -6
  78. package/es/modules/platform-config/enums/login.enum.mjs +29 -15
  79. package/es/modules/platform-config/enums/platform.enum.mjs +16 -13
  80. package/es/modules/platform-config/index.mjs +9 -0
  81. package/es/modules/platform-config/store.mjs +68 -79
  82. package/es/modules/platform-config/useBasicSetting.mjs +47 -35
  83. package/es/modules/platform-config/useDeploySetting.mjs +29 -21
  84. package/es/modules/platform-config/useLoginSetting.mjs +151 -173
  85. package/es/modules/platform-config/useOrgSetting.mjs +63 -62
  86. package/es/modules/platform-config/useProjectSetting.mjs +14 -6
  87. package/es/modules/platform-config/useSecuritySetting.mjs +68 -56
  88. package/es/modules/platform-config/useThemeSetting.mjs +78 -59
  89. package/es/modules/platform-config/useWatermarkSetting.mjs +37 -23
  90. package/es/modules/user-stores/index.mjs +3 -0
  91. package/es/modules/user-stores/store/permission.store.mjs +27 -36
  92. package/es/modules/user-stores/store/tenant.store.mjs +20 -22
  93. package/es/modules/user-stores/store/user.store.mjs +94 -117
  94. package/es/router/index.mjs +25 -28
  95. package/es/setup-app.mjs +23 -39
  96. package/es/state/global-pinia-state/global-pinia-state.d.ts +0 -6
  97. package/es/state/global-pinia-state/global-pinia-state.mjs +43 -71
  98. package/es/state/index.mjs +1 -0
  99. package/es/store/global-store.mjs +50 -72
  100. package/es/store/index.mjs +25 -19
  101. package/es/types/index.d.ts +7 -0
  102. package/es/utils/axios/interceptors.mjs +21 -17
  103. package/es/utils/cache-adapter/cache-adapter.mjs +61 -56
  104. package/es/utils/css-loader/css-loader.d.ts +36 -0
  105. package/es/utils/css-loader/css-loader.mjs +82 -0
  106. package/es/utils/design/design.mjs +18 -12
  107. package/es/utils/deviceFingerprint.mjs +77 -63
  108. package/es/utils/dictionary/dictionary.mjs +142 -145
  109. package/es/utils/file/base64Conver.mjs +35 -30
  110. package/es/utils/file/download.mjs +94 -98
  111. package/es/utils/file/parser.d.ts +3 -0
  112. package/es/utils/file/parser.mjs +29 -0
  113. package/es/utils/i18n/index.mjs +14 -3
  114. package/es/utils/index.d.ts +3 -1
  115. package/es/utils/index.mjs +32 -0
  116. package/es/utils/is-sort-filed/is-sort-filed.mjs +42 -37
  117. package/es/utils/linked-list/linked-list.mjs +115 -118
  118. package/es/utils/linked-node/linked-node.mjs +41 -31
  119. package/es/utils/lowcode/utils.mjs +13 -18
  120. package/es/utils/lowcode/validate.mjs +20 -26
  121. package/es/utils/mitt/mitt.mjs +4 -4
  122. package/es/utils/model-loader/model-loader.mjs +280 -325
  123. package/es/utils/namespace/namespace.mjs +178 -164
  124. package/es/utils/openUtil/index.mjs +2 -0
  125. package/es/utils/openUtil/modal/modal.mjs +72 -79
  126. package/es/utils/openUtil/overlay-container/overlay-container.mjs +144 -138
  127. package/es/utils/permission.mjs +33 -37
  128. package/es/utils/plugin-static-resource/plugin-static-resource.mjs +46 -42
  129. package/es/utils/style/index.mjs +94 -138
  130. package/es/utils/tools/tools.mjs +86 -54
  131. package/es/utils/treeHelper/treeHelper.mjs +205 -233
  132. package/es/utils/uploader/uploader.mjs +81 -115
  133. package/es/utils/useUUid.mjs +79 -87
  134. package/es/utils/util.mjs +55 -35
  135. package/es/utils/uuid/uuid.d.ts +2 -0
  136. package/es/utils/uuid/uuid.mjs +33 -43
  137. package/es/utils/validate.mjs +15 -19
  138. package/es/utils/value-helper/value-helper.mjs +113 -98
  139. package/package.json +9 -18
  140. package/dist/index.esm.min.mjs +0 -18322
  141. package/dist/index.min.cjs +0 -393
  142. package/dist/index.system.min.js +0 -393
@@ -1,66 +1,67 @@
1
- import { reactive, ref } from 'vue';
2
- import { RELATION_FIELDS } from './constants/org.const.mjs';
3
-
4
- const orgSetting = reactive({
5
- initialPassword: "123456",
6
- initialSignPassword: "12345678",
7
- enableIdentifier: 1,
8
- enableDeleteAccount: 1,
9
- enableDeleteUser: 0,
10
- requiredFields: [],
11
- // supportLoginFields: ['username_', 'emp_no_'],
12
- supportLoginFields: ["username_"],
13
- extFieldConfigs: [],
14
- orgExtFieldConfigs: []
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
- const relationFields = ref([...RELATION_FIELDS]);
17
- const relationFiledsCopy = ref([]);
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
- const postOrgSetting = async () => {
20
- const setting = JSON.parse(JSON.stringify(orgSetting));
21
- if (isPlatform) {
22
- await _api.platform.plat.postOrg(setting);
23
- } else {
24
- await _api.apaas.plat.postOrg(setting);
25
- }
26
- };
27
- function setOrgSetting(data) {
28
- const { value } = data;
29
- if (!value) return;
30
- try {
31
- const setting = JSON.parse(value);
32
- for (const key in setting) {
33
- if (key == "supportLoginFields") {
34
- setting["supportLoginFields"] = setting["supportLoginFields"].filter(
35
- (i) => i !== "username_"
36
- );
37
- }
38
- }
39
- Object.assign(orgSetting, setting);
40
- if (orgSetting.extFieldConfigs && orgSetting.extFieldConfigs.length) {
41
- orgSetting.extFieldConfigs.forEach((element) => {
42
- relationFields.value = relationFields.value.filter((i) => {
43
- if (i.value == element.relationField) {
44
- relationFiledsCopy.value.push(i);
45
- }
46
- return i.value !== element.relationField;
47
- });
48
- });
49
- }
50
- orgSetting.extFieldConfigs = JSON.parse(
51
- JSON.stringify(setting.extFieldConfigs)
52
- );
53
- } catch (err) {
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 'vue';
2
-
3
- const projectSetting = reactive({});
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
- Object.assign(projectSetting, config);
10
+ Object.assign(projectSetting, config);
6
11
  }
7
12
  function useProjectSetting() {
8
- return { projectSetting, setProjectConfig };
13
+ return {
14
+ projectSetting,
15
+ setProjectConfig
16
+ };
9
17
  }
10
-
18
+ //#endregion
11
19
  export { useProjectSetting };
@@ -1,60 +1,72 @@
1
- import { reactive } from 'vue';
2
-
3
- const securitySetting = reactive({
4
- durationHour: 2,
5
- durationMinute: 0,
6
- enableChangePassword: 1,
7
- enableChangeSignPassword: 0,
8
- enableSignPassword: 0,
9
- enableKickOut: 1,
10
- enablePassphrase: 1,
11
- signEnablePassphrase: 1,
12
- enableLockAccount: 1,
13
- expiryDate: 30,
14
- signExpiryDate: 30,
15
- firstTimeChangePassword: 0,
16
- signFirstTimeChangePassword: 0,
17
- lockTimeout: 0,
18
- loginKickOutMode: "SAME_END",
19
- maxErrorTimes: 2,
20
- passMinLength: 6,
21
- signPassMinLength: 6,
22
- passRule: ["NUMBER"],
23
- signPassRule: ["NUMBER"],
24
- signRepeatNum: 1,
25
- repeatNum: 1,
26
- timeUnit: "DAYS",
27
- signTimeUnit: "DAYS",
28
- noOpRetainHour: 8,
29
- noOpRetainMinute: 0,
30
- earlyAlarmMinute: 5,
31
- earlyAlarmSecond: 0,
32
- inapplicablePerson: [],
33
- lockHourTimeout: 0,
34
- lockMinTimeout: 5
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
- const postSecuritySetting = async () => {
38
- if (isPlatform) {
39
- await _api.platform.plat.postSecurity(securitySetting);
40
- } else {
41
- await _api.apaas.plat.postSecurity(securitySetting);
42
- }
43
- };
44
- function setSecuritySetting(data) {
45
- const { value } = data;
46
- if (!value) return;
47
- try {
48
- Object.assign(securitySetting, JSON.parse(value));
49
- } catch (err) {
50
- console.warn(err);
51
- }
52
- }
53
- return {
54
- securitySetting,
55
- postSecuritySetting,
56
- setSecuritySetting
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 { reactive, ref, watch } from 'vue';
2
- import { THEME_COLORS, MENU_WIDTH_RANGE, MENU_COLLAPSED_WIDTH } from './constants/theme.const.mjs';
3
-
4
- const themeSetting = reactive({
5
- darkMode: "light",
6
- themeColor: "#026AC8",
7
- // menuMode: 'mix-sider',
8
- menuMode: "classic",
9
- menuWidth: 232,
10
- menuCollapsible: true,
11
- menuSearchable: true,
12
- menuFilter: false,
13
- showLogo: true,
14
- showBreadcrumb: false,
15
- showBreadcrumbIcon: false,
16
- showTabs: true,
17
- pageProgress: true,
18
- pageLoading: true,
19
- colorMode: "normal"
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
- const menuCollapsed = ref(false);
22
- const menuCollapsedWidth = MENU_COLLAPSED_WIDTH;
23
- const menuWidthRange = MENU_WIDTH_RANGE;
24
- const themeColors = THEME_COLORS;
25
- const toggleColorMode = () => {
26
- switch (themeSetting.colorMode) {
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
- () => themeSetting.colorMode,
31
- (value) => {
32
- if (value) {
33
- toggleColorMode();
34
- }
35
- }
36
- );
44
+ watch(() => themeSetting.colorMode, (value) => {
45
+ if (value) toggleColorMode();
46
+ });
47
+ /**
48
+ * 主题设置 Composable 函数
49
+ * @returns 返回主题设置相关的响应式数据和方法
50
+ */
37
51
  function useThemeSetting() {
38
- const postThemeSetting = async () => {
39
- };
40
- function setThemeSetting(data) {
41
- const { value } = data;
42
- if (!value) return;
43
- try {
44
- Object.assign(themeSetting, JSON.parse(value));
45
- } catch (err) {
46
- console.warn(err);
47
- }
48
- }
49
- function toggleMenuCollapsed() {
50
- menuCollapsed.value = !menuCollapsed.value;
51
- }
52
- return {
53
- themeSetting,
54
- setThemeSetting,
55
- postThemeSetting,
56
- menuCollapsed,
57
- toggleMenuCollapsed,
58
- menuCollapsedWidth,
59
- menuWidthRange,
60
- themeColors
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 { reactive } from 'vue';
2
- import { WATERMARK_INIT_DATA } from './constants/watermark.const.mjs';
3
-
4
- const watermarkSetting = reactive({ ...WATERMARK_INIT_DATA });
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
- const postWatermarkSetting = async () => {
7
- const value = JSON.stringify(watermarkSetting);
8
- await _api.platform.plat.postWatermark({ value });
9
- };
10
- function setWatermarkSetting(data) {
11
- const { value } = data;
12
- if (!value) return;
13
- try {
14
- Object.assign(watermarkSetting, JSON.parse(value));
15
- } catch (err) {
16
- console.warn(err);
17
- }
18
- }
19
- return {
20
- watermarkSetting,
21
- postWatermarkSetting,
22
- setWatermarkSetting
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 };
@@ -0,0 +1,3 @@
1
+ import "./store/user.store.mjs";
2
+ import "./store/tenant.store.mjs";
3
+ import "./store/permission.store.mjs";
@@ -1,38 +1,29 @@
1
- import { defineStore } from 'pinia';
2
-
3
- const usePermissionStore = defineStore("permission", {
4
- state: () => ({
5
- //当前应用中用户的权限
6
- userPermissions: {
7
- appSuperAdmin: 0,
8
- permissions: {}
9
- }
10
- }),
11
- getters: {
12
- hasAllPermissions(state) {
13
- return !!state.userPermissions.appSuperAdmin || !!state.userPermissions.permissions["POINT.*"];
14
- }
15
- },
16
- actions: {
17
- getPermissionByKey(pageId, key) {
18
- if (this.hasAllPermissions) return true;
19
- if (!key) {
20
- return this.userPermissions.permissions[pageId];
21
- }
22
- const uKey = `${pageId}.${key}`;
23
- const pageKey = `${pageId}.*`;
24
- return this.userPermissions.permissions[uKey] || this.userPermissions.permissions[pageKey];
25
- },
26
- async initPermission() {
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 'pinia';
2
-
3
- const useTenantStore = defineStore("tenant", {
4
- state: () => ({
5
- //selected tenant Id
6
- tenantId: "",
7
- // 当前租户中的用户信息
8
- tenantUserInfo: {},
9
- tenantUserPermissions: {}
10
- }),
11
- actions: {
12
- setTenant(tenantId) {
13
- this.tenantId = tenantId;
14
- },
15
- async getTenantUserInfoAction() {
16
- if (!this.tenantId) return;
17
- const info = await _api.platform.tenant.getUserInfo();
18
- this.tenantUserInfo = info;
19
- return info;
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 };