giime 0.9.3 → 0.9.4

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 (76) hide show
  1. package/dist/index.css +75 -75
  2. package/es/components/src/base/configProvider/ConfigProvider.vue.d.ts +1 -1
  3. package/es/components/src/base/configProvider/index.d.ts +3 -3
  4. package/es/components/src/base/image/Image.vue.d.ts +1 -1
  5. package/es/components/src/base/image/index.d.ts +2 -2
  6. package/es/components/src/base/imageViewer/ImageViewer.vue.d.ts +1 -1
  7. package/es/components/src/base/imageViewer/index.d.ts +1 -1
  8. package/es/components/src/base/progress/Progress.vue.d.ts +1 -1
  9. package/es/components/src/base/progress/index.d.ts +3 -3
  10. package/es/components/src/base/space/Space.vue.d.ts +2 -2
  11. package/es/components/src/base/space/index.d.ts +6 -6
  12. package/es/components/src/base/step/Step.vue.d.ts +1 -1
  13. package/es/components/src/base/step/index.d.ts +3 -3
  14. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs +6 -3
  15. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
  16. package/es/components/src/composite/tableCustom/TableColumnVNodeRenderer.mjs +11 -9
  17. package/es/components/src/composite/tableCustom/TableColumnVNodeRenderer.mjs.map +1 -1
  18. package/es/components/src/composite/tableCustom/TableCustom.vue.mjs +1 -1
  19. package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs +1 -1
  20. package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs.map +1 -1
  21. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs +7 -1
  22. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs.map +1 -1
  23. package/es/giime/index.mjs +1 -0
  24. package/es/giime/index.mjs.map +1 -1
  25. package/es/giime/version.d.ts +1 -1
  26. package/es/giime/version.mjs +1 -1
  27. package/es/giime/version.mjs.map +1 -1
  28. package/es/hooks/base/useDownload/index.d.ts +3 -0
  29. package/es/hooks/base/useDownload/index.mjs.map +1 -1
  30. package/es/hooks/store/common/useLangList/index.d.ts +1 -1
  31. package/es/hooks/store/useLineList/index.d.ts +1 -1
  32. package/es/index.css +75 -75
  33. package/es/utils/index.d.ts +1 -0
  34. package/es/utils/index.mjs +1 -0
  35. package/es/utils/index.mjs.map +1 -1
  36. package/es/utils/src/clarity/index.d.ts +67 -0
  37. package/es/utils/src/clarity/index.mjs +93 -0
  38. package/es/utils/src/clarity/index.mjs.map +1 -0
  39. package/lib/components/src/base/configProvider/ConfigProvider.vue.d.ts +1 -1
  40. package/lib/components/src/base/configProvider/index.d.ts +3 -3
  41. package/lib/components/src/base/image/Image.vue.d.ts +1 -1
  42. package/lib/components/src/base/image/index.d.ts +2 -2
  43. package/lib/components/src/base/imageViewer/ImageViewer.vue.d.ts +1 -1
  44. package/lib/components/src/base/imageViewer/index.d.ts +1 -1
  45. package/lib/components/src/base/progress/Progress.vue.d.ts +1 -1
  46. package/lib/components/src/base/progress/index.d.ts +3 -3
  47. package/lib/components/src/base/space/Space.vue.d.ts +2 -2
  48. package/lib/components/src/base/space/index.d.ts +6 -6
  49. package/lib/components/src/base/step/Step.vue.d.ts +1 -1
  50. package/lib/components/src/base/step/index.d.ts +3 -3
  51. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js +6 -3
  52. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
  53. package/lib/components/src/composite/tableCustom/TableColumnVNodeRenderer.js +11 -9
  54. package/lib/components/src/composite/tableCustom/TableColumnVNodeRenderer.js.map +1 -1
  55. package/lib/components/src/composite/tableCustom/TableCustom.vue.js +1 -1
  56. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js +1 -1
  57. package/lib/components/src/composite/tableCustom/TableCustom.vue2.js.map +1 -1
  58. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +7 -1
  59. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -1
  60. package/lib/giime/index.js +375 -373
  61. package/lib/giime/index.js.map +1 -1
  62. package/lib/giime/version.d.ts +1 -1
  63. package/lib/giime/version.js +1 -1
  64. package/lib/giime/version.js.map +1 -1
  65. package/lib/hooks/base/useDownload/index.d.ts +3 -0
  66. package/lib/hooks/base/useDownload/index.js.map +1 -1
  67. package/lib/hooks/store/common/useLangList/index.d.ts +1 -1
  68. package/lib/hooks/store/useLineList/index.d.ts +1 -1
  69. package/lib/index.css +75 -75
  70. package/lib/utils/index.d.ts +1 -0
  71. package/lib/utils/index.js +2 -0
  72. package/lib/utils/index.js.map +1 -1
  73. package/lib/utils/src/clarity/index.d.ts +67 -0
  74. package/lib/utils/src/clarity/index.js +95 -0
  75. package/lib/utils/src/clarity/index.js.map +1 -0
  76. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,67 @@
1
+ export interface ClarityInitOptions {
2
+ /**
3
+ * 是否自动识别用户信息
4
+ * @default true
5
+ */
6
+ autoIdentify?: boolean;
7
+ }
8
+ export interface ClarityIdentifyOptions {
9
+ customId: string;
10
+ customSessionId?: string;
11
+ customPageId?: string;
12
+ friendlyName?: string;
13
+ }
14
+ export interface ClarityConsentV2Options {
15
+ ad_Storage: 'granted' | 'denied';
16
+ analytics_Storage: 'granted' | 'denied';
17
+ }
18
+ declare global {
19
+ interface Window {
20
+ clarity: (...args: any[]) => void;
21
+ }
22
+ }
23
+ /**
24
+ * Microsoft Clarity 封装
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * // 自动识别用户信息
29
+ * Clarity.init('your-project-id');
30
+ *
31
+ * // 手动设置用户信息
32
+ * Clarity.init('your-project-id', { autoIdentify: false });
33
+ * Clarity.identify({ customId: 'user-id', friendlyName: 'User Name' });
34
+ * ```
35
+ */
36
+ export declare const Clarity: {
37
+ /**
38
+ * 初始化 Clarity
39
+ * @param projectId 项目 ID
40
+ * @param options 配置选项
41
+ */
42
+ init(projectId: string, options?: ClarityInitOptions): void;
43
+ /**
44
+ * 设置标签
45
+ */
46
+ setTag(key: string, value: string | string[]): void;
47
+ /**
48
+ * 识别用户
49
+ */
50
+ identify(options: ClarityIdentifyOptions): void;
51
+ /**
52
+ * 同意追踪
53
+ */
54
+ consent(consent?: boolean): void;
55
+ /**
56
+ * 同意追踪 V2
57
+ */
58
+ consentV2(options?: ClarityConsentV2Options): void;
59
+ /**
60
+ * 升级会话
61
+ */
62
+ upgrade(reason: string): void;
63
+ /**
64
+ * 发送自定义事件
65
+ */
66
+ event(eventName: string): void;
67
+ };
@@ -0,0 +1,93 @@
1
+ import { until } from '@vueuse/core';
2
+ import { useCurrentUserStore } from '../../../hooks/store/userCenter/useCurrentUser/index.mjs';
3
+
4
+ const injectScript = (projectId) => {
5
+ try {
6
+ (function(c, l, a, r, i, t, y) {
7
+ if (l.getElementById("clarity-script")) {
8
+ return;
9
+ }
10
+ c[a] = c[a] || function() {
11
+ (c[a].q = c[a].q || []).push(arguments);
12
+ };
13
+ t = l.createElement(r);
14
+ t.async = 1;
15
+ t.src = "https://www.clarity.ms/tag/" + i + "?ref=npm";
16
+ t.id = "clarity-script";
17
+ y = l.getElementsByTagName(r)[0];
18
+ y.parentNode.insertBefore(t, y);
19
+ })(window, document, "clarity", "script", projectId);
20
+ } catch {
21
+ }
22
+ };
23
+ const autoIdentifyUser = async () => {
24
+ const currentUserStore = useCurrentUserStore();
25
+ await until(() => currentUserStore.userInfo?.id).toBeTruthy();
26
+ const userInfo = {
27
+ id: currentUserStore.userInfo?.id?.toString() || "",
28
+ name: currentUserStore.userInfo?.name?.toString() || ""
29
+ };
30
+ Clarity.identify({
31
+ customId: userInfo.id,
32
+ customSessionId: userInfo.id,
33
+ customPageId: "",
34
+ friendlyName: `${userInfo.name} - ${userInfo.id}`
35
+ });
36
+ };
37
+ const Clarity = {
38
+ /**
39
+ * 初始化 Clarity
40
+ * @param projectId 项目 ID
41
+ * @param options 配置选项
42
+ */
43
+ init(projectId, options = {}) {
44
+ const { autoIdentify = true } = options;
45
+ if (!projectId) {
46
+ return;
47
+ }
48
+ injectScript(projectId);
49
+ if (autoIdentify) {
50
+ autoIdentifyUser();
51
+ }
52
+ },
53
+ /**
54
+ * 设置标签
55
+ */
56
+ setTag(key, value) {
57
+ window.clarity("set", key, value);
58
+ },
59
+ /**
60
+ * 识别用户
61
+ */
62
+ identify(options) {
63
+ const { customId, customSessionId, customPageId, friendlyName } = options;
64
+ window.clarity("identify", customId, customSessionId, customPageId, friendlyName);
65
+ },
66
+ /**
67
+ * 同意追踪
68
+ */
69
+ consent(consent = true) {
70
+ window.clarity("consent", consent);
71
+ },
72
+ /**
73
+ * 同意追踪 V2
74
+ */
75
+ consentV2(options = { ad_Storage: "granted", analytics_Storage: "granted" }) {
76
+ window.clarity("consentv2", options);
77
+ },
78
+ /**
79
+ * 升级会话
80
+ */
81
+ upgrade(reason) {
82
+ window.clarity("upgrade", reason);
83
+ },
84
+ /**
85
+ * 发送自定义事件
86
+ */
87
+ event(eventName) {
88
+ window.clarity("event", eventName);
89
+ }
90
+ };
91
+
92
+ export { Clarity };
93
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../../packages/utils/src/clarity/index.ts"],"sourcesContent":["import { until } from '@vueuse/core';\nimport { useCurrentUserStore } from '@giime/hooks/store/userCenter/useCurrentUser';\n\nexport interface ClarityInitOptions {\n /**\n * 是否自动识别用户信息\n * @default true\n */\n autoIdentify?: boolean;\n}\n\nexport interface ClarityIdentifyOptions {\n customId: string;\n customSessionId?: string;\n customPageId?: string;\n friendlyName?: string;\n}\n\nexport interface ClarityConsentV2Options {\n ad_Storage: 'granted' | 'denied';\n analytics_Storage: 'granted' | 'denied';\n}\n\ndeclare global {\n interface Window {\n clarity: (...args: any[]) => void;\n }\n}\n\n/**\n * 注入 Clarity 脚本\n */\nconst injectScript = (projectId: string) => {\n try {\n (function (c: any, l: Document, a: string, r: string, i: string, t?: any, y?: any) {\n if (l.getElementById('clarity-script')) {\n return;\n }\n c[a] =\n c[a] ||\n function () {\n // eslint-disable-next-line prefer-rest-params\n (c[a].q = c[a].q || []).push(arguments);\n };\n t = l.createElement(r);\n t.async = 1;\n t.src = 'https://www.clarity.ms/tag/' + i + '?ref=npm';\n t.id = 'clarity-script';\n y = l.getElementsByTagName(r)[0];\n y.parentNode.insertBefore(t, y);\n })(window, document, 'clarity', 'script', projectId);\n } catch {\n // ignore\n }\n};\n\n/**\n * 自动识别用户信息\n */\nconst autoIdentifyUser = async () => {\n const currentUserStore = useCurrentUserStore();\n\n // 等待 userInfo 变为有效值\n await until(() => currentUserStore.userInfo?.id).toBeTruthy();\n\n const userInfo = {\n id: currentUserStore.userInfo?.id?.toString() || '',\n name: currentUserStore.userInfo?.name?.toString() || '',\n };\n\n Clarity.identify({\n customId: userInfo.id,\n customSessionId: userInfo.id,\n customPageId: '',\n friendlyName: `${userInfo.name} - ${userInfo.id}`,\n });\n};\n\n/**\n * Microsoft Clarity 封装\n *\n * @example\n * ```ts\n * // 自动识别用户信息\n * Clarity.init('your-project-id');\n *\n * // 手动设置用户信息\n * Clarity.init('your-project-id', { autoIdentify: false });\n * Clarity.identify({ customId: 'user-id', friendlyName: 'User Name' });\n * ```\n */\nexport const Clarity = {\n /**\n * 初始化 Clarity\n * @param projectId 项目 ID\n * @param options 配置选项\n */\n init(projectId: string, options: ClarityInitOptions = {}) {\n const { autoIdentify = true } = options;\n\n if (!projectId) {\n return;\n }\n\n injectScript(projectId);\n\n if (autoIdentify) {\n autoIdentifyUser();\n }\n },\n\n /**\n * 设置标签\n */\n setTag(key: string, value: string | string[]) {\n window.clarity('set', key, value);\n },\n\n /**\n * 识别用户\n */\n identify(options: ClarityIdentifyOptions) {\n const { customId, customSessionId, customPageId, friendlyName } = options;\n window.clarity('identify', customId, customSessionId, customPageId, friendlyName);\n },\n\n /**\n * 同意追踪\n */\n consent(consent = true) {\n window.clarity('consent', consent);\n },\n\n /**\n * 同意追踪 V2\n */\n consentV2(options: ClarityConsentV2Options = { ad_Storage: 'granted', analytics_Storage: 'granted' }) {\n window.clarity('consentv2', options);\n },\n\n /**\n * 升级会话\n */\n upgrade(reason: string) {\n window.clarity('upgrade', reason);\n },\n\n /**\n * 发送自定义事件\n */\n event(eventName: string) {\n window.clarity('event', eventName);\n },\n};\n"],"names":[],"mappings":"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"}
@@ -112,10 +112,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
112
112
  zIndex: NumberConstructor;
113
113
  namespace: import("element-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "el", boolean>;
114
114
  }>>, {
115
+ namespace: string;
115
116
  valueOnClear: import("element-plus/es/utils").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
116
117
  a11y: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
117
118
  keyboardNavigation: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
118
- namespace: string;
119
119
  }, {}>, {
120
120
  default?: ((props: any) => any) | undefined;
121
121
  }>;
@@ -113,10 +113,10 @@ export declare const GmConfigProvider: import("../../../../utils").SFCWithInstal
113
113
  zIndex: NumberConstructor;
114
114
  namespace: import("element-plus/es/utils/index.js").EpPropFinalized<StringConstructor, unknown, unknown, "el", boolean>;
115
115
  }>>, {
116
+ namespace: string;
116
117
  valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
117
118
  a11y: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
118
119
  keyboardNavigation: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
119
- namespace: string;
120
120
  }, true, {}, {}, {
121
121
  P: {};
122
122
  B: {};
@@ -182,10 +182,10 @@ export declare const GmConfigProvider: import("../../../../utils").SFCWithInstal
182
182
  }>>, {
183
183
  elRef: import("vue").Ref<import("element-plus").ConfigProviderInstance | undefined>;
184
184
  }, {}, {}, {}, {
185
+ namespace: string;
185
186
  valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
186
187
  a11y: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
187
188
  keyboardNavigation: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
188
- namespace: string;
189
189
  }>;
190
190
  __isFragment?: undefined;
191
191
  __isTeleport?: undefined;
@@ -248,10 +248,10 @@ export declare const GmConfigProvider: import("../../../../utils").SFCWithInstal
248
248
  }>>, {
249
249
  elRef: import("vue").Ref<import("element-plus").ConfigProviderInstance | undefined>;
250
250
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
251
+ namespace: string;
251
252
  valueOnClear: import("element-plus/es/utils/index.js").EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | ((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null))[], unknown, unknown>;
252
253
  a11y: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
253
254
  keyboardNavigation: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
254
- namespace: string;
255
255
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
256
256
  $slots: {
257
257
  default?: ((props: any) => any) | undefined;
@@ -118,8 +118,8 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
118
118
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
119
119
  error: (evt: Event) => void;
120
120
  show: () => void;
121
- close: () => void;
122
121
  switch: (val: number) => void;
122
+ close: () => void;
123
123
  load: (evt: Event) => void;
124
124
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
125
125
  hideOnClickModal: BooleanConstructor;
@@ -118,8 +118,8 @@ export declare const GmImage: import("../../../../utils").SFCWithInstall<{
118
118
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
119
119
  error: (evt: Event) => void;
120
120
  show: () => void;
121
- close: () => void;
122
121
  switch: (val: number) => void;
122
+ close: () => void;
123
123
  load: (evt: Event) => void;
124
124
  }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
125
125
  hideOnClickModal: BooleanConstructor;
@@ -510,8 +510,8 @@ export declare const GmImage: import("../../../../utils").SFCWithInstall<{
510
510
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
511
511
  error: (evt: Event) => void;
512
512
  show: () => void;
513
- close: () => void;
514
513
  switch: (val: number) => void;
514
+ close: () => void;
515
515
  load: (evt: Event) => void;
516
516
  }, string, {
517
517
  infinite: boolean;
@@ -83,8 +83,8 @@ declare const _default: import("vue").DefineComponent<{
83
83
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
84
84
  error: (evt: Event) => void;
85
85
  rotate: (deg: number) => void;
86
- close: () => void;
87
86
  switch: (index: number) => void;
87
+ close: () => void;
88
88
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
89
89
  urlList: {
90
90
  readonly type: import("vue").PropType<string[]>;
@@ -84,8 +84,8 @@ export declare const GmImageViewer: import("../../../../utils").SFCWithInstall<i
84
84
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
85
85
  error: (evt: Event) => void;
86
86
  rotate: (deg: number) => void;
87
- close: () => void;
88
87
  switch: (index: number) => void;
88
+ close: () => void;
89
89
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
90
90
  urlList: {
91
91
  readonly type: import("vue").PropType<string[]>;
@@ -178,10 +178,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
178
178
  width: number;
179
179
  strokeLinecap: NonNullable<"inherit" | "round" | "butt" | "square" | undefined>;
180
180
  strokeWidth: number;
181
+ status: "" | "success" | "warning" | "exception";
181
182
  indeterminate: boolean;
182
183
  format: import("element-plus").ProgressFn;
183
184
  percentage: number;
184
- status: "" | "success" | "warning" | "exception";
185
185
  textInside: boolean;
186
186
  showText: boolean;
187
187
  striped: boolean;
@@ -179,10 +179,10 @@ export declare const GmProgress: import("../../../../utils").SFCWithInstall<{
179
179
  width: number;
180
180
  strokeLinecap: NonNullable<"inherit" | "round" | "butt" | "square" | undefined>;
181
181
  strokeWidth: number;
182
+ status: "" | "success" | "warning" | "exception";
182
183
  indeterminate: boolean;
183
184
  format: import("element-plus").ProgressFn;
184
185
  percentage: number;
185
- status: "" | "success" | "warning" | "exception";
186
186
  textInside: boolean;
187
187
  showText: boolean;
188
188
  striped: boolean;
@@ -288,10 +288,10 @@ export declare const GmProgress: import("../../../../utils").SFCWithInstall<{
288
288
  width: number;
289
289
  strokeLinecap: NonNullable<"inherit" | "round" | "butt" | "square" | undefined>;
290
290
  strokeWidth: number;
291
+ status: "" | "success" | "warning" | "exception";
291
292
  indeterminate: boolean;
292
293
  format: import("element-plus").ProgressFn;
293
294
  percentage: number;
294
- status: "" | "success" | "warning" | "exception";
295
295
  textInside: boolean;
296
296
  showText: boolean;
297
297
  striped: boolean;
@@ -394,10 +394,10 @@ export declare const GmProgress: import("../../../../utils").SFCWithInstall<{
394
394
  width: number;
395
395
  strokeLinecap: NonNullable<"inherit" | "round" | "butt" | "square" | undefined>;
396
396
  strokeWidth: number;
397
+ status: "" | "success" | "warning" | "exception";
397
398
  indeterminate: boolean;
398
399
  format: import("element-plus").ProgressFn;
399
400
  percentage: number;
400
- status: "" | "success" | "warning" | "exception";
401
401
  textInside: boolean;
402
402
  showText: boolean;
403
403
  striped: boolean;
@@ -133,11 +133,11 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
133
133
  style: import("vue").StyleValue;
134
134
  direction: "horizontal" | "vertical";
135
135
  wrap: boolean;
136
- class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
137
- alignment: string;
138
136
  spacer: import("vue").VNodeChild | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
139
137
  [key: string]: any;
140
138
  }>;
139
+ class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
140
+ alignment: string;
141
141
  fillRatio: number;
142
142
  }, {}>, {
143
143
  default?: ((props: any) => any) | undefined;
@@ -135,11 +135,11 @@ export declare const GmSpace: import("../../../../utils").SFCWithInstall<{
135
135
  style: import("vue").StyleValue;
136
136
  direction: "horizontal" | "vertical";
137
137
  wrap: boolean;
138
- class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
139
- alignment: string;
140
138
  spacer: import("vue").VNodeChild | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
141
139
  [key: string]: any;
142
140
  }>;
141
+ class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
142
+ alignment: string;
143
143
  fillRatio: number;
144
144
  }, true, {}, {}, {
145
145
  P: {};
@@ -218,11 +218,11 @@ export declare const GmSpace: import("../../../../utils").SFCWithInstall<{
218
218
  style: import("vue").StyleValue;
219
219
  direction: "horizontal" | "vertical";
220
220
  wrap: boolean;
221
- class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
222
- alignment: string;
223
221
  spacer: import("vue").VNodeChild | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
224
222
  [key: string]: any;
225
223
  }>;
224
+ class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
225
+ alignment: string;
226
226
  fillRatio: number;
227
227
  }>;
228
228
  __isFragment?: undefined;
@@ -298,11 +298,11 @@ export declare const GmSpace: import("../../../../utils").SFCWithInstall<{
298
298
  style: import("vue").StyleValue;
299
299
  direction: "horizontal" | "vertical";
300
300
  wrap: boolean;
301
- class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
302
- alignment: string;
303
301
  spacer: import("vue").VNodeChild | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
304
302
  [key: string]: any;
305
303
  }>;
304
+ class: string | Record<string, boolean> | (string | Record<string, boolean>)[];
305
+ alignment: string;
306
306
  fillRatio: number;
307
307
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
308
308
  $slots: {
@@ -73,8 +73,8 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
73
73
  };
74
74
  }>>, {
75
75
  title: string;
76
- description: string;
77
76
  status: "" | "error" | "success" | "wait" | "finish" | "process";
77
+ description: string;
78
78
  }, {}>, __VLS_Slots>;
79
79
  export default _default;
80
80
  type __VLS_WithSlots<T, S> = T & {
@@ -66,8 +66,8 @@ export declare const GmStep: import("../../../../utils").SFCWithInstall<{
66
66
  };
67
67
  }>>, {
68
68
  title: string;
69
- description: string;
70
69
  status: "" | "error" | "success" | "wait" | "finish" | "process";
70
+ description: string;
71
71
  }, true, {}, {}, {
72
72
  P: {};
73
73
  B: {};
@@ -110,8 +110,8 @@ export declare const GmStep: import("../../../../utils").SFCWithInstall<{
110
110
  elRef: import("vue").Ref<import("element-plus").StepInstance | undefined>;
111
111
  }, {}, {}, {}, {
112
112
  title: string;
113
- description: string;
114
113
  status: "" | "error" | "success" | "wait" | "finish" | "process";
114
+ description: string;
115
115
  }>;
116
116
  __isFragment?: undefined;
117
117
  __isTeleport?: undefined;
@@ -151,8 +151,8 @@ export declare const GmStep: import("../../../../utils").SFCWithInstall<{
151
151
  elRef: import("vue").Ref<import("element-plus").StepInstance | undefined>;
152
152
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
153
153
  title: string;
154
- description: string;
155
154
  status: "" | "error" | "success" | "wait" | "finish" | "process";
155
+ description: string;
156
156
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
157
157
  $slots: {
158
158
  icon?: ((props: {}) => any) | undefined;
@@ -18,7 +18,7 @@ var is = require('../../../../utils/src/is.js');
18
18
 
19
19
  const _hoisted_1 = { key: 0 };
20
20
  const _hoisted_2 = ["src"];
21
- const _hoisted_3 = { class: "gm-py-10" };
21
+ const _hoisted_3 = ["src"];
22
22
  const loginEnvKey = "VITE_GIIME_LOGIN_URL";
23
23
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
24
24
  __name: "LoginDialog",
@@ -188,7 +188,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
188
188
  { key: 1 },
189
189
  [
190
190
  vue.createCommentVNode(" \u5F02\u5E38\u72B6\u6001\uFF1A\u663E\u793A\u9519\u8BEF\u63D0\u793A "),
191
- vue.createElementVNode("div", _hoisted_3, [
191
+ vue.createElementVNode("div", {
192
+ class: "gm-py-10",
193
+ src: loginUrl.value
194
+ }, [
192
195
  vue.createVNode(vue.unref(elementPlus.ElResult), {
193
196
  icon: "warning",
194
197
  title: "\u767B\u5F55\u5F02\u5E38",
@@ -228,7 +231,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
228
231
  _: 1
229
232
  /* STABLE */
230
233
  })
231
- ])
234
+ ], 8, _hoisted_3)
232
235
  ],
233
236
  2112
234
237
  /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
@@ -1 +1 @@
1
- {"version":3,"file":"LoginDialog.vue2.js","sources":["../../../../../../../packages/components/src/business/loginDialog/LoginDialog.vue"],"sourcesContent":["<script lang=\"ts\">\nconst loginEnvKey = 'VITE_GIIME_LOGIN_URL'\n</script>\n<template>\n <div v-if=\"isSSRShowDialog\">\n <el-dialog v-model=\"loginStore.showLogin\" width=\"80%\" append-to-body>\n <!-- 正常登录状态:显示iframe -->\n <iframe v-if=\"loginStore.showLogin && !loginStore.isLoginBlocked\" class=\"gm-h-[600px] gm-w-full\" :src=\"loginUrl\" />\n <!-- 异常状态:显示错误提示 -->\n <div v-else-if=\"loginStore.isLoginBlocked\" class=\"gm-py-10\">\n <el-result icon=\"warning\" title=\"登录异常\" sub-title=\"短时间内多次登录失败,请稍后重试\">\n <template #extra>\n <el-button type=\"primary\" @click=\"handleRetryLogin\">重新登录</el-button>\n <el-button type=\"warning\" @click=\"handleClearCache\">清空缓存</el-button>\n <el-button @click=\"loginStore.showLogin = false\">关闭</el-button>\n </template>\n </el-result>\n </div>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\n// import { isObject } from '@vue/shared';\nimport { ElButton, ElDialog, ElMessage, ElResult } from 'element-plus';\nimport Cookies from 'js-cookie';\n// import router from 'vue-router';\nimport { useLoginStore } from '@giime/hooks';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { isDingTalk, isMobile, isString } from '@giime/utils';\nimport { getDomain, urlJoin } from '@giime/utils/src/http/url';\nimport { getTenantType, isGiikin } from '@giime/utils/src/tenant';\nimport { envConfigs } from '@giime/utils/src/http/createModes';\nimport { loginDialogProps } from './loginDialog';\nimport { resetEnvMode } from '@giime/constants/key';\n\nconst props = defineProps(loginDialogProps);\nconst router = useGlobalConfig('router');\n\n// const router = useRouter();\nconst route = computed(() => (router.value ? router.value.currentRoute.value : undefined));\nconst loginStore = useLoginStore();\nconst loginUrl = ref('');\n\n\nconst importMetaEnv = useGlobalConfig('env');\nconst isSSRShowDialog = ref(importMetaEnv.value.SSR === false);\n\n/**\n * 获取登录URL\n * 优先级:环境变量 > resetEnvMode > 租户类型判断 > 默认值\n */\nlet originLoginUrl = '';\n// 1. 优先使用环境变量配置的 loginUrl\nif (isString(importMetaEnv.value[loginEnvKey])) {\n originLoginUrl = importMetaEnv.value[loginEnvKey];\n} else {\n // 2. 根据租户类型获取登录路径\n const loginPath = isGiikin() ? '/guard/sso/public/auth' : '/fe/basic/login';\n\n // 3. 根据 resetEnvMode 获取环境配置并拼接完整URL\n const resetMode = importMetaEnv.value[resetEnvMode];\n const hostname = window.location.hostname;\n // 获取域名对应的环境配置\n const findEnvConfig = Object.values(envConfigs).find(config => config.domain === hostname);\n if (resetMode && envConfigs[resetMode]) {\n originLoginUrl = urlJoin(envConfigs[resetMode].url, loginPath);\n } else if (findEnvConfig) {\n // 4. 根据域名获取环境配置并拼接完整URL\n originLoginUrl = urlJoin(findEnvConfig.url, loginPath);\n } else {\n // 5. 默认使用开发环境登录路径\n originLoginUrl = urlJoin(envConfigs.develop.url, loginPath);\n }\n}\nconst handleLogin = () => {\n const protocol = window.location.protocol;\n const host = window.location.host;\n const myPath = window.location.pathname;\n loginUrl.value = `${originLoginUrl}?_system=${props.system}`;\n if (route.value && props.needScanningRouteNames.includes(route.value?.name?.toString() ?? '')) {\n loginUrl.value += '&is_dashboard=1';\n }\n\n // 公司id\n const guard_company = Cookies.get('guard_company');\n if (guard_company) {\n loginUrl.value += `&companyId=${guard_company}`;\n }\n\n loginUrl.value += `&${props.redirectUrlField}=${protocol}//${host}${myPath}`;\n\n // eslint-disable-next-line no-console\n console.log(loginUrl.value);\n if (isMobile() || isDingTalk()) {\n window.location.href = loginUrl.value;\n }\n};\n\n/** 重试登录:重置循环保护计数器并重新加载登录页 */\nconst handleRetryLogin = () => {\n loginStore.resetLoginBlock();\n handleLogin();\n};\n\n/** 清空缓存:清除 Cookies、localStorage 和 sessionStorage */\nconst handleClearCache = () => {\n // 清除所有 Cookies\n const cookies = document.cookie.split(';');\n const curDomain = getDomain();\n cookies.forEach(cookie => {\n const name = cookie.split('=')[0].trim();\n if (name) {\n // 尝试多种方式删除 cookie\n Cookies.remove(name);\n Cookies.remove(name, { domain: curDomain });\n Cookies.remove(name, { domain: `.${curDomain}` });\n }\n });\n\n // 提示操作成功\n ElMessage.success('清除cookie缓存成功');\n};\nwatch(\n () => loginStore.showLogin,\n value => {\n if (value) {\n handleLogin();\n }\n },\n);\n// 超过5分钟没扫码 会不能扫码 定时没登录的话3分钟刷新次\nconst reloadTimer = ref<number>();\nif (route.value) {\n watch(route, (newValue, oldValue) => {\n if (!oldValue || !newValue) {\n return;\n }\n if (oldValue.name && props.needScanningRouteNames.includes(oldValue.name.toString())) {\n window.clearInterval(reloadTimer.value);\n }\n if (newValue.name && props.needScanningRouteNames.includes(newValue.name.toString())) {\n reloadTimer.value = window.setInterval(\n () => {\n if (!loginStore.showLogin) {\n return;\n }\n // 登录超时后 3分钟刷新次页面\n window.location.reload();\n },\n 3 * 60 * 1000,\n );\n }\n });\n}\n\ninterface GiikinLogged {\n type: string;\n data: {\n token: string;\n userId: string;\n /**token 或者 loginSuccess 控制当前登录是否成功*/\n loginSuccess?: boolean;\n /**禁止写入cookie */\n disabledWrite?: boolean;\n disabledClose?: boolean;\n tokens: { key: string; value: string }[];\n };\n cookies?: string[];\n}\n\nonMounted(() => {\n isSSRShowDialog.value = true;\n if (loginStore.showLogin) {\n handleLogin();\n }\n // iframe事件监听\n window.addEventListener('message', async e => {\n // 刷新登陆状态\n if (e.data.type == 'giikin-Logged') {\n const data: GiikinLogged = e.data;\n // eslint-disable-next-line no-console\n console.log(e.data);\n const token = Cookies.get('token');\n // const isProduction = importMetaEnv.value.MODE === 'production' || importMetaEnv.value.MODE === 'giiktok.production';\n const isProduction = importMetaEnv.value.MODE.includes('production');\n if (\n // 测试环境 但是需要登陆的情况\n (!isProduction && data?.data?.token) ||\n // 正式环境 登录成功 但是服务器token设置失败\n (isProduction && !token && data?.data?.token)\n ) {\n // loginStore.userToken = data.data.token;\n loginStore.userId = data.data.userId;\n const now = new Date();\n let time = now.getTime();\n time += 8 * 60 * 60 * 1000; // 8 小时之后的时间(单位:毫秒)\n now.setTime(time);\n const curDomain = getDomain();\n // 不禁用 则写入cookie\n if (!data.data.disabledWrite) {\n // cookieMap\n if (data.cookies && Array.isArray(data.cookies)) {\n data.cookies.forEach((cookie: string) => {\n document.cookie = cookie;\n });\n }\n // 可能出现测试环境调正式,需要写入token\n Cookies.set('token', data.data.token, { expires: now, domain: isProduction ? curDomain : undefined });\n // 本地开发时 写入token\n if (importMetaEnv.value.DEV && data.data.tokens) {\n data.data.tokens.forEach((token: { key: string; value: string }) => {\n Cookies.set(token.key, token.value, { expires: now, domain: curDomain });\n });\n }\n\n if (!Cookies.get('sso_user_id') && data.data.userId) {\n Cookies.set('sso_user_id', data.data.userId, {\n expires: now,\n domain: isProduction ? curDomain : undefined,\n });\n }\n }\n }\n if (!data.data.disabledClose) {\n // 触发登录成功监听\n if (data?.data?.token || data?.data?.loginSuccess) {\n await loginStore.triggerLoginResult(true);\n }\n // ElMessage.success('登录成功,请关闭弹窗');\n loginStore.showLogin = false;\n if (route.value && props.needRealodRouteNames.includes(route.value.name?.toString() ?? '')) {\n window.location.reload();\n }\n }\n }\n });\n});\nonUnmounted(() => {\n window.clearInterval(reloadTimer.value);\n});\n</script>\n"],"names":["useGlobalConfig","computed","useLoginStore","ref","isString","isGiikin","resetEnvMode","envConfigs","urlJoin","isMobile","isDingTalk","getDomain","ElMessage","watch","onMounted","token","onUnmounted"],"mappings":"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"}
1
+ {"version":3,"file":"LoginDialog.vue2.js","sources":["../../../../../../../packages/components/src/business/loginDialog/LoginDialog.vue"],"sourcesContent":["<script lang=\"ts\">\nconst loginEnvKey = 'VITE_GIIME_LOGIN_URL'\n</script>\n<template>\n <div v-if=\"isSSRShowDialog\">\n <el-dialog v-model=\"loginStore.showLogin\" width=\"80%\" append-to-body>\n <!-- 正常登录状态:显示iframe -->\n <iframe v-if=\"loginStore.showLogin && !loginStore.isLoginBlocked\" class=\"gm-h-[600px] gm-w-full\" :src=\"loginUrl\" />\n <!-- 异常状态:显示错误提示 -->\n <div v-else-if=\"loginStore.isLoginBlocked\" class=\"gm-py-10\" :src=\"loginUrl\">\n <el-result icon=\"warning\" title=\"登录异常\" sub-title=\"短时间内多次登录失败,请稍后重试\">\n <template #extra>\n <el-button type=\"primary\" @click=\"handleRetryLogin\">重新登录</el-button>\n <el-button type=\"warning\" @click=\"handleClearCache\">清空缓存</el-button>\n <el-button @click=\"loginStore.showLogin = false\">关闭</el-button>\n </template>\n </el-result>\n </div>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue';\n// import { isObject } from '@vue/shared';\nimport { ElButton, ElDialog, ElMessage, ElResult } from 'element-plus';\nimport Cookies from 'js-cookie';\n// import router from 'vue-router';\nimport { useLoginStore } from '@giime/hooks';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport { isDingTalk, isMobile, isString } from '@giime/utils';\nimport { getDomain, urlJoin } from '@giime/utils/src/http/url';\nimport { getTenantType, isGiikin } from '@giime/utils/src/tenant';\nimport { envConfigs } from '@giime/utils/src/http/createModes';\nimport { loginDialogProps } from './loginDialog';\nimport { resetEnvMode } from '@giime/constants/key';\n\nconst props = defineProps(loginDialogProps);\nconst router = useGlobalConfig('router');\n\n// const router = useRouter();\nconst route = computed(() => (router.value ? router.value.currentRoute.value : undefined));\nconst loginStore = useLoginStore();\nconst loginUrl = ref('');\n\n\nconst importMetaEnv = useGlobalConfig('env');\nconst isSSRShowDialog = ref(importMetaEnv.value.SSR === false);\n\n/**\n * 获取登录URL\n * 优先级:环境变量 > resetEnvMode > 租户类型判断 > 默认值\n */\nlet originLoginUrl = '';\n// 1. 优先使用环境变量配置的 loginUrl\nif (isString(importMetaEnv.value[loginEnvKey])) {\n originLoginUrl = importMetaEnv.value[loginEnvKey];\n} else {\n // 2. 根据租户类型获取登录路径\n const loginPath = isGiikin() ? '/guard/sso/public/auth' : '/fe/basic/login';\n\n // 3. 根据 resetEnvMode 获取环境配置并拼接完整URL\n const resetMode = importMetaEnv.value[resetEnvMode];\n const hostname = window.location.hostname;\n // 获取域名对应的环境配置\n const findEnvConfig = Object.values(envConfigs).find(config => config.domain === hostname);\n if (resetMode && envConfigs[resetMode]) {\n originLoginUrl = urlJoin(envConfigs[resetMode].url, loginPath);\n } else if (findEnvConfig) {\n // 4. 根据域名获取环境配置并拼接完整URL\n originLoginUrl = urlJoin(findEnvConfig.url, loginPath);\n } else {\n // 5. 默认使用开发环境登录路径\n originLoginUrl = urlJoin(envConfigs.develop.url, loginPath);\n }\n}\nconst handleLogin = () => {\n const protocol = window.location.protocol;\n const host = window.location.host;\n const myPath = window.location.pathname;\n loginUrl.value = `${originLoginUrl}?_system=${props.system}`;\n if (route.value && props.needScanningRouteNames.includes(route.value?.name?.toString() ?? '')) {\n loginUrl.value += '&is_dashboard=1';\n }\n\n // 公司id\n const guard_company = Cookies.get('guard_company');\n if (guard_company) {\n loginUrl.value += `&companyId=${guard_company}`;\n }\n\n loginUrl.value += `&${props.redirectUrlField}=${protocol}//${host}${myPath}`;\n\n // eslint-disable-next-line no-console\n console.log(loginUrl.value);\n if (isMobile() || isDingTalk()) {\n window.location.href = loginUrl.value;\n }\n};\n\n/** 重试登录:重置循环保护计数器并重新加载登录页 */\nconst handleRetryLogin = () => {\n loginStore.resetLoginBlock();\n handleLogin();\n};\n\n/** 清空缓存:清除 Cookies、localStorage 和 sessionStorage */\nconst handleClearCache = () => {\n // 清除所有 Cookies\n const cookies = document.cookie.split(';');\n const curDomain = getDomain();\n cookies.forEach(cookie => {\n const name = cookie.split('=')[0].trim();\n if (name) {\n // 尝试多种方式删除 cookie\n Cookies.remove(name);\n Cookies.remove(name, { domain: curDomain });\n Cookies.remove(name, { domain: `.${curDomain}` });\n }\n });\n\n // 提示操作成功\n ElMessage.success('清除cookie缓存成功');\n};\nwatch(\n () => loginStore.showLogin,\n value => {\n if (value) {\n handleLogin();\n }\n },\n);\n// 超过5分钟没扫码 会不能扫码 定时没登录的话3分钟刷新次\nconst reloadTimer = ref<number>();\nif (route.value) {\n watch(route, (newValue, oldValue) => {\n if (!oldValue || !newValue) {\n return;\n }\n if (oldValue.name && props.needScanningRouteNames.includes(oldValue.name.toString())) {\n window.clearInterval(reloadTimer.value);\n }\n if (newValue.name && props.needScanningRouteNames.includes(newValue.name.toString())) {\n reloadTimer.value = window.setInterval(\n () => {\n if (!loginStore.showLogin) {\n return;\n }\n // 登录超时后 3分钟刷新次页面\n window.location.reload();\n },\n 3 * 60 * 1000,\n );\n }\n });\n}\n\ninterface GiikinLogged {\n type: string;\n data: {\n token: string;\n userId: string;\n /**token 或者 loginSuccess 控制当前登录是否成功*/\n loginSuccess?: boolean;\n /**禁止写入cookie */\n disabledWrite?: boolean;\n disabledClose?: boolean;\n tokens: { key: string; value: string }[];\n };\n cookies?: string[];\n}\n\nonMounted(() => {\n isSSRShowDialog.value = true;\n if (loginStore.showLogin) {\n handleLogin();\n }\n // iframe事件监听\n window.addEventListener('message', async e => {\n // 刷新登陆状态\n if (e.data.type == 'giikin-Logged') {\n const data: GiikinLogged = e.data;\n // eslint-disable-next-line no-console\n console.log(e.data);\n const token = Cookies.get('token');\n // const isProduction = importMetaEnv.value.MODE === 'production' || importMetaEnv.value.MODE === 'giiktok.production';\n const isProduction = importMetaEnv.value.MODE.includes('production');\n if (\n // 测试环境 但是需要登陆的情况\n (!isProduction && data?.data?.token) ||\n // 正式环境 登录成功 但是服务器token设置失败\n (isProduction && !token && data?.data?.token)\n ) {\n // loginStore.userToken = data.data.token;\n loginStore.userId = data.data.userId;\n const now = new Date();\n let time = now.getTime();\n time += 8 * 60 * 60 * 1000; // 8 小时之后的时间(单位:毫秒)\n now.setTime(time);\n const curDomain = getDomain();\n // 不禁用 则写入cookie\n if (!data.data.disabledWrite) {\n // cookieMap\n if (data.cookies && Array.isArray(data.cookies)) {\n data.cookies.forEach((cookie: string) => {\n document.cookie = cookie;\n });\n }\n // 可能出现测试环境调正式,需要写入token\n Cookies.set('token', data.data.token, { expires: now, domain: isProduction ? curDomain : undefined });\n // 本地开发时 写入token\n if (importMetaEnv.value.DEV && data.data.tokens) {\n data.data.tokens.forEach((token: { key: string; value: string }) => {\n Cookies.set(token.key, token.value, { expires: now, domain: curDomain });\n });\n }\n\n if (!Cookies.get('sso_user_id') && data.data.userId) {\n Cookies.set('sso_user_id', data.data.userId, {\n expires: now,\n domain: isProduction ? curDomain : undefined,\n });\n }\n }\n }\n if (!data.data.disabledClose) {\n // 触发登录成功监听\n if (data?.data?.token || data?.data?.loginSuccess) {\n await loginStore.triggerLoginResult(true);\n }\n // ElMessage.success('登录成功,请关闭弹窗');\n loginStore.showLogin = false;\n if (route.value && props.needRealodRouteNames.includes(route.value.name?.toString() ?? '')) {\n window.location.reload();\n }\n }\n }\n });\n});\nonUnmounted(() => {\n window.clearInterval(reloadTimer.value);\n});\n</script>\n"],"names":["useGlobalConfig","computed","useLoginStore","ref","isString","isGiikin","resetEnvMode","envConfigs","urlJoin","isMobile","isDingTalk","getDomain","ElMessage","watch","onMounted","token","onUnmounted"],"mappings":"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"}
@@ -24,19 +24,22 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ vue.defineComponent({
24
24
  },
25
25
  setup(props) {
26
26
  const mergePropsList = vue.computed(() => {
27
- return props.propsList.map((it) => {
28
- const findProp = props.defaultPropsList.find((item) => item.prop === it.prop);
29
- if (findProp) {
30
- return findProp;
31
- }
32
- return it;
27
+ const matchedItems = props.propsList.filter((propsItem) => {
28
+ return props.defaultPropsList.some((defaultItem) => defaultItem.prop === propsItem.prop);
29
+ });
30
+ const additionalItems = props.defaultPropsList.filter((defaultItem) => {
31
+ return !props.propsList.some((propsItem) => propsItem.prop === defaultItem.prop);
33
32
  });
33
+ return [...matchedItems, ...additionalItems];
34
34
  });
35
35
  const processVNode = (vnode) => {
36
36
  if (!vnode) return null;
37
37
  if (vnode.type?.name === "GmTableColumnPro") {
38
+ if (vnode.props?.type === "edit") {
39
+ return null;
40
+ }
38
41
  const propsConfig = mergePropsList.value.find((it) => it.prop === vnode.props?.prop);
39
- if (propsConfig && (!propsConfig.isShow || propsConfig.type === "edit")) {
42
+ if (propsConfig && !propsConfig.isShow) {
40
43
  return null;
41
44
  }
42
45
  if (propsConfig) {
@@ -95,8 +98,7 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ vue.defineComponent({
95
98
  processedProps.add(propsConfig.prop);
96
99
  }
97
100
  });
98
- const remainingColumns = topLevelColumns.filter((col) => col?.props?.prop && !processedProps.has(col.props.prop));
99
- return [...multiLevelHeaders, ...orderedColumns, ...remainingColumns].map((vnode) => vnode ? vue.h(vnode) : null).filter(Boolean);
101
+ return [...multiLevelHeaders, ...orderedColumns].map((vnode) => vnode ? vue.h(vnode) : null).filter(Boolean);
100
102
  });
101
103
  return () => render.value;
102
104
  }