@chewel611/naive-ui-plus 0.0.24 → 0.0.25

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.
@@ -1,5 +1,5 @@
1
- import { useMessage as z, useDialog as L, NIcon as d, 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 a, createElementBlock as g, createElementVNode as n, unref as e, createBlock as c, withCtx as i, createVNode as r, Fragment as N, renderList as H, resolveDynamicComponent as S, createCommentVNode as h, toDisplayString as _, withModifiers as $ } from "vue";
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 = { class: "layout-header-trigger-min" }, se = { class: "layout-header-trigger layout-header-trigger-min" }, ie = { class: "layout-header-trigger layout-header-trigger-min" }, ce = { class: "avatar" }, fe = /* @__PURE__ */ U({
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 m = z(), C = L(), s = ee(), f = Y(), P = Z(), y = j("reloadPage"), F = (l) => f.push({ name: l }), B = b(() => v(P.matched)), v = (l) => l.map((t) => {
14
- const u = {
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 && (u.children = v(
25
+ return t.children && t.children.length > 0 && (d.children = v(
23
26
  t.children
24
- )), u;
25
- }), p = q(!1), E = () => {
26
- document.fullscreenElement ? document.exitFullscreen && (document.exitFullscreen(), p.value = !1) : (document.documentElement.requestFullscreen(), p.value = !0);
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
- }), s.state.settingPages && s.state.settingPages.length > 0 && s.state.settingPages.forEach((t) => {
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 (s.state.logout)
50
+ if (r.state.logout)
48
51
  try {
49
- await s.state.logout(), localStorage.removeItem("TABS-ROUTES"), m.error("退出成功");
52
+ await r.state.logout(), localStorage.removeItem("TABS-ROUTES"), p.error("退出成功");
50
53
  } catch (l) {
51
- console.error(l), m.error("退出登录失败");
54
+ console.error(l), p.error("退出登录失败");
52
55
  } finally {
53
56
  location.reload();
54
57
  }
55
58
  else
56
- m.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法");
59
+ p.error("没有配置登出接口, 请配置[usePLayoutStore.logout]方法");
57
60
  },
58
61
  onNegativeClick: () => {
59
62
  }
60
63
  });
61
64
  };
62
65
  return (l, t) => {
63
- const u = I, D = V, R = A;
64
- return a(), g("div", te, [
65
- n("div", oe, [
66
- n("div", {
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(s).collapse && e(s).collapse(...o))
72
+ (...o) => e(r).collapse && e(r).collapse(...o))
70
73
  }, [
71
- e(s).state.collapsed ? (a(), c(e(d), {
74
+ e(r).state.collapsed ? (n(), c(e(g), {
72
75
  key: 0,
73
76
  size: "18"
74
77
  }, {
75
78
  default: i(() => [
76
- r(e(J))
79
+ s(e(J))
77
80
  ]),
78
81
  _: 1
79
- })) : (a(), c(e(d), {
82
+ })) : (n(), c(e(g), {
80
83
  key: 1,
81
84
  size: "18"
82
85
  }, {
83
86
  default: i(() => [
84
- r(e(K))
87
+ s(e(K))
85
88
  ]),
86
89
  _: 1
87
90
  }))
88
91
  ]),
89
- n("div", {
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
- r(e(d), { size: "18" }, {
97
+ s(e(g), { size: "18" }, {
95
98
  default: i(() => [
96
- r(e(Q))
99
+ s(e(Q))
97
100
  ]),
98
101
  _: 1
99
102
  })
100
103
  ]),
101
- r(e(M), null, {
104
+ s(e(M), null, {
102
105
  default: i(() => [
103
- (a(!0), g(N, null, H(B.value, (o) => (a(), g(N, {
106
+ (n(!0), u(N, null, H(B.value, (o) => (n(), u(N, {
104
107
  key: o.label
105
108
  }, [
106
- o.label ? (a(), c(e(x), { key: 0 }, {
109
+ o.label ? (n(), c(e(x), { key: 0 }, {
107
110
  default: i(() => [
108
- o.children && o.children.length ? (a(), c(e(k), {
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
- n("span", le, [
115
- o.icon ? (a(), c(S(o.icon), { key: 0 })) : h("", !0),
116
- n("span", null, _(o.label), 1)
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"])) : (a(), g("span", ne, [
121
- o.icon ? (a(), c(S(o.icon), { key: 0 })) : h("", !0),
122
- n("span", null, _(o.label), 1)
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)) : h("", !0)
129
+ }, 1024)) : m("", !0)
127
130
  ], 64))), 128))
128
131
  ]),
129
132
  _: 1
130
133
  })
131
134
  ]),
132
- n("div", ae, [
133
- n("div", re, [
134
- r(G)
135
- ]),
136
- n("div", se, [
137
- r(u, { placement: "bottom" }, {
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
- r(e(d), {
142
+ s(e(g), {
140
143
  size: "18",
141
144
  onClick: $(E, ["stop"])
142
145
  }, {
143
146
  default: i(() => [
144
- p.value ? (a(), c(e(X), { key: 1 })) : (a(), c(e(W), { key: 0 }))
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] = n("span", null, "全屏", -1))
153
+ t[2] || (t[2] = a("span", null, "全屏", -1))
151
154
  ]),
152
155
  _: 1
153
156
  })
154
157
  ]),
155
- n("div", ie, [
156
- r(e(k), {
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
- n("div", ce, [
163
- n("span", null, _(e(s).state.uname), 1),
164
- r(D, { vertical: "" }),
165
- r(R, {
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(s).state.avatar
170
+ src: e(r).state.avatar
168
171
  }, null, 8, ["src"])
169
172
  ])
170
173
  ]),
@@ -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;
@@ -9,7 +9,8 @@ const n = ["Redirect", "RedirectSon", "login"], R = o("p-layout", () => {
9
9
  uid: "",
10
10
  uname: "",
11
11
  tabs: [],
12
- cacheTabs: !1
12
+ cacheTabs: !1,
13
+ enableLanguage: !1
13
14
  });
14
15
  return {
15
16
  state: s,
@@ -21,5 +21,6 @@ export type LayoutState = {
21
21
  route: string;
22
22
  title: string;
23
23
  }[];
24
+ enableLanguage: boolean;
24
25
  logout?: () => Promise<void>;
25
26
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const L=require("pinia"),n=require("vue"),p={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],selectCallback:e=>{},initLanguage:e=>{}},d=L.defineStore("language",()=>{const e=n.ref(p),u=a=>{a.forEach(t=>{(t.key==="Chinese"||t.key==="chinese")&&(t.key="chinese_simplified")}),e.value.options=[...a]},i=()=>e.value.options,r=a=>{if(e.value.currentLanguage===a)return;const t=e.value.options.find(v=>v.key===a);t&&(e.value.currentLanguage=t.key,e.value.selectCallback(t))},l=()=>{if(e.value.currentLanguage)return e.value.options.find(a=>a.key===e.value.currentLanguage)},s=a=>{e.value.selectCallback=a},o=()=>e.value.translationApiUrl,c=a=>{e.value.translationApiUrl=a},g=a=>{(a==="Chinese"||a==="chinese")&&(a="chinese_simplified"),e.value.defaultLanguage=a},f=()=>e.value.defaultLanguage?e.value.defaultLanguage:"chinese_simplified";return n.onMounted(()=>{e.value.initLanguage(e.value)}),{state:e,select:r,setLanguages:u,getLanguages:i,getCurrentLanguage:l,setSelectCallback:s,setTranslationApiUrl:c,getTranslationApiUrl:o,setDefaultLanguage:g,getDefaultLanguage:f}});exports.useLanguageStore=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("pinia"),l=require("vue"),i={translationApiUrl:"https://translate.zvo.cn/api",defaultLanguage:"chinese",currentLanguage:"",options:[],initLanguages:()=>[],selectLanguage:e=>{}},r=g.defineStore("language",()=>{const e=l.ref(i),n=()=>(e.value.options.length===0&&(e.value.options=e.value.initLanguages()),e.value.options);return{select:a=>{if(e.value.currentLanguage===a)return;const t=n().find(u=>u.key===a);t&&(e.value.currentLanguage=t.key,e.value.selectLanguage(t))},selectLanguageCallback:a=>{e.value.selectLanguage=a},initLanguagesCallback:a=>{e.value.initLanguages=a},getLanguages:n,getCurrentLanguage:()=>{if(e.value.currentLanguage)return 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=r;
@@ -1,32 +1,8 @@
1
- import { LanguageOption, LanguageState } from './typing';
1
+ import { LanguageOption } from './typing';
2
2
  export declare const useLanguageStore: import('pinia').StoreDefinition<"language", Pick<{
3
- state: import('vue').Ref<{
4
- translationApiUrl: string;
5
- defaultLanguage: string;
6
- currentLanguage: string;
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
3
  select: (key: string) => void;
29
- setLanguages: (languages: LanguageOption[]) => void;
4
+ selectLanguageCallback: (callback: (language: LanguageOption) => void) => void;
5
+ initLanguagesCallback: (callback: () => LanguageOption[]) => void;
30
6
  getLanguages: () => {
31
7
  [x: string]: any;
32
8
  id: string;
@@ -39,39 +15,14 @@ export declare const useLanguageStore: import('pinia').StoreDefinition<"language
39
15
  label: string;
40
16
  key: string;
41
17
  } | undefined;
42
- setSelectCallback: (callback: (language: LanguageOption) => void) => void;
43
18
  setTranslationApiUrl: (url: string) => void;
44
19
  getTranslationApiUrl: () => string;
45
- setDefaultLanguage: (language: string) => void;
46
20
  getDefaultLanguage: () => string;
47
- }, "state">, Pick<{
48
- state: import('vue').Ref<{
49
- translationApiUrl: string;
50
- defaultLanguage: string;
51
- currentLanguage: string;
52
- options: {
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
- }>;
21
+ setDefaultLanguage: (language: string) => void;
22
+ }, never>, Pick<{
73
23
  select: (key: string) => void;
74
- setLanguages: (languages: LanguageOption[]) => void;
24
+ selectLanguageCallback: (callback: (language: LanguageOption) => void) => void;
25
+ initLanguagesCallback: (callback: () => LanguageOption[]) => void;
75
26
  getLanguages: () => {
76
27
  [x: string]: any;
77
28
  id: string;
@@ -84,39 +35,14 @@ export declare const useLanguageStore: import('pinia').StoreDefinition<"language
84
35
  label: string;
85
36
  key: string;
86
37
  } | undefined;
87
- setSelectCallback: (callback: (language: LanguageOption) => void) => void;
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
- state: import('vue').Ref<{
94
- translationApiUrl: string;
95
- defaultLanguage: string;
96
- currentLanguage: string;
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
43
  select: (key: string) => void;
119
- setLanguages: (languages: LanguageOption[]) => void;
44
+ selectLanguageCallback: (callback: (language: LanguageOption) => void) => void;
45
+ initLanguagesCallback: (callback: () => LanguageOption[]) => void;
120
46
  getLanguages: () => {
121
47
  [x: string]: any;
122
48
  id: string;
@@ -129,9 +55,8 @@ export declare const useLanguageStore: import('pinia').StoreDefinition<"language
129
55
  label: string;
130
56
  key: string;
131
57
  } | undefined;
132
- setSelectCallback: (callback: (language: LanguageOption) => void) => void;
133
58
  setTranslationApiUrl: (url: string) => void;
134
59
  getTranslationApiUrl: () => string;
135
- setDefaultLanguage: (language: string) => void;
136
60
  getDefaultLanguage: () => string;
137
- }, "select" | "setLanguages" | "getLanguages" | "getCurrentLanguage" | "setSelectCallback" | "setTranslationApiUrl" | "getTranslationApiUrl" | "setDefaultLanguage" | "getDefaultLanguage">>;
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
- selectCallback: (language: LanguageOption) => void;
13
- initLanguage: (state: LanguageState) => void;
12
+ initLanguages: () => LanguageOption[];
13
+ selectLanguage: (language: LanguageOption) => void;
14
14
  };
@@ -1 +1 @@
1
- .layout-header[data-v-9fabccfe]{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-9fabccfe]{display:flex;align-items:center}.layout-header-left .logo[data-v-9fabccfe]{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-9fabccfe]{width:auto;height:32px;margin-right:10px}.layout-header-left .logo .title[data-v-9fabccfe]{margin-bottom:0}.layout-header-left[data-v-9fabccfe] .ant-breadcrumb span:last-child .link-text{color:#515a6e}.layout-header-left .n-breadcrumb[data-v-9fabccfe]{display:inline-block}.layout-header-left-menu[data-v-9fabccfe]{color:var(--text-color)}.layout-header-right[data-v-9fabccfe]{display:flex;align-items:center;margin-right:5px}.layout-header-right .avatar[data-v-9fabccfe]{display:flex;align-items:center;height:64px}.layout-header-right[data-v-9fabccfe]>*{cursor:pointer}.layout-header-trigger[data-v-9fabccfe]{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-9fabccfe]{display:flex;align-items:center;height:64px;line-height:64px}.layout-header-trigger[data-v-9fabccfe]:hover{background:#ffffff14}.layout-header-trigger .anticon[data-v-9fabccfe]{font-size:16px;color:#515a6e}.layout-header-trigger-min[data-v-9fabccfe]{width:auto;padding:0 10px}.layout-header-light[data-v-9fabccfe]{background:#fff;color:#515a6e}.layout-header-light .n-icon[data-v-9fabccfe]{color:#515a6e}.layout-header-light .layout-header-left[data-v-9fabccfe] .n-breadcrumb .n-breadcrumb-item:last-child .n-breadcrumb-item__link{color:#515a6e}.layout-header-light .layout-header-trigger[data-v-9fabccfe]:hover{background:#f8f8f9}.layout-header-fix[data-v-9fabccfe]{position:fixed;top:0;right:0;left:200px;z-index:11}[data-v-9fabccfe] .menu-router-link{color:#515a6e}[data-v-9fabccfe] .menu-router-link:hover{color:#1890ff}
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-9fabccfe"]]);exports.default=u;
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}),_=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),k=()=>{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(_.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.createElementVNode("div",D,[e.createVNode(C.default)]),e.createElementVNode("div",F,[e.createVNode(c,{placement:"bottom"},{trigger:e.withCtx(()=>[e.createVNode(e.unref(r.NIcon),{size:"18",onClick:e.withModifiers(k,["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;
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;
@@ -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;
@@ -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;
@@ -21,5 +21,6 @@ export type LayoutState = {
21
21
  route: string;
22
22
  title: string;
23
23
  }[];
24
+ enableLanguage: boolean;
24
25
  logout?: () => Promise<void>;
25
26
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chewel611/naive-ui-plus",
3
3
  "private": false,
4
- "version": "0.0.24",
4
+ "version": "0.0.25",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,