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.
- package/dist/index.css +75 -75
- package/es/components/src/base/configProvider/ConfigProvider.vue.d.ts +1 -1
- package/es/components/src/base/configProvider/index.d.ts +3 -3
- package/es/components/src/base/image/Image.vue.d.ts +1 -1
- package/es/components/src/base/image/index.d.ts +2 -2
- package/es/components/src/base/imageViewer/ImageViewer.vue.d.ts +1 -1
- package/es/components/src/base/imageViewer/index.d.ts +1 -1
- package/es/components/src/base/progress/Progress.vue.d.ts +1 -1
- package/es/components/src/base/progress/index.d.ts +3 -3
- package/es/components/src/base/space/Space.vue.d.ts +2 -2
- package/es/components/src/base/space/index.d.ts +6 -6
- package/es/components/src/base/step/Step.vue.d.ts +1 -1
- package/es/components/src/base/step/index.d.ts +3 -3
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs +6 -3
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
- package/es/components/src/composite/tableCustom/TableColumnVNodeRenderer.mjs +11 -9
- package/es/components/src/composite/tableCustom/TableColumnVNodeRenderer.mjs.map +1 -1
- package/es/components/src/composite/tableCustom/TableCustom.vue.mjs +1 -1
- package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs +1 -1
- package/es/components/src/composite/tableCustom/TableCustom.vue2.mjs.map +1 -1
- package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs +7 -1
- package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs.map +1 -1
- package/es/giime/index.mjs +1 -0
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useDownload/index.d.ts +3 -0
- package/es/hooks/base/useDownload/index.mjs.map +1 -1
- package/es/hooks/store/common/useLangList/index.d.ts +1 -1
- package/es/hooks/store/useLineList/index.d.ts +1 -1
- package/es/index.css +75 -75
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.mjs +1 -0
- package/es/utils/index.mjs.map +1 -1
- package/es/utils/src/clarity/index.d.ts +67 -0
- package/es/utils/src/clarity/index.mjs +93 -0
- package/es/utils/src/clarity/index.mjs.map +1 -0
- package/lib/components/src/base/configProvider/ConfigProvider.vue.d.ts +1 -1
- package/lib/components/src/base/configProvider/index.d.ts +3 -3
- package/lib/components/src/base/image/Image.vue.d.ts +1 -1
- package/lib/components/src/base/image/index.d.ts +2 -2
- package/lib/components/src/base/imageViewer/ImageViewer.vue.d.ts +1 -1
- package/lib/components/src/base/imageViewer/index.d.ts +1 -1
- package/lib/components/src/base/progress/Progress.vue.d.ts +1 -1
- package/lib/components/src/base/progress/index.d.ts +3 -3
- package/lib/components/src/base/space/Space.vue.d.ts +2 -2
- package/lib/components/src/base/space/index.d.ts +6 -6
- package/lib/components/src/base/step/Step.vue.d.ts +1 -1
- package/lib/components/src/base/step/index.d.ts +3 -3
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js +6 -3
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
- package/lib/components/src/composite/tableCustom/TableColumnVNodeRenderer.js +11 -9
- package/lib/components/src/composite/tableCustom/TableColumnVNodeRenderer.js.map +1 -1
- package/lib/components/src/composite/tableCustom/TableCustom.vue.js +1 -1
- package/lib/components/src/composite/tableCustom/TableCustom.vue2.js +1 -1
- package/lib/components/src/composite/tableCustom/TableCustom.vue2.js.map +1 -1
- package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +7 -1
- package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -1
- package/lib/giime/index.js +375 -373
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useDownload/index.d.ts +3 -0
- package/lib/hooks/base/useDownload/index.js.map +1 -1
- package/lib/hooks/store/common/useLangList/index.d.ts +1 -1
- package/lib/hooks/store/useLineList/index.d.ts +1 -1
- package/lib/index.css +75 -75
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/src/clarity/index.d.ts +67 -0
- package/lib/utils/src/clarity/index.js +95 -0
- package/lib/utils/src/clarity/index.js.map +1 -0
- package/package.json +1 -1
package/es/utils/index.mjs.map
CHANGED
|
@@ -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 =
|
|
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",
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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 &&
|
|
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
|
-
|
|
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
|
}
|