@chewel611/naive-ui-plus 0.0.24 → 0.0.26
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.js +680 -680
- package/dist/index.umd.cjs +1 -1
- package/dist/style.css +1 -1
- package/es/languages/PLanguage.vue.js +24 -22
- package/es/languages/store.d.ts +27 -102
- package/es/languages/store.js +37 -43
- package/es/languages/typing.d.ts +2 -2
- package/es/layout/header/PHeader.css +1 -1
- package/es/layout/header/PHeader.vue.js +3 -3
- package/es/layout/header/PHeader.vue2.js +56 -53
- package/es/layout/store.d.ts +3 -0
- package/es/layout/store.js +2 -1
- package/es/layout/typing.d.ts +1 -0
- package/lib/languages/PLanguage.vue.cjs +1 -1
- package/lib/languages/store.cjs +1 -1
- package/lib/languages/store.d.ts +27 -102
- package/lib/languages/typing.d.ts +2 -2
- package/lib/layout/header/PHeader.css +1 -1
- package/lib/layout/header/PHeader.vue.cjs +1 -1
- package/lib/layout/header/PHeader.vue2.cjs +1 -1
- package/lib/layout/store.cjs +1 -1
- package/lib/layout/store.d.ts +3 -0
- package/lib/layout/typing.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useMessage as
|
|
2
|
-
import { defineComponent as U, inject as j, computed as b, ref as q, openBlock as
|
|
1
|
+
import { useMessage as R, useDialog as z, NIcon as g, NBreadcrumb as M, NBreadcrumbItem as x, NDropdown as k, NTooltip as I, NDivider as V, NAvatar as A } from "naive-ui";
|
|
2
|
+
import { defineComponent as U, inject as j, computed as b, ref as q, openBlock as n, createElementBlock as u, createElementVNode as a, unref as e, createBlock as c, withCtx as i, createVNode as s, Fragment as N, renderList as H, resolveDynamicComponent as S, createCommentVNode as m, toDisplayString as _, withModifiers as $ } from "vue";
|
|
3
3
|
import G from "../../languages/PLanguage.vue.js";
|
|
4
4
|
import { MenuUnfoldOutlined as J, MenuFoldOutlined as K, ReloadOutlined as Q, FullscreenOutlined as W, FullscreenExitOutlined as X } from "@vicons/antd";
|
|
5
5
|
import { useRouter as Y, useRoute as Z } from "vue-router";
|
|
@@ -7,11 +7,14 @@ import { useLayoutStore as ee } from "../store.js";
|
|
|
7
7
|
const te = { class: "layout-header" }, oe = { class: "layout-header-left" }, le = { class: "link-text" }, ne = {
|
|
8
8
|
key: 1,
|
|
9
9
|
class: "link-text"
|
|
10
|
-
}, ae = { class: "layout-header-right" }, re = {
|
|
10
|
+
}, ae = { class: "layout-header-right" }, re = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "layout-header-trigger-min"
|
|
13
|
+
}, se = { class: "layout-header-trigger layout-header-trigger-min" }, ie = { class: "layout-header-trigger layout-header-trigger-min" }, ce = { class: "avatar" }, fe = /* @__PURE__ */ U({
|
|
11
14
|
__name: "PHeader",
|
|
12
15
|
setup(ue) {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
16
|
+
const p = R(), C = z(), r = ee(), f = Y(), P = Z(), y = j("reloadPage"), F = (l) => f.push({ name: l }), B = b(() => v(P.matched)), v = (l) => l.map((t) => {
|
|
17
|
+
const d = {
|
|
15
18
|
key: t.name,
|
|
16
19
|
label: t.meta.title,
|
|
17
20
|
icon: t.meta.icon,
|
|
@@ -19,17 +22,17 @@ const te = { class: "layout-header" }, oe = { class: "layout-header-left" }, le
|
|
|
19
22
|
disabled: t.path === "/",
|
|
20
23
|
children: void 0
|
|
21
24
|
};
|
|
22
|
-
return t.children && t.children.length > 0 && (
|
|
25
|
+
return t.children && t.children.length > 0 && (d.children = v(
|
|
23
26
|
t.children
|
|
24
|
-
)),
|
|
25
|
-
}),
|
|
26
|
-
document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(),
|
|
27
|
+
)), d;
|
|
28
|
+
}), h = q(!1), E = () => {
|
|
29
|
+
document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(), h.value = !1) : (document.documentElement.requestFullscreen(), h.value = !0);
|
|
27
30
|
}, O = b(() => {
|
|
28
31
|
const l = [];
|
|
29
32
|
return l.push({
|
|
30
33
|
label: "退出登录",
|
|
31
34
|
key: "logout"
|
|
32
|
-
}),
|
|
35
|
+
}), r.state.settingPages && r.state.settingPages.length > 0 && r.state.settingPages.forEach((t) => {
|
|
33
36
|
l.push({
|
|
34
37
|
label: t.title,
|
|
35
38
|
key: t.route
|
|
@@ -44,127 +47,127 @@ const te = { class: "layout-header" }, oe = { class: "layout-header-left" }, le
|
|
|
44
47
|
positiveText: "确定",
|
|
45
48
|
negativeText: "取消",
|
|
46
49
|
onPositiveClick: async () => {
|
|
47
|
-
if (
|
|
50
|
+
if (r.state.logout)
|
|
48
51
|
try {
|
|
49
|
-
await
|
|
52
|
+
await r.state.logout(), localStorage.removeItem("TABS-ROUTES"), p.error("退出成功");
|
|
50
53
|
} catch (l) {
|
|
51
|
-
console.error(l),
|
|
54
|
+
console.error(l), p.error("退出登录失败");
|
|
52
55
|
} finally {
|
|
53
56
|
location.reload();
|
|
54
57
|
}
|
|
55
58
|
else
|
|
56
|
-
|
|
59
|
+
p.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法");
|
|
57
60
|
},
|
|
58
61
|
onNegativeClick: () => {
|
|
59
62
|
}
|
|
60
63
|
});
|
|
61
64
|
};
|
|
62
65
|
return (l, t) => {
|
|
63
|
-
const
|
|
64
|
-
return
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
const d = I, D = V, L = A;
|
|
67
|
+
return n(), u("div", te, [
|
|
68
|
+
a("div", oe, [
|
|
69
|
+
a("div", {
|
|
67
70
|
class: "ml-1 layout-header-trigger layout-header-trigger-min",
|
|
68
71
|
onClick: t[0] || (t[0] = //@ts-ignore
|
|
69
|
-
(...o) => e(
|
|
72
|
+
(...o) => e(r).collapse && e(r).collapse(...o))
|
|
70
73
|
}, [
|
|
71
|
-
e(
|
|
74
|
+
e(r).state.collapsed ? (n(), c(e(g), {
|
|
72
75
|
key: 0,
|
|
73
76
|
size: "18"
|
|
74
77
|
}, {
|
|
75
78
|
default: i(() => [
|
|
76
|
-
|
|
79
|
+
s(e(J))
|
|
77
80
|
]),
|
|
78
81
|
_: 1
|
|
79
|
-
})) : (
|
|
82
|
+
})) : (n(), c(e(g), {
|
|
80
83
|
key: 1,
|
|
81
84
|
size: "18"
|
|
82
85
|
}, {
|
|
83
86
|
default: i(() => [
|
|
84
|
-
|
|
87
|
+
s(e(K))
|
|
85
88
|
]),
|
|
86
89
|
_: 1
|
|
87
90
|
}))
|
|
88
91
|
]),
|
|
89
|
-
|
|
92
|
+
a("div", {
|
|
90
93
|
class: "mr-1 layout-header-trigger layout-header-trigger-min",
|
|
91
94
|
onClick: t[1] || (t[1] = //@ts-ignore
|
|
92
95
|
(...o) => e(y) && e(y)(...o))
|
|
93
96
|
}, [
|
|
94
|
-
|
|
97
|
+
s(e(g), { size: "18" }, {
|
|
95
98
|
default: i(() => [
|
|
96
|
-
|
|
99
|
+
s(e(Q))
|
|
97
100
|
]),
|
|
98
101
|
_: 1
|
|
99
102
|
})
|
|
100
103
|
]),
|
|
101
|
-
|
|
104
|
+
s(e(M), null, {
|
|
102
105
|
default: i(() => [
|
|
103
|
-
(
|
|
106
|
+
(n(!0), u(N, null, H(B.value, (o) => (n(), u(N, {
|
|
104
107
|
key: o.label
|
|
105
108
|
}, [
|
|
106
|
-
o.label ? (
|
|
109
|
+
o.label ? (n(), c(e(x), { key: 0 }, {
|
|
107
110
|
default: i(() => [
|
|
108
|
-
o.children && o.children.length ? (
|
|
111
|
+
o.children && o.children.length ? (n(), c(e(k), {
|
|
109
112
|
key: 0,
|
|
110
113
|
options: o.children,
|
|
111
114
|
onSelect: F
|
|
112
115
|
}, {
|
|
113
116
|
default: i(() => [
|
|
114
|
-
|
|
115
|
-
o.icon ? (
|
|
116
|
-
|
|
117
|
+
a("span", le, [
|
|
118
|
+
o.icon ? (n(), c(S(o.icon), { key: 0 })) : m("", !0),
|
|
119
|
+
a("span", null, _(o.label), 1)
|
|
117
120
|
])
|
|
118
121
|
]),
|
|
119
122
|
_: 2
|
|
120
|
-
}, 1032, ["options"])) : (
|
|
121
|
-
o.icon ? (
|
|
122
|
-
|
|
123
|
+
}, 1032, ["options"])) : (n(), u("span", ne, [
|
|
124
|
+
o.icon ? (n(), c(S(o.icon), { key: 0 })) : m("", !0),
|
|
125
|
+
a("span", null, _(o.label), 1)
|
|
123
126
|
]))
|
|
124
127
|
]),
|
|
125
128
|
_: 2
|
|
126
|
-
}, 1024)) :
|
|
129
|
+
}, 1024)) : m("", !0)
|
|
127
130
|
], 64))), 128))
|
|
128
131
|
]),
|
|
129
132
|
_: 1
|
|
130
133
|
})
|
|
131
134
|
]),
|
|
132
|
-
|
|
133
|
-
n("div", re, [
|
|
134
|
-
|
|
135
|
-
]),
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
a("div", ae, [
|
|
136
|
+
e(r).state.enableLanguage ? (n(), u("div", re, [
|
|
137
|
+
s(G)
|
|
138
|
+
])) : m("", !0),
|
|
139
|
+
a("div", se, [
|
|
140
|
+
s(d, { placement: "bottom" }, {
|
|
138
141
|
trigger: i(() => [
|
|
139
|
-
|
|
142
|
+
s(e(g), {
|
|
140
143
|
size: "18",
|
|
141
144
|
onClick: $(E, ["stop"])
|
|
142
145
|
}, {
|
|
143
146
|
default: i(() => [
|
|
144
|
-
|
|
147
|
+
h.value ? (n(), c(e(X), { key: 1 })) : (n(), c(e(W), { key: 0 }))
|
|
145
148
|
]),
|
|
146
149
|
_: 1
|
|
147
150
|
})
|
|
148
151
|
]),
|
|
149
152
|
default: i(() => [
|
|
150
|
-
t[2] || (t[2] =
|
|
153
|
+
t[2] || (t[2] = a("span", null, "全屏", -1))
|
|
151
154
|
]),
|
|
152
155
|
_: 1
|
|
153
156
|
})
|
|
154
157
|
]),
|
|
155
|
-
|
|
156
|
-
|
|
158
|
+
a("div", ie, [
|
|
159
|
+
s(e(k), {
|
|
157
160
|
trigger: "hover",
|
|
158
161
|
onSelect: w,
|
|
159
162
|
options: O.value
|
|
160
163
|
}, {
|
|
161
164
|
default: i(() => [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
165
|
+
a("div", ce, [
|
|
166
|
+
a("span", null, _(e(r).state.uname), 1),
|
|
167
|
+
s(D, { vertical: "" }),
|
|
168
|
+
s(L, {
|
|
166
169
|
round: "",
|
|
167
|
-
src: e(
|
|
170
|
+
src: e(r).state.avatar
|
|
168
171
|
}, null, 8, ["src"])
|
|
169
172
|
])
|
|
170
173
|
]),
|
package/es/layout/store.d.ts
CHANGED
|
@@ -6976,6 +6976,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
6976
6976
|
route: string;
|
|
6977
6977
|
title: string;
|
|
6978
6978
|
}[] | undefined;
|
|
6979
|
+
enableLanguage: boolean;
|
|
6979
6980
|
logout?: (() => Promise<void>) | undefined;
|
|
6980
6981
|
};
|
|
6981
6982
|
initTabs: (routes: RouteItem[]) => void;
|
|
@@ -13971,6 +13972,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
13971
13972
|
route: string;
|
|
13972
13973
|
title: string;
|
|
13973
13974
|
}[] | undefined;
|
|
13975
|
+
enableLanguage: boolean;
|
|
13974
13976
|
logout?: (() => Promise<void>) | undefined;
|
|
13975
13977
|
};
|
|
13976
13978
|
initTabs: (routes: RouteItem[]) => void;
|
|
@@ -20966,6 +20968,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
20966
20968
|
route: string;
|
|
20967
20969
|
title: string;
|
|
20968
20970
|
}[] | undefined;
|
|
20971
|
+
enableLanguage: boolean;
|
|
20969
20972
|
logout?: (() => Promise<void>) | undefined;
|
|
20970
20973
|
};
|
|
20971
20974
|
initTabs: (routes: RouteItem[]) => void;
|
package/es/layout/store.js
CHANGED
package/es/layout/typing.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("naive-ui"),e=require("vue"),f=require("./store.cjs"),v={key:1},_=e.defineComponent({__name:"PLanguage",setup(h){const{select:s,getLanguages:r,getCurrentLanguage:i,getDefaultLanguage:c,getTranslationApiUrl:u}=f.useLanguageStore(),n=e.ref(),o=e.ref([]),g=async t=>await s(t),p=async()=>{const t=window.translate;t&&(t.selectLanguageTag.show=!1,t.selectLanguageTag.languages=(await r()).map(a=>a.key).join(","),t.ignore.class.push("ignore-translate-flag"),t.ignore.id.push("ignore-translation"),t.language.setLocal(c()),t.request.api.translate="api/v1/translation",t.request.api.connectTest="api/v1/translation/connect-test",t.request.api.init="api/v1/translation/init",t.request.api.language="api/v1/translation/language",t.request.setHost(u()),t.request.listener.start(),t.listener.start(),t.whole.enableAll(),t.execute())};return e.onMounted(async()=>{await e.nextTick(),await p(),n.value=await i(),o.value=await r()}),(t,a)=>{const w=l.NIcon,d=l.NButton;return o.value.length>0?(e.openBlock(),e.createBlock(e.unref(l.NDropdown),{key:0,id:"ignore-translation",placement:"bottom-start",trigger:"hover",class:"flex flex-col justify-center h-full ignore",onSelect:g,options:o.value},{default:e.withCtx(()=>[e.createVNode(d,{quaternary:"",type:"info"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("label",v,e.toDisplayString(n.value?.label),1)):(e.openBlock(),e.createBlock(w,{key:0,size:"18"},{default:e.withCtx(()=>[...a[0]||(a[0]=[e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},[e.createElementVNode("path",{d:"M478.33 433.6l-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362L368 281.65L401.17 362z",fill:"currentColor"}),e.createElementVNode("path",{d:"M267.84 342.92a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73c39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36c-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93c.92 1.19 1.83 2.35 2.74 3.51c-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59c22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z",fill:"currentColor"})],-1)])]),_:1}))]),_:1})]),_:1},8,["options"])):e.createCommentVNode("",!0)}}});exports.default=_;
|
package/lib/languages/store.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("pinia"),s=require("vue"),i={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:async()=>[],selectLanguage:async e=>{}},l=g.defineStore("language",()=>{const e=s.ref(i),n=async()=>(e.value.options.length===0&&(e.value.options=await e.value.initLanguages()),e.value.options);return{select:async a=>{if(e.value.currentLanguage===a)return;const t=(await n()).find(u=>u.key===a);t&&(e.value.currentLanguage=t.key,e.value.selectLanguage(t))},selectLanguageCallback:async a=>{e.value.selectLanguage=a},initLanguagesCallback:async a=>{e.value.initLanguages=a},getLanguages:n,getCurrentLanguage:async()=>{if(e.value.currentLanguage)return(await n()).find(a=>a.key===e.value.currentLanguage)},setTranslationApiUrl:a=>{e.value.translationApiUrl=a},getTranslationApiUrl:()=>e.value.translationApiUrl,getDefaultLanguage:()=>e.value.defaultLanguage?e.value.defaultLanguage:"chinese_simplified",setDefaultLanguage:a=>{(a==="Chinese"||a==="chinese")&&(a="chinese_simplified"),e.value.defaultLanguage=a}}});exports.useLanguageStore=l;
|
package/lib/languages/store.d.ts
CHANGED
|
@@ -1,137 +1,62 @@
|
|
|
1
|
-
import { LanguageOption
|
|
1
|
+
import { LanguageOption } from './typing';
|
|
2
2
|
export declare const useLanguageStore: import('pinia').StoreDefinition<"language", Pick<{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
options: {
|
|
8
|
-
[x: string]: any;
|
|
9
|
-
id: string;
|
|
10
|
-
label: string;
|
|
11
|
-
key: string;
|
|
12
|
-
}[];
|
|
13
|
-
selectCallback: (language: LanguageOption) => void;
|
|
14
|
-
initLanguage: (state: LanguageState) => void;
|
|
15
|
-
}, LanguageState | {
|
|
16
|
-
translationApiUrl: string;
|
|
17
|
-
defaultLanguage: string;
|
|
18
|
-
currentLanguage: string;
|
|
19
|
-
options: {
|
|
20
|
-
[x: string]: any;
|
|
21
|
-
id: string;
|
|
22
|
-
label: string;
|
|
23
|
-
key: string;
|
|
24
|
-
}[];
|
|
25
|
-
selectCallback: (language: LanguageOption) => void;
|
|
26
|
-
initLanguage: (state: LanguageState) => void;
|
|
27
|
-
}>;
|
|
28
|
-
select: (key: string) => void;
|
|
29
|
-
setLanguages: (languages: LanguageOption[]) => void;
|
|
30
|
-
getLanguages: () => {
|
|
3
|
+
select: (key: string) => Promise<void>;
|
|
4
|
+
selectLanguageCallback: (callback: (language: LanguageOption) => Promise<void>) => Promise<void>;
|
|
5
|
+
initLanguagesCallback: (callback: () => Promise<LanguageOption[]>) => Promise<void>;
|
|
6
|
+
getLanguages: () => Promise<{
|
|
31
7
|
[x: string]: any;
|
|
32
8
|
id: string;
|
|
33
9
|
label: string;
|
|
34
10
|
key: string;
|
|
35
|
-
}[]
|
|
36
|
-
getCurrentLanguage: () => {
|
|
11
|
+
}[]>;
|
|
12
|
+
getCurrentLanguage: () => Promise<{
|
|
37
13
|
[x: string]: any;
|
|
38
14
|
id: string;
|
|
39
15
|
label: string;
|
|
40
16
|
key: string;
|
|
41
|
-
} | undefined
|
|
42
|
-
setSelectCallback: (callback: (language: LanguageOption) => void) => void;
|
|
17
|
+
} | undefined>;
|
|
43
18
|
setTranslationApiUrl: (url: string) => void;
|
|
44
19
|
getTranslationApiUrl: () => string;
|
|
45
|
-
setDefaultLanguage: (language: string) => void;
|
|
46
20
|
getDefaultLanguage: () => string;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
[x: string]: any;
|
|
54
|
-
id: string;
|
|
55
|
-
label: string;
|
|
56
|
-
key: string;
|
|
57
|
-
}[];
|
|
58
|
-
selectCallback: (language: LanguageOption) => void;
|
|
59
|
-
initLanguage: (state: LanguageState) => void;
|
|
60
|
-
}, LanguageState | {
|
|
61
|
-
translationApiUrl: string;
|
|
62
|
-
defaultLanguage: string;
|
|
63
|
-
currentLanguage: string;
|
|
64
|
-
options: {
|
|
65
|
-
[x: string]: any;
|
|
66
|
-
id: string;
|
|
67
|
-
label: string;
|
|
68
|
-
key: string;
|
|
69
|
-
}[];
|
|
70
|
-
selectCallback: (language: LanguageOption) => void;
|
|
71
|
-
initLanguage: (state: LanguageState) => void;
|
|
72
|
-
}>;
|
|
73
|
-
select: (key: string) => void;
|
|
74
|
-
setLanguages: (languages: LanguageOption[]) => void;
|
|
75
|
-
getLanguages: () => {
|
|
21
|
+
setDefaultLanguage: (language: string) => void;
|
|
22
|
+
}, never>, Pick<{
|
|
23
|
+
select: (key: string) => Promise<void>;
|
|
24
|
+
selectLanguageCallback: (callback: (language: LanguageOption) => Promise<void>) => Promise<void>;
|
|
25
|
+
initLanguagesCallback: (callback: () => Promise<LanguageOption[]>) => Promise<void>;
|
|
26
|
+
getLanguages: () => Promise<{
|
|
76
27
|
[x: string]: any;
|
|
77
28
|
id: string;
|
|
78
29
|
label: string;
|
|
79
30
|
key: string;
|
|
80
|
-
}[]
|
|
81
|
-
getCurrentLanguage: () => {
|
|
31
|
+
}[]>;
|
|
32
|
+
getCurrentLanguage: () => Promise<{
|
|
82
33
|
[x: string]: any;
|
|
83
34
|
id: string;
|
|
84
35
|
label: string;
|
|
85
36
|
key: string;
|
|
86
|
-
} | undefined
|
|
87
|
-
setSelectCallback: (callback: (language: LanguageOption) => void) => void;
|
|
37
|
+
} | undefined>;
|
|
88
38
|
setTranslationApiUrl: (url: string) => void;
|
|
89
39
|
getTranslationApiUrl: () => string;
|
|
90
|
-
setDefaultLanguage: (language: string) => void;
|
|
91
40
|
getDefaultLanguage: () => string;
|
|
41
|
+
setDefaultLanguage: (language: string) => void;
|
|
92
42
|
}, never>, Pick<{
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
options: {
|
|
98
|
-
[x: string]: any;
|
|
99
|
-
id: string;
|
|
100
|
-
label: string;
|
|
101
|
-
key: string;
|
|
102
|
-
}[];
|
|
103
|
-
selectCallback: (language: LanguageOption) => void;
|
|
104
|
-
initLanguage: (state: LanguageState) => void;
|
|
105
|
-
}, LanguageState | {
|
|
106
|
-
translationApiUrl: string;
|
|
107
|
-
defaultLanguage: string;
|
|
108
|
-
currentLanguage: string;
|
|
109
|
-
options: {
|
|
110
|
-
[x: string]: any;
|
|
111
|
-
id: string;
|
|
112
|
-
label: string;
|
|
113
|
-
key: string;
|
|
114
|
-
}[];
|
|
115
|
-
selectCallback: (language: LanguageOption) => void;
|
|
116
|
-
initLanguage: (state: LanguageState) => void;
|
|
117
|
-
}>;
|
|
118
|
-
select: (key: string) => void;
|
|
119
|
-
setLanguages: (languages: LanguageOption[]) => void;
|
|
120
|
-
getLanguages: () => {
|
|
43
|
+
select: (key: string) => Promise<void>;
|
|
44
|
+
selectLanguageCallback: (callback: (language: LanguageOption) => Promise<void>) => Promise<void>;
|
|
45
|
+
initLanguagesCallback: (callback: () => Promise<LanguageOption[]>) => Promise<void>;
|
|
46
|
+
getLanguages: () => Promise<{
|
|
121
47
|
[x: string]: any;
|
|
122
48
|
id: string;
|
|
123
49
|
label: string;
|
|
124
50
|
key: string;
|
|
125
|
-
}[]
|
|
126
|
-
getCurrentLanguage: () => {
|
|
51
|
+
}[]>;
|
|
52
|
+
getCurrentLanguage: () => Promise<{
|
|
127
53
|
[x: string]: any;
|
|
128
54
|
id: string;
|
|
129
55
|
label: string;
|
|
130
56
|
key: string;
|
|
131
|
-
} | undefined
|
|
132
|
-
setSelectCallback: (callback: (language: LanguageOption) => void) => void;
|
|
57
|
+
} | undefined>;
|
|
133
58
|
setTranslationApiUrl: (url: string) => void;
|
|
134
59
|
getTranslationApiUrl: () => string;
|
|
135
|
-
setDefaultLanguage: (language: string) => void;
|
|
136
60
|
getDefaultLanguage: () => string;
|
|
137
|
-
|
|
61
|
+
setDefaultLanguage: (language: string) => void;
|
|
62
|
+
}, "select" | "selectLanguageCallback" | "initLanguagesCallback" | "getLanguages" | "getCurrentLanguage" | "setTranslationApiUrl" | "getTranslationApiUrl" | "getDefaultLanguage" | "setDefaultLanguage">>;
|
|
@@ -9,6 +9,6 @@ export type LanguageState = {
|
|
|
9
9
|
defaultLanguage: string;
|
|
10
10
|
currentLanguage: string;
|
|
11
11
|
options: LanguageOption[];
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
initLanguages: () => Promise<LanguageOption[]>;
|
|
13
|
+
selectLanguage: (language: LanguageOption) => Promise<void>;
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.layout-header[data-v-
|
|
1
|
+
.layout-header[data-v-563e4e55]{display:flex;justify-content:space-between;align-items:center;padding:0;height:64px;box-shadow:0 1px 4px #00152914;transition:all .2s ease-in-out;width:100%;z-index:11}.layout-header-left[data-v-563e4e55]{display:flex;align-items:center}.layout-header-left .logo[data-v-563e4e55]{display:flex;align-items:center;justify-content:center;height:64px;line-height:64px;overflow:hidden;white-space:nowrap;padding-left:10px}.layout-header-left .logo img[data-v-563e4e55]{width:auto;height:32px;margin-right:10px}.layout-header-left .logo .title[data-v-563e4e55]{margin-bottom:0}.layout-header-left[data-v-563e4e55] .ant-breadcrumb span:last-child .link-text{color:#515a6e}.layout-header-left .n-breadcrumb[data-v-563e4e55]{display:inline-block}.layout-header-left-menu[data-v-563e4e55]{color:var(--text-color)}.layout-header-right[data-v-563e4e55]{display:flex;align-items:center;margin-right:5px}.layout-header-right .avatar[data-v-563e4e55]{display:flex;align-items:center;height:64px}.layout-header-right[data-v-563e4e55]>*{cursor:pointer}.layout-header-trigger[data-v-563e4e55]{display:inline-block;width:64px;height:64px;text-align:center;cursor:pointer;transition:all .2s ease-in-out}.layout-header-trigger .n-icon[data-v-563e4e55]{display:flex;align-items:center;height:64px;line-height:64px}.layout-header-trigger[data-v-563e4e55]:hover{background:#ffffff14}.layout-header-trigger .anticon[data-v-563e4e55]{font-size:16px;color:#515a6e}.layout-header-trigger-min[data-v-563e4e55]{width:auto;padding:0 10px}.layout-header-light[data-v-563e4e55]{background:#fff;color:#515a6e}.layout-header-light .n-icon[data-v-563e4e55]{color:#515a6e}.layout-header-light .layout-header-left[data-v-563e4e55] .n-breadcrumb .n-breadcrumb-item:last-child .n-breadcrumb-item__link{color:#515a6e}.layout-header-light .layout-header-trigger[data-v-563e4e55]:hover{background:#f8f8f9}.layout-header-fix[data-v-563e4e55]{position:fixed;top:0;right:0;left:200px;z-index:11}[data-v-563e4e55] .menu-router-link{color:#515a6e}[data-v-563e4e55] .menu-router-link:hover{color:#1890ff}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PHeader.vue2.cjs");;/* empty css */const t=require("../../_virtual/_plugin-vue_export-helper.cjs"),u=t.default(e.default,[["__scopeId","data-v-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./PHeader.vue2.cjs");;/* empty css */const t=require("../../_virtual/_plugin-vue_export-helper.cjs"),u=t.default(e.default,[["__scopeId","data-v-563e4e55"]]);exports.default=u;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),C=require("../../languages/PLanguage.vue.cjs"),a=require("@vicons/antd"),g=require("vue-router"),E=require("../store.cjs"),b={class:"layout-header"},w={class:"layout-header-left"},S={class:"link-text"},x={key:1,class:"link-text"},P={class:"layout-header-right"},D={class:"layout-header-trigger-min"},F={class:"layout-header-trigger layout-header-trigger-min"},O={class:"layout-header-trigger layout-header-trigger-min"},q={class:"avatar"},T=e.defineComponent({__name:"PHeader",setup(I){const s=r.useMessage(),p=r.useDialog(),l=E.useLayoutStore(),i=g.useRouter(),f=g.useRoute(),d=e.inject("reloadPage"),h=n=>i.push({name:n}),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("naive-ui"),e=require("vue"),C=require("../../languages/PLanguage.vue.cjs"),a=require("@vicons/antd"),g=require("vue-router"),E=require("../store.cjs"),b={class:"layout-header"},w={class:"layout-header-left"},S={class:"link-text"},x={key:1,class:"link-text"},P={class:"layout-header-right"},D={key:0,class:"layout-header-trigger-min"},F={class:"layout-header-trigger layout-header-trigger-min"},O={class:"layout-header-trigger layout-header-trigger-min"},q={class:"avatar"},T=e.defineComponent({__name:"PHeader",setup(I){const s=r.useMessage(),p=r.useDialog(),l=E.useLayoutStore(),i=g.useRouter(),f=g.useRoute(),d=e.inject("reloadPage"),h=n=>i.push({name:n}),k=e.computed(()=>m(f.matched)),m=n=>n.map(t=>{const c={key:t.name,label:t.meta.title,icon:t.meta.icon,meta:t.meta,disabled:t.path==="/",children:void 0};return t.children&&t.children.length>0&&(c.children=m(t.children)),c}),u=e.ref(!1),_=()=>{document.fullscreenElement?document.exitFullscreen&&(document.exitFullscreen(),u.value=!1):(document.documentElement.requestFullscreen(),u.value=!0)},N=e.computed(()=>{const n=[];return n.push({label:"退出登录",key:"logout"}),l.state.settingPages&&l.state.settingPages.length>0&&l.state.settingPages.forEach(t=>{n.push({label:t.title,key:t.route})}),n}),v=n=>{n==="logout"?y():i.push({name:n})},y=()=>{p.info({title:"提示",content:"您确定要退出登录吗",positiveText:"确定",negativeText:"取消",onPositiveClick:async()=>{if(l.state.logout)try{await l.state.logout(),localStorage.removeItem("TABS-ROUTES"),s.error("退出成功")}catch(n){console.error(n),s.error("退出登录失败")}finally{location.reload()}else s.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法")},onNegativeClick:()=>{}})};return(n,t)=>{const c=r.NTooltip,B=r.NDivider,V=r.NAvatar;return e.openBlock(),e.createElementBlock("div",b,[e.createElementVNode("div",w,[e.createElementVNode("div",{class:"ml-1 layout-header-trigger layout-header-trigger-min",onClick:t[0]||(t[0]=(...o)=>e.unref(l).collapse&&e.unref(l).collapse(...o))},[e.unref(l).state.collapsed?(e.openBlock(),e.createBlock(e.unref(r.NIcon),{key:0,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(a.MenuUnfoldOutlined))]),_:1})):(e.openBlock(),e.createBlock(e.unref(r.NIcon),{key:1,size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(a.MenuFoldOutlined))]),_:1}))]),e.createElementVNode("div",{class:"mr-1 layout-header-trigger layout-header-trigger-min",onClick:t[1]||(t[1]=(...o)=>e.unref(d)&&e.unref(d)(...o))},[e.createVNode(e.unref(r.NIcon),{size:"18"},{default:e.withCtx(()=>[e.createVNode(e.unref(a.ReloadOutlined))]),_:1})]),e.createVNode(e.unref(r.NBreadcrumb),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.label},[o.label?(e.openBlock(),e.createBlock(e.unref(r.NBreadcrumbItem),{key:0},{default:e.withCtx(()=>[o.children&&o.children.length?(e.openBlock(),e.createBlock(e.unref(r.NDropdown),{key:0,options:o.children,onSelect:h},{default:e.withCtx(()=>[e.createElementVNode("span",S,[o.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(o.label),1)])]),_:2},1032,["options"])):(e.openBlock(),e.createElementBlock("span",x,[o.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.icon),{key:0})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(o.label),1)]))]),_:2},1024)):e.createCommentVNode("",!0)],64))),128))]),_:1})]),e.createElementVNode("div",P,[e.unref(l).state.enableLanguage?(e.openBlock(),e.createElementBlock("div",D,[e.createVNode(C.default)])):e.createCommentVNode("",!0),e.createElementVNode("div",F,[e.createVNode(c,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",onClick:e.withModifiers(_,["stop"])},{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createBlock(e.unref(a.FullscreenExitOutlined),{key:1})):(e.openBlock(),e.createBlock(e.unref(a.FullscreenOutlined),{key:0}))]),_:1})]),default:e.withCtx(()=>[t[2]||(t[2]=e.createElementVNode("span",null,"全屏",-1))]),_:1})]),e.createElementVNode("div",O,[e.createVNode(e.unref(r.NDropdown),{trigger:"hover",onSelect:v,options:N.value},{default:e.withCtx(()=>[e.createElementVNode("div",q,[e.createElementVNode("span",null,e.toDisplayString(e.unref(l).state.uname),1),e.createVNode(B,{vertical:""}),e.createVNode(V,{round:"",src:e.unref(l).state.avatar},null,8,["src"])])]),_:1},8,["options"])])])])}}});exports.default=T;
|
package/lib/layout/store.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("pinia"),i=require("vue"),n=["Redirect","RedirectSon","login"],c=o.defineStore("p-layout",()=>{const s=i.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1});return{state:s,initTabs:t=>{t.sort((e,a)=>(a.meta.affix?1:0)-(e.meta.affix?1:0)),s.tabs=t},addTab:t=>n.includes(t.name)?!1:(s.tabs?.some(a=>a.fullPath==t.fullPath)||s.tabs?.push(t),!0),closeCurrentTab:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs.splice(e,1)},closeAllTabs:()=>{s.tabs=s.tabs.filter(t=>t?.meta?.affix??!1)},closeOtherTabs:t=>{s.tabs=s.tabs.filter(e=>e.fullPath==t.fullPath||(e?.meta?.affix??!1))},closeLeftTabs:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs=s.tabs.filter((a,l)=>l>=e||(a?.meta?.affix??!1))},closeRightTabs:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs=s.tabs.filter((a,l)=>l<=e||(a?.meta?.affix??!1))},collapse:()=>{s.collapsed=!s.collapsed},setTitle:t=>{s.title=t},setLogo:t=>{s.logo=t},setUser:(t,e)=>{s.uid=t,s.uname=e},setSettingPages:t=>{s.settingPages=t},setLogout:t=>{s.logout=t}}});exports.useLayoutStore=c;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("pinia"),i=require("vue"),n=["Redirect","RedirectSon","login"],c=o.defineStore("p-layout",()=>{const s=i.reactive({collapsed:!1,title:"输入项目名称",logo:"https://picsum.photos/id/1/100/100",avatar:"",uid:"",uname:"",tabs:[],cacheTabs:!1,enableLanguage:!1});return{state:s,initTabs:t=>{t.sort((e,a)=>(a.meta.affix?1:0)-(e.meta.affix?1:0)),s.tabs=t},addTab:t=>n.includes(t.name)?!1:(s.tabs?.some(a=>a.fullPath==t.fullPath)||s.tabs?.push(t),!0),closeCurrentTab:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs.splice(e,1)},closeAllTabs:()=>{s.tabs=s.tabs.filter(t=>t?.meta?.affix??!1)},closeOtherTabs:t=>{s.tabs=s.tabs.filter(e=>e.fullPath==t.fullPath||(e?.meta?.affix??!1))},closeLeftTabs:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs=s.tabs.filter((a,l)=>l>=e||(a?.meta?.affix??!1))},closeRightTabs:t=>{const e=s.tabs.findIndex(a=>a.fullPath==t.fullPath);s.tabs=s.tabs.filter((a,l)=>l<=e||(a?.meta?.affix??!1))},collapse:()=>{s.collapsed=!s.collapsed},setTitle:t=>{s.title=t},setLogo:t=>{s.logo=t},setUser:(t,e)=>{s.uid=t,s.uname=e},setSettingPages:t=>{s.settingPages=t},setLogout:t=>{s.logout=t}}});exports.useLayoutStore=c;
|
package/lib/layout/store.d.ts
CHANGED
|
@@ -6976,6 +6976,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
6976
6976
|
route: string;
|
|
6977
6977
|
title: string;
|
|
6978
6978
|
}[] | undefined;
|
|
6979
|
+
enableLanguage: boolean;
|
|
6979
6980
|
logout?: (() => Promise<void>) | undefined;
|
|
6980
6981
|
};
|
|
6981
6982
|
initTabs: (routes: RouteItem[]) => void;
|
|
@@ -13971,6 +13972,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
13971
13972
|
route: string;
|
|
13972
13973
|
title: string;
|
|
13973
13974
|
}[] | undefined;
|
|
13975
|
+
enableLanguage: boolean;
|
|
13974
13976
|
logout?: (() => Promise<void>) | undefined;
|
|
13975
13977
|
};
|
|
13976
13978
|
initTabs: (routes: RouteItem[]) => void;
|
|
@@ -20966,6 +20968,7 @@ export declare const useLayoutStore: import('pinia').StoreDefinition<"p-layout",
|
|
|
20966
20968
|
route: string;
|
|
20967
20969
|
title: string;
|
|
20968
20970
|
}[] | undefined;
|
|
20971
|
+
enableLanguage: boolean;
|
|
20969
20972
|
logout?: (() => Promise<void>) | undefined;
|
|
20970
20973
|
};
|
|
20971
20974
|
initTabs: (routes: RouteItem[]) => void;
|
package/lib/layout/typing.d.ts
CHANGED