@ditari/store 5.0.13 → 5.1.1
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/cjs/index.cjs +0 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/modules/useDicStore.cjs +53 -60
- package/dist/cjs/modules/useDicStore.cjs.map +1 -1
- package/dist/cjs/modules/useNavTabStore.cjs +33 -0
- package/dist/cjs/modules/useNavTabStore.cjs.map +1 -1
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/modules/useDicStore.mjs +53 -60
- package/dist/esm/modules/useDicStore.mjs.map +1 -1
- package/dist/esm/modules/useNavTabStore.mjs +33 -0
- package/dist/esm/modules/useNavTabStore.mjs.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modules/useDicStore.d.ts +15 -40
- package/dist/types/modules/useDicStore.d.ts.map +1 -1
- package/dist/types/modules/useNavTabStore.d.ts +3 -0
- package/dist/types/modules/useNavTabStore.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/modules/useNoStore.cjs +0 -22
- package/dist/cjs/modules/useNoStore.cjs.map +0 -1
- package/dist/esm/modules/useNoStore.mjs +0 -18
- package/dist/esm/modules/useNoStore.mjs.map +0 -1
- package/dist/types/modules/useNoStore.d.ts +0 -11
- package/dist/types/modules/useNoStore.d.ts.map +0 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -6,7 +6,6 @@ var useDicStore = require('./modules/useDicStore.cjs');
|
|
|
6
6
|
var useKeepAliveStore = require('./modules/useKeepAliveStore.cjs');
|
|
7
7
|
var useMenuStore = require('./modules/useMenuStore.cjs');
|
|
8
8
|
var useNavTabStore = require('./modules/useNavTabStore.cjs');
|
|
9
|
-
var useNoStore = require('./modules/useNoStore.cjs');
|
|
10
9
|
var useUserStore = require('./modules/useUserStore.cjs');
|
|
11
10
|
|
|
12
11
|
"use strict";
|
|
@@ -17,6 +16,5 @@ exports.useDicStore = useDicStore.default;
|
|
|
17
16
|
exports.useKeepAliveStore = useKeepAliveStore.default;
|
|
18
17
|
exports.useMenuStore = useMenuStore.default;
|
|
19
18
|
exports.useNavTabStore = useNavTabStore.useNavTabStore;
|
|
20
|
-
exports.useNoStore = useNoStore.default;
|
|
21
19
|
exports.useUserStore = useUserStore.default;
|
|
22
20
|
//# sourceMappingURL=index.cjs.map
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,60 +9,17 @@ var types = require('../types.cjs');
|
|
|
9
9
|
const useDicStore = pinia.defineStore(types.DATA_DICTIONARY_ID, {
|
|
10
10
|
state: () => ({
|
|
11
11
|
dataDic: {},
|
|
12
|
-
// 初始化为空对象
|
|
13
12
|
cacheDuration: 5 * 60 * 1e3
|
|
14
13
|
// 缓存有效期:5分钟(单位:毫秒)
|
|
15
14
|
}),
|
|
15
|
+
// 💡 优化:Getters 仅保留无参数的计算属性,如果不需要则保持为空。
|
|
16
16
|
getters: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* @param state
|
|
20
|
-
*/
|
|
21
|
-
getDicByKey: (state) => {
|
|
22
|
-
return (key) => {
|
|
23
|
-
var _a;
|
|
24
|
-
return ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
/**
|
|
28
|
-
* 返回value匹配到的整个对象
|
|
29
|
-
* @param state
|
|
30
|
-
*/
|
|
31
|
-
getDicObjByValue: (state) => {
|
|
32
|
-
return (key, value) => {
|
|
33
|
-
var _a;
|
|
34
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
35
|
-
return rs.find((item) => item.value === value) || {};
|
|
36
|
-
};
|
|
37
|
-
},
|
|
38
|
-
/**
|
|
39
|
-
* 根据字典名称和字典的 value 获取对应的中文
|
|
40
|
-
* @param state
|
|
41
|
-
*/
|
|
42
|
-
getDicTextByValue: (state) => {
|
|
43
|
-
return (key, value) => {
|
|
44
|
-
var _a;
|
|
45
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
46
|
-
return rs.filter(
|
|
47
|
-
(item) => item.value === value
|
|
48
|
-
).map((item) => item.label).join("");
|
|
49
|
-
};
|
|
50
|
-
},
|
|
51
|
-
/**
|
|
52
|
-
* 根据文字匹配对应的 value
|
|
53
|
-
* @param state
|
|
54
|
-
*/
|
|
55
|
-
getDicValueByText: (state) => {
|
|
56
|
-
return (key, text) => {
|
|
57
|
-
var _a;
|
|
58
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
59
|
-
return rs.filter(
|
|
60
|
-
(item) => item.label === text
|
|
61
|
-
).map((item) => item.value).join("");
|
|
62
|
-
};
|
|
63
|
-
}
|
|
17
|
+
// 示例:如果需要获取所有字典的 Key 列表,可以放在这里
|
|
18
|
+
// getAllKeys: state => Object.keys(state.dataDic),
|
|
64
19
|
},
|
|
20
|
+
// 💡 优化:Actions 包含所有数据操作和有参数的查询方法。
|
|
65
21
|
actions: {
|
|
22
|
+
// --- 缓存/数据操作 Actions (保持不变) ---
|
|
66
23
|
// 检查缓存是否过期
|
|
67
24
|
isCacheExpired(name) {
|
|
68
25
|
if (this.cacheDuration === 0) return false;
|
|
@@ -71,30 +28,66 @@ const useDicStore = pinia.defineStore(types.DATA_DICTIONARY_ID, {
|
|
|
71
28
|
const now = Date.now();
|
|
72
29
|
return now - cache.timestamp > this.cacheDuration;
|
|
73
30
|
},
|
|
74
|
-
|
|
75
|
-
* 动态读取下拉字典的时候使用
|
|
76
|
-
* 根据key保存字典数据
|
|
77
|
-
* @param key key
|
|
78
|
-
* @param data 字典数据
|
|
79
|
-
*/
|
|
31
|
+
// 根据 key 保存字典数据
|
|
80
32
|
saveDicByKey(key, data) {
|
|
81
33
|
this.dataDic[key] = {
|
|
82
34
|
value: data,
|
|
83
35
|
timestamp: Date.now()
|
|
84
36
|
};
|
|
85
37
|
},
|
|
86
|
-
|
|
87
|
-
* 一次性存入数据字典的时候使用
|
|
88
|
-
* 数据格式: {key1:[{value:'',label:''}],key2:[{value:'',label:''}]}
|
|
89
|
-
*
|
|
90
|
-
*/
|
|
38
|
+
// 一次性存入数据字典
|
|
91
39
|
saveAll(data) {
|
|
92
40
|
Object.entries(data).forEach(([key, value]) => {
|
|
93
41
|
this.dataDic[key] = {
|
|
94
42
|
value,
|
|
95
|
-
timestamp:
|
|
43
|
+
timestamp: Date.now()
|
|
44
|
+
// 统一使用当前时间戳
|
|
96
45
|
};
|
|
97
46
|
});
|
|
47
|
+
},
|
|
48
|
+
// --- 查询 Actions (原 Getters 优化) ---
|
|
49
|
+
/**
|
|
50
|
+
* 1. 根据 key 获取字典列表 (原 getDicByKey)
|
|
51
|
+
* @param key 字典的 key
|
|
52
|
+
*/
|
|
53
|
+
getDicByKey(key) {
|
|
54
|
+
var _a;
|
|
55
|
+
return ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)
|
|
59
|
+
* @param key 字典的 key
|
|
60
|
+
* @param value 字典项的值
|
|
61
|
+
*/
|
|
62
|
+
getDicObjByValue(key, value) {
|
|
63
|
+
var _a;
|
|
64
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
65
|
+
const result = rs.find(
|
|
66
|
+
(item) => item.value === String(value)
|
|
67
|
+
);
|
|
68
|
+
return result || null;
|
|
69
|
+
},
|
|
70
|
+
/**
|
|
71
|
+
* 3. 根据字典名称和字典的 value 获取对应的中文 (原 getDicTextByValue)
|
|
72
|
+
*/
|
|
73
|
+
getDicTextByValue(key, value) {
|
|
74
|
+
var _a;
|
|
75
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
76
|
+
const item = rs.find(
|
|
77
|
+
(item2) => item2.value === value
|
|
78
|
+
);
|
|
79
|
+
return (item == null ? void 0 : item.label) || "";
|
|
80
|
+
},
|
|
81
|
+
/**
|
|
82
|
+
* 4. 根据文字匹配对应的 value (原 getDicValueByText)
|
|
83
|
+
*/
|
|
84
|
+
getDicValueByText(key, text) {
|
|
85
|
+
var _a;
|
|
86
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
87
|
+
const item = rs.find(
|
|
88
|
+
(item2) => item2.label === text
|
|
89
|
+
);
|
|
90
|
+
return (item == null ? void 0 : item.value) || "";
|
|
98
91
|
}
|
|
99
92
|
},
|
|
100
93
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDicStore.cjs","sources":["../../../src/modules/useDicStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { DATA_DICTIONARY_ID } from \"../types\";\r\n\r\n// 定义字典项的类型\r\nexport interface DictionaryItem {\r\n value: string; // 字典项的值\r\n label: string; // 字典项的显示文本\r\n}\r\n\r\n// 定义字典列表的类型\r\nexport interface Dictionary {\r\n [key: string]: {\r\n value: DictionaryItem[]; // 数组字典\r\n timestamp: number; // 数据缓存时间戳\r\n };\r\n}\r\n\r\n/**\r\n * {key:[]}\r\n */\r\nexport interface DictionaryList {\r\n [key: string]: DictionaryItem[]; // 数组字典\r\n}\r\n\r\n// 定义 Store 的状态类型\r\nexport interface DataDictionaryState {\r\n dataDic: Dictionary
|
|
1
|
+
{"version":3,"file":"useDicStore.cjs","sources":["../../../src/modules/useDicStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { DATA_DICTIONARY_ID } from \"../types\";\r\n\r\n// 定义字典项的类型\r\nexport interface DictionaryItem {\r\n value: string; // 字典项的值\r\n label: string; // 字典项的显示文本\r\n}\r\n\r\n// 定义字典列表的类型\r\nexport interface Dictionary {\r\n [key: string]: {\r\n value: DictionaryItem[]; // 数组字典\r\n timestamp: number; // 数据缓存时间戳\r\n };\r\n}\r\n\r\n/**\r\n * {key:[]}\r\n */\r\nexport interface DictionaryList {\r\n [key: string]: DictionaryItem[]; // 数组字典\r\n}\r\n\r\n// 定义 Store 的状态类型\r\nexport interface DataDictionaryState {\r\n dataDic: Dictionary;\r\n cacheDuration: number;\r\n}\r\n\r\nconst useDicStore = defineStore(DATA_DICTIONARY_ID, {\r\n state: (): DataDictionaryState => ({\r\n dataDic: {},\r\n cacheDuration: 5 * 60 * 1000 // 缓存有效期:5分钟(单位:毫秒)\r\n }),\r\n\r\n // 💡 优化:Getters 仅保留无参数的计算属性,如果不需要则保持为空。\r\n getters: {\r\n // 示例:如果需要获取所有字典的 Key 列表,可以放在这里\r\n // getAllKeys: state => Object.keys(state.dataDic),\r\n },\r\n\r\n // 💡 优化:Actions 包含所有数据操作和有参数的查询方法。\r\n actions: {\r\n // --- 缓存/数据操作 Actions (保持不变) ---\r\n\r\n // 检查缓存是否过期\r\n isCacheExpired(name: string): boolean {\r\n // 使用 this 访问 state\r\n if (this.cacheDuration === 0) return false;\r\n const cache = this.dataDic[name];\r\n if (!cache) return true;\r\n const now = Date.now();\r\n return now - cache.timestamp > this.cacheDuration;\r\n },\r\n\r\n // 根据 key 保存字典数据\r\n saveDicByKey(key: string, data: DictionaryItem[]) {\r\n // 修正 data 类型\r\n this.dataDic[key] = {\r\n value: data,\r\n timestamp: Date.now()\r\n };\r\n },\r\n\r\n // 一次性存入数据字典\r\n saveAll(data: DictionaryList) {\r\n Object.entries(data).forEach(([key, value]) => {\r\n this.dataDic[key] = {\r\n value,\r\n timestamp: Date.now() // 统一使用当前时间戳\r\n };\r\n });\r\n },\r\n\r\n // --- 查询 Actions (原 Getters 优化) ---\r\n\r\n /**\r\n * 1. 根据 key 获取字典列表 (原 getDicByKey)\r\n * @param key 字典的 key\r\n */\r\n getDicByKey(key: string): DictionaryItem[] {\r\n // 直接使用 this 访问 state\r\n return this.dataDic[key]?.value || [];\r\n },\r\n\r\n /**\r\n * 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)\r\n * @param key 字典的 key\r\n * @param value 字典项的值\r\n */\r\n getDicObjByValue(\r\n key: string,\r\n value: string | number\r\n ): DictionaryItem | null {\r\n // 修正 value 类型为 string | number,返回类型为 DictionaryItem | null\r\n const rs = this.dataDic[key]?.value || [];\r\n const result = rs.find(\r\n item => item.value === String(value)\r\n );\r\n // 返回 null 更安全,避免返回空对象 {} as DictionaryItem\r\n return result || null;\r\n },\r\n\r\n /**\r\n * 3. 根据字典名称和字典的 value 获取对应的中文 (原 getDicTextByValue)\r\n */\r\n getDicTextByValue(key: string, value: string): string {\r\n const rs = this.dataDic[key]?.value || [];\r\n const item = rs.find(\r\n (item: DictionaryItem) => item.value === value\r\n );\r\n // 优化:使用 find 比 filter/map/join 效率更高,且只会有一个结果\r\n return item?.label || \"\";\r\n },\r\n\r\n /**\r\n * 4. 根据文字匹配对应的 value (原 getDicValueByText)\r\n */\r\n getDicValueByText(key: string, text: string): string {\r\n const rs = this.dataDic[key]?.value || [];\r\n const item = rs.find(\r\n (item: DictionaryItem) => item.label === text\r\n );\r\n // 优化:使用 find 比 filter/map/join 效率更高,且只会有一个结果\r\n return item?.value || \"\";\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useDicStore;\r\n"],"names":["defineStore","DATA_DICTIONARY_ID","item"],"mappings":"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"}
|
|
@@ -84,6 +84,39 @@ const useNavTabStore = pinia.defineStore(types.NAV_TAB_ID, {
|
|
|
84
84
|
break;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
+
},
|
|
88
|
+
// 关闭其他
|
|
89
|
+
closeOtherTabs(fullPath) {
|
|
90
|
+
this.list = this.list.filter(
|
|
91
|
+
(item) => {
|
|
92
|
+
var _a;
|
|
93
|
+
return item.fullPath === fullPath || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
},
|
|
97
|
+
// 关闭左侧
|
|
98
|
+
closeLeftTabs(fullPath) {
|
|
99
|
+
const index = this.list.findIndex(
|
|
100
|
+
(item) => item.fullPath === fullPath
|
|
101
|
+
);
|
|
102
|
+
this.list = this.list.filter(
|
|
103
|
+
(item, i) => {
|
|
104
|
+
var _a;
|
|
105
|
+
return i >= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
},
|
|
109
|
+
// 关闭右侧
|
|
110
|
+
closeRightTabs(fullPath) {
|
|
111
|
+
const index = this.list.findIndex(
|
|
112
|
+
(item) => item.fullPath === fullPath
|
|
113
|
+
);
|
|
114
|
+
this.list = this.list.filter(
|
|
115
|
+
(item, i) => {
|
|
116
|
+
var _a;
|
|
117
|
+
return i <= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
118
|
+
}
|
|
119
|
+
);
|
|
87
120
|
}
|
|
88
121
|
},
|
|
89
122
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.cjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useNavTabStore.cjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n },\r\n // 关闭其他\r\n closeOtherTabs(fullPath: string) {\r\n this.list = this.list.filter(\r\n item =>\r\n item.fullPath === fullPath || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭左侧\r\n closeLeftTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i >= index || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭右侧\r\n closeRightTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i <= index || item.meta?.keepOpen\r\n );\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":["defineStore","NAV_TAB_ID","useKeepAliveStore"],"mappings":"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"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -4,7 +4,6 @@ export { default as useDicStore } from './modules/useDicStore.mjs';
|
|
|
4
4
|
export { default as useKeepAliveStore } from './modules/useKeepAliveStore.mjs';
|
|
5
5
|
export { default as useMenuStore } from './modules/useMenuStore.mjs';
|
|
6
6
|
export { useNavTabStore } from './modules/useNavTabStore.mjs';
|
|
7
|
-
export { default as useNoStore } from './modules/useNoStore.mjs';
|
|
8
7
|
export { default as useUserStore } from './modules/useUserStore.mjs';
|
|
9
8
|
|
|
10
9
|
"use strict";
|
package/dist/esm/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":";;;;;;;;"}
|
|
@@ -5,60 +5,17 @@ import { DATA_DICTIONARY_ID } from '../types.mjs';
|
|
|
5
5
|
const useDicStore = defineStore(DATA_DICTIONARY_ID, {
|
|
6
6
|
state: () => ({
|
|
7
7
|
dataDic: {},
|
|
8
|
-
// 初始化为空对象
|
|
9
8
|
cacheDuration: 5 * 60 * 1e3
|
|
10
9
|
// 缓存有效期:5分钟(单位:毫秒)
|
|
11
10
|
}),
|
|
11
|
+
// 💡 优化:Getters 仅保留无参数的计算属性,如果不需要则保持为空。
|
|
12
12
|
getters: {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
* @param state
|
|
16
|
-
*/
|
|
17
|
-
getDicByKey: (state) => {
|
|
18
|
-
return (key) => {
|
|
19
|
-
var _a;
|
|
20
|
-
return ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
21
|
-
};
|
|
22
|
-
},
|
|
23
|
-
/**
|
|
24
|
-
* 返回value匹配到的整个对象
|
|
25
|
-
* @param state
|
|
26
|
-
*/
|
|
27
|
-
getDicObjByValue: (state) => {
|
|
28
|
-
return (key, value) => {
|
|
29
|
-
var _a;
|
|
30
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
31
|
-
return rs.find((item) => item.value === value) || {};
|
|
32
|
-
};
|
|
33
|
-
},
|
|
34
|
-
/**
|
|
35
|
-
* 根据字典名称和字典的 value 获取对应的中文
|
|
36
|
-
* @param state
|
|
37
|
-
*/
|
|
38
|
-
getDicTextByValue: (state) => {
|
|
39
|
-
return (key, value) => {
|
|
40
|
-
var _a;
|
|
41
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
42
|
-
return rs.filter(
|
|
43
|
-
(item) => item.value === value
|
|
44
|
-
).map((item) => item.label).join("");
|
|
45
|
-
};
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* 根据文字匹配对应的 value
|
|
49
|
-
* @param state
|
|
50
|
-
*/
|
|
51
|
-
getDicValueByText: (state) => {
|
|
52
|
-
return (key, text) => {
|
|
53
|
-
var _a;
|
|
54
|
-
const rs = ((_a = state.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
55
|
-
return rs.filter(
|
|
56
|
-
(item) => item.label === text
|
|
57
|
-
).map((item) => item.value).join("");
|
|
58
|
-
};
|
|
59
|
-
}
|
|
13
|
+
// 示例:如果需要获取所有字典的 Key 列表,可以放在这里
|
|
14
|
+
// getAllKeys: state => Object.keys(state.dataDic),
|
|
60
15
|
},
|
|
16
|
+
// 💡 优化:Actions 包含所有数据操作和有参数的查询方法。
|
|
61
17
|
actions: {
|
|
18
|
+
// --- 缓存/数据操作 Actions (保持不变) ---
|
|
62
19
|
// 检查缓存是否过期
|
|
63
20
|
isCacheExpired(name) {
|
|
64
21
|
if (this.cacheDuration === 0) return false;
|
|
@@ -67,30 +24,66 @@ const useDicStore = defineStore(DATA_DICTIONARY_ID, {
|
|
|
67
24
|
const now = Date.now();
|
|
68
25
|
return now - cache.timestamp > this.cacheDuration;
|
|
69
26
|
},
|
|
70
|
-
|
|
71
|
-
* 动态读取下拉字典的时候使用
|
|
72
|
-
* 根据key保存字典数据
|
|
73
|
-
* @param key key
|
|
74
|
-
* @param data 字典数据
|
|
75
|
-
*/
|
|
27
|
+
// 根据 key 保存字典数据
|
|
76
28
|
saveDicByKey(key, data) {
|
|
77
29
|
this.dataDic[key] = {
|
|
78
30
|
value: data,
|
|
79
31
|
timestamp: Date.now()
|
|
80
32
|
};
|
|
81
33
|
},
|
|
82
|
-
|
|
83
|
-
* 一次性存入数据字典的时候使用
|
|
84
|
-
* 数据格式: {key1:[{value:'',label:''}],key2:[{value:'',label:''}]}
|
|
85
|
-
*
|
|
86
|
-
*/
|
|
34
|
+
// 一次性存入数据字典
|
|
87
35
|
saveAll(data) {
|
|
88
36
|
Object.entries(data).forEach(([key, value]) => {
|
|
89
37
|
this.dataDic[key] = {
|
|
90
38
|
value,
|
|
91
|
-
timestamp:
|
|
39
|
+
timestamp: Date.now()
|
|
40
|
+
// 统一使用当前时间戳
|
|
92
41
|
};
|
|
93
42
|
});
|
|
43
|
+
},
|
|
44
|
+
// --- 查询 Actions (原 Getters 优化) ---
|
|
45
|
+
/**
|
|
46
|
+
* 1. 根据 key 获取字典列表 (原 getDicByKey)
|
|
47
|
+
* @param key 字典的 key
|
|
48
|
+
*/
|
|
49
|
+
getDicByKey(key) {
|
|
50
|
+
var _a;
|
|
51
|
+
return ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)
|
|
55
|
+
* @param key 字典的 key
|
|
56
|
+
* @param value 字典项的值
|
|
57
|
+
*/
|
|
58
|
+
getDicObjByValue(key, value) {
|
|
59
|
+
var _a;
|
|
60
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
61
|
+
const result = rs.find(
|
|
62
|
+
(item) => item.value === String(value)
|
|
63
|
+
);
|
|
64
|
+
return result || null;
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* 3. 根据字典名称和字典的 value 获取对应的中文 (原 getDicTextByValue)
|
|
68
|
+
*/
|
|
69
|
+
getDicTextByValue(key, value) {
|
|
70
|
+
var _a;
|
|
71
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
72
|
+
const item = rs.find(
|
|
73
|
+
(item2) => item2.value === value
|
|
74
|
+
);
|
|
75
|
+
return (item == null ? void 0 : item.label) || "";
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* 4. 根据文字匹配对应的 value (原 getDicValueByText)
|
|
79
|
+
*/
|
|
80
|
+
getDicValueByText(key, text) {
|
|
81
|
+
var _a;
|
|
82
|
+
const rs = ((_a = this.dataDic[key]) == null ? void 0 : _a.value) || [];
|
|
83
|
+
const item = rs.find(
|
|
84
|
+
(item2) => item2.label === text
|
|
85
|
+
);
|
|
86
|
+
return (item == null ? void 0 : item.value) || "";
|
|
94
87
|
}
|
|
95
88
|
},
|
|
96
89
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDicStore.mjs","sources":["../../../src/modules/useDicStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { DATA_DICTIONARY_ID } from \"../types\";\r\n\r\n// 定义字典项的类型\r\nexport interface DictionaryItem {\r\n value: string; // 字典项的值\r\n label: string; // 字典项的显示文本\r\n}\r\n\r\n// 定义字典列表的类型\r\nexport interface Dictionary {\r\n [key: string]: {\r\n value: DictionaryItem[]; // 数组字典\r\n timestamp: number; // 数据缓存时间戳\r\n };\r\n}\r\n\r\n/**\r\n * {key:[]}\r\n */\r\nexport interface DictionaryList {\r\n [key: string]: DictionaryItem[]; // 数组字典\r\n}\r\n\r\n// 定义 Store 的状态类型\r\nexport interface DataDictionaryState {\r\n dataDic: Dictionary
|
|
1
|
+
{"version":3,"file":"useDicStore.mjs","sources":["../../../src/modules/useDicStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { DATA_DICTIONARY_ID } from \"../types\";\r\n\r\n// 定义字典项的类型\r\nexport interface DictionaryItem {\r\n value: string; // 字典项的值\r\n label: string; // 字典项的显示文本\r\n}\r\n\r\n// 定义字典列表的类型\r\nexport interface Dictionary {\r\n [key: string]: {\r\n value: DictionaryItem[]; // 数组字典\r\n timestamp: number; // 数据缓存时间戳\r\n };\r\n}\r\n\r\n/**\r\n * {key:[]}\r\n */\r\nexport interface DictionaryList {\r\n [key: string]: DictionaryItem[]; // 数组字典\r\n}\r\n\r\n// 定义 Store 的状态类型\r\nexport interface DataDictionaryState {\r\n dataDic: Dictionary;\r\n cacheDuration: number;\r\n}\r\n\r\nconst useDicStore = defineStore(DATA_DICTIONARY_ID, {\r\n state: (): DataDictionaryState => ({\r\n dataDic: {},\r\n cacheDuration: 5 * 60 * 1000 // 缓存有效期:5分钟(单位:毫秒)\r\n }),\r\n\r\n // 💡 优化:Getters 仅保留无参数的计算属性,如果不需要则保持为空。\r\n getters: {\r\n // 示例:如果需要获取所有字典的 Key 列表,可以放在这里\r\n // getAllKeys: state => Object.keys(state.dataDic),\r\n },\r\n\r\n // 💡 优化:Actions 包含所有数据操作和有参数的查询方法。\r\n actions: {\r\n // --- 缓存/数据操作 Actions (保持不变) ---\r\n\r\n // 检查缓存是否过期\r\n isCacheExpired(name: string): boolean {\r\n // 使用 this 访问 state\r\n if (this.cacheDuration === 0) return false;\r\n const cache = this.dataDic[name];\r\n if (!cache) return true;\r\n const now = Date.now();\r\n return now - cache.timestamp > this.cacheDuration;\r\n },\r\n\r\n // 根据 key 保存字典数据\r\n saveDicByKey(key: string, data: DictionaryItem[]) {\r\n // 修正 data 类型\r\n this.dataDic[key] = {\r\n value: data,\r\n timestamp: Date.now()\r\n };\r\n },\r\n\r\n // 一次性存入数据字典\r\n saveAll(data: DictionaryList) {\r\n Object.entries(data).forEach(([key, value]) => {\r\n this.dataDic[key] = {\r\n value,\r\n timestamp: Date.now() // 统一使用当前时间戳\r\n };\r\n });\r\n },\r\n\r\n // --- 查询 Actions (原 Getters 优化) ---\r\n\r\n /**\r\n * 1. 根据 key 获取字典列表 (原 getDicByKey)\r\n * @param key 字典的 key\r\n */\r\n getDicByKey(key: string): DictionaryItem[] {\r\n // 直接使用 this 访问 state\r\n return this.dataDic[key]?.value || [];\r\n },\r\n\r\n /**\r\n * 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)\r\n * @param key 字典的 key\r\n * @param value 字典项的值\r\n */\r\n getDicObjByValue(\r\n key: string,\r\n value: string | number\r\n ): DictionaryItem | null {\r\n // 修正 value 类型为 string | number,返回类型为 DictionaryItem | null\r\n const rs = this.dataDic[key]?.value || [];\r\n const result = rs.find(\r\n item => item.value === String(value)\r\n );\r\n // 返回 null 更安全,避免返回空对象 {} as DictionaryItem\r\n return result || null;\r\n },\r\n\r\n /**\r\n * 3. 根据字典名称和字典的 value 获取对应的中文 (原 getDicTextByValue)\r\n */\r\n getDicTextByValue(key: string, value: string): string {\r\n const rs = this.dataDic[key]?.value || [];\r\n const item = rs.find(\r\n (item: DictionaryItem) => item.value === value\r\n );\r\n // 优化:使用 find 比 filter/map/join 效率更高,且只会有一个结果\r\n return item?.label || \"\";\r\n },\r\n\r\n /**\r\n * 4. 根据文字匹配对应的 value (原 getDicValueByText)\r\n */\r\n getDicValueByText(key: string, text: string): string {\r\n const rs = this.dataDic[key]?.value || [];\r\n const item = rs.find(\r\n (item: DictionaryItem) => item.label === text\r\n );\r\n // 优化:使用 find 比 filter/map/join 效率更高,且只会有一个结果\r\n return item?.value || \"\";\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useDicStore;\r\n"],"names":["item"],"mappings":"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"}
|
|
@@ -80,6 +80,39 @@ const useNavTabStore = defineStore(NAV_TAB_ID, {
|
|
|
80
80
|
break;
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
+
},
|
|
84
|
+
// 关闭其他
|
|
85
|
+
closeOtherTabs(fullPath) {
|
|
86
|
+
this.list = this.list.filter(
|
|
87
|
+
(item) => {
|
|
88
|
+
var _a;
|
|
89
|
+
return item.fullPath === fullPath || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
},
|
|
93
|
+
// 关闭左侧
|
|
94
|
+
closeLeftTabs(fullPath) {
|
|
95
|
+
const index = this.list.findIndex(
|
|
96
|
+
(item) => item.fullPath === fullPath
|
|
97
|
+
);
|
|
98
|
+
this.list = this.list.filter(
|
|
99
|
+
(item, i) => {
|
|
100
|
+
var _a;
|
|
101
|
+
return i >= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
},
|
|
105
|
+
// 关闭右侧
|
|
106
|
+
closeRightTabs(fullPath) {
|
|
107
|
+
const index = this.list.findIndex(
|
|
108
|
+
(item) => item.fullPath === fullPath
|
|
109
|
+
);
|
|
110
|
+
this.list = this.list.filter(
|
|
111
|
+
(item, i) => {
|
|
112
|
+
var _a;
|
|
113
|
+
return i <= index || ((_a = item.meta) == null ? void 0 : _a.keepOpen);
|
|
114
|
+
}
|
|
115
|
+
);
|
|
83
116
|
}
|
|
84
117
|
},
|
|
85
118
|
persist: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.mjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useNavTabStore.mjs","sources":["../../../src/modules/useNavTabStore.ts"],"sourcesContent":["/**\r\n * 多标签数据\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { NAV_TAB_ID } from \"../types\";\r\nimport useKeepAliveStore from \"./useKeepAliveStore\";\r\nimport type {\r\n LocationQuery,\r\n RouteLocationNormalized,\r\n RouteMeta,\r\n RouteParams\r\n} from \"vue-router\";\r\n\r\nexport interface NavTabsState {\r\n path?: string;\r\n fullPath?: string;\r\n query?: LocationQuery;\r\n params?: RouteParams;\r\n meta?: RouteMeta;\r\n name?: string;\r\n openTime?: number | undefined;\r\n}\r\n\r\nexport const useNavTabStore = defineStore(NAV_TAB_ID, {\r\n state: () => {\r\n return {\r\n // 多标签列表\r\n list: [] as NavTabsState[],\r\n // 当前激活的地址\r\n activeKey: \"\" as string\r\n };\r\n },\r\n getters: {\r\n getList: (state): NavTabsState[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 保存标签信息\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n if (!route.meta?.title) {\r\n // 没有设置title,则不进入缓存\r\n return;\r\n }\r\n const flag = this.list.some(\r\n (item: NavTabsState) => item.path === route.path\r\n );\r\n if (flag) {\r\n // 如果有相同的路由变化,更新对应的参数信息\r\n this.list.forEach((item: NavTabsState) => {\r\n if (item.path === route.path) {\r\n item.query = route.query;\r\n item.fullPath = route.fullPath;\r\n item.params = route.params;\r\n item.meta = route.meta;\r\n item.name = <string>route.name || \"\";\r\n }\r\n });\r\n return;\r\n }\r\n const data: NavTabsState = {\r\n path: route.path,\r\n fullPath: route.fullPath,\r\n query: route.query,\r\n params: route.params,\r\n meta: route.meta,\r\n name: <string>route.name || \"\",\r\n openTime: new Date().getTime()\r\n };\r\n this.list.push(data);\r\n },\r\n /**\r\n * 删除标签\r\n * @param key url路径\r\n */\r\n deleteTabs(key: string) {\r\n const { deleteKeepAlive } = useKeepAliveStore();\r\n const curRoute: NavTabsState =\r\n this.list.find(v => v.fullPath === key) || {};\r\n this.list.splice(\r\n this.list.findIndex(v => v.fullPath === key),\r\n 1\r\n );\r\n // 根据name 删除缓存的组件\r\n if (curRoute?.name) {\r\n deleteKeepAlive(curRoute.name);\r\n }\r\n },\r\n /**\r\n * 设置标题\r\n * @param title 标题\r\n * @param path url\r\n */\r\n setNavTitle(title: string, path: string) {\r\n for (let i = 0; i < this.list.length; i++) {\r\n if (this.list[i].fullPath === path) {\r\n this.list[i].meta!.title = title;\r\n break;\r\n }\r\n }\r\n },\r\n // 关闭其他\r\n closeOtherTabs(fullPath: string) {\r\n this.list = this.list.filter(\r\n item =>\r\n item.fullPath === fullPath || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭左侧\r\n closeLeftTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i >= index || item.meta?.keepOpen\r\n );\r\n },\r\n\r\n // 关闭右侧\r\n closeRightTabs(fullPath: string) {\r\n const index = this.list.findIndex(\r\n item => item.fullPath === fullPath\r\n );\r\n this.list = this.list.filter(\r\n (item, i) => i <= index || item.meta?.keepOpen\r\n );\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useNavTabStore;\r\n"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,6 +6,5 @@ export { default as useKeepAliveStore } from "./modules/useKeepAliveStore";
|
|
|
6
6
|
export { default as useMenuStore } from "./modules/useMenuStore";
|
|
7
7
|
export type { NavTabsState } from "./modules/useNavTabStore";
|
|
8
8
|
export { default as useNavTabStore } from "./modules/useNavTabStore";
|
|
9
|
-
export { default as useNoStore } from "./modules/useNoStore";
|
|
10
9
|
export { default as useUserStore } from "./modules/useUserStore";
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -18,54 +18,29 @@ export interface DataDictionaryState {
|
|
|
18
18
|
dataDic: Dictionary;
|
|
19
19
|
cacheDuration: number;
|
|
20
20
|
}
|
|
21
|
-
declare const useDicStore: import("pinia").StoreDefinition<"_STORE_DATA_DICTIONARY_ID", DataDictionaryState, {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*/
|
|
26
|
-
getDicByKey: (state: {
|
|
27
|
-
dataDic: Dictionary;
|
|
28
|
-
cacheDuration: number;
|
|
29
|
-
} & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string) => DictionaryItem[];
|
|
30
|
-
/**
|
|
31
|
-
* 返回value匹配到的整个对象
|
|
32
|
-
* @param state
|
|
33
|
-
*/
|
|
34
|
-
getDicObjByValue: (state: {
|
|
35
|
-
dataDic: Dictionary;
|
|
36
|
-
cacheDuration: number;
|
|
37
|
-
} & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, value: never) => DictionaryItem;
|
|
21
|
+
declare const useDicStore: import("pinia").StoreDefinition<"_STORE_DATA_DICTIONARY_ID", DataDictionaryState, {}, {
|
|
22
|
+
isCacheExpired(name: string): boolean;
|
|
23
|
+
saveDicByKey(key: string, data: DictionaryItem[]): void;
|
|
24
|
+
saveAll(data: DictionaryList): void;
|
|
38
25
|
/**
|
|
39
|
-
*
|
|
40
|
-
* @param
|
|
26
|
+
* 1. 根据 key 获取字典列表 (原 getDicByKey)
|
|
27
|
+
* @param key 字典的 key
|
|
41
28
|
*/
|
|
42
|
-
|
|
43
|
-
dataDic: Dictionary;
|
|
44
|
-
cacheDuration: number;
|
|
45
|
-
} & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, value: string) => string;
|
|
29
|
+
getDicByKey(key: string): DictionaryItem[];
|
|
46
30
|
/**
|
|
47
|
-
*
|
|
48
|
-
* @param
|
|
31
|
+
* 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)
|
|
32
|
+
* @param key 字典的 key
|
|
33
|
+
* @param value 字典项的值
|
|
49
34
|
*/
|
|
50
|
-
|
|
51
|
-
dataDic: Dictionary;
|
|
52
|
-
cacheDuration: number;
|
|
53
|
-
} & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, text: string) => string;
|
|
54
|
-
}, {
|
|
55
|
-
isCacheExpired(name: string): boolean;
|
|
35
|
+
getDicObjByValue(key: string, value: string | number): DictionaryItem | null;
|
|
56
36
|
/**
|
|
57
|
-
*
|
|
58
|
-
* 根据key保存字典数据
|
|
59
|
-
* @param key key
|
|
60
|
-
* @param data 字典数据
|
|
37
|
+
* 3. 根据字典名称和字典的 value 获取对应的中文 (原 getDicTextByValue)
|
|
61
38
|
*/
|
|
62
|
-
|
|
39
|
+
getDicTextByValue(key: string, value: string): string;
|
|
63
40
|
/**
|
|
64
|
-
*
|
|
65
|
-
* 数据格式: {key1:[{value:'',label:''}],key2:[{value:'',label:''}]}
|
|
66
|
-
*
|
|
41
|
+
* 4. 根据文字匹配对应的 value (原 getDicValueByText)
|
|
67
42
|
*/
|
|
68
|
-
|
|
43
|
+
getDicValueByText(key: string, text: string): string;
|
|
69
44
|
}>;
|
|
70
45
|
export default useDicStore;
|
|
71
46
|
//# sourceMappingURL=useDicStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDicStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useDicStore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,WAAW;
|
|
1
|
+
{"version":3,"file":"useDicStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useDicStore.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,QAAA,MAAM,WAAW;yBAiBQ,MAAM,GAAG,OAAO;sBAUnB,MAAM,QAAQ,cAAc,EAAE;kBASlC,cAAc;IAW5B;;;OAGG;qBACc,MAAM,GAAG,cAAc,EAAE;IAK1C;;;;OAIG;0BAEI,MAAM,SACJ,MAAM,GAAG,MAAM,GACrB,cAAc,GAAG,IAAI;IAUxB;;OAEG;2BACoB,MAAM,SAAS,MAAM,GAAG,MAAM;IASrD;;OAEG;2BACoB,MAAM,QAAQ,MAAM,GAAG,MAAM;EAUtD,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -44,6 +44,9 @@ export declare const useNavTabStore: import("pinia").StoreDefinition<"_STORE_NAV
|
|
|
44
44
|
* @param path url
|
|
45
45
|
*/
|
|
46
46
|
setNavTitle(title: string, path: string): void;
|
|
47
|
+
closeOtherTabs(fullPath: string): void;
|
|
48
|
+
closeLeftTabs(fullPath: string): void;
|
|
49
|
+
closeRightTabs(fullPath: string): void;
|
|
47
50
|
}>;
|
|
48
51
|
export default useNavTabStore;
|
|
49
52
|
//# sourceMappingURL=useNavTabStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavTabStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNavTabStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;UAIT,YAAY,EAAE;eAET,MAAM;;;;mBAfpB,MAAM;uBACF,MAAM;oBACT,aAAa;qBACZ,WAAW;mBACb,SAAS;mBACT,MAAM;uBACF,MAAM,GAAG,SAAS;;mBASR,MAAM;;cAFX,YAAY,EAAE;mBAET,MAAM;WAIP,YAAY,EAAE;;IAKhC;;;OAGG;gBACS,uBAAuB;IAgCnC;;;OAGG;oBACa,MAAM;IAatB;;;;OAIG;uBACgB,MAAM,QAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"useNavTabStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNavTabStore.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,aAAa,EACb,uBAAuB,EACvB,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,cAAc;UAIT,YAAY,EAAE;eAET,MAAM;;;;mBAfpB,MAAM;uBACF,MAAM;oBACT,aAAa;qBACZ,WAAW;mBACb,SAAS;mBACT,MAAM;uBACF,MAAM,GAAG,SAAS;;mBASR,MAAM;;cAFX,YAAY,EAAE;mBAET,MAAM;WAIP,YAAY,EAAE;;IAKhC;;;OAGG;gBACS,uBAAuB;IAgCnC;;;OAGG;oBACa,MAAM;IAatB;;;;OAIG;uBACgB,MAAM,QAAQ,MAAM;6BASd,MAAM;4BAQP,MAAM;6BAUL,MAAM;EAUjC,CAAC;AAEH,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var pinia = require('pinia');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
const useNoStore = pinia.defineStore("NoStore", {
|
|
9
|
-
state: () => {
|
|
10
|
-
return {
|
|
11
|
-
menuList: []
|
|
12
|
-
};
|
|
13
|
-
},
|
|
14
|
-
actions: {
|
|
15
|
-
save(data) {
|
|
16
|
-
this.menuList = data;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
exports.default = useNoStore;
|
|
22
|
-
//# sourceMappingURL=useNoStore.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.cjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nexport interface NoStore {\r\n menuList: any[];\r\n}\r\n\r\n/**\r\n * 这个store不会进入缓存\r\n */\r\nconst useNoStore = defineStore(\"NoStore\", {\r\n state: (): NoStore => {\r\n return {\r\n menuList: []\r\n };\r\n },\r\n actions: {\r\n save(data: any[]) {\r\n this.menuList = data;\r\n }\r\n }\r\n});\r\n\r\nexport default useNoStore;\r\n"],"names":["defineStore"],"mappings":";;;;;;;AASA,MAAM,UAAA,GAAaA,kBAAY,SAAA,EAAW;AAAA,EACxC,OAAO,MAAe;AACpB,IAAA,OAAO;AAAA,MACL,UAAU;AAAC,KACb;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAAa;AAChB,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineStore } from 'pinia';
|
|
2
|
-
|
|
3
|
-
"use strict";
|
|
4
|
-
const useNoStore = defineStore("NoStore", {
|
|
5
|
-
state: () => {
|
|
6
|
-
return {
|
|
7
|
-
menuList: []
|
|
8
|
-
};
|
|
9
|
-
},
|
|
10
|
-
actions: {
|
|
11
|
-
save(data) {
|
|
12
|
-
this.menuList = data;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
export { useNoStore as default };
|
|
18
|
-
//# sourceMappingURL=useNoStore.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.mjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nexport interface NoStore {\r\n menuList: any[];\r\n}\r\n\r\n/**\r\n * 这个store不会进入缓存\r\n */\r\nconst useNoStore = defineStore(\"NoStore\", {\r\n state: (): NoStore => {\r\n return {\r\n menuList: []\r\n };\r\n },\r\n actions: {\r\n save(data: any[]) {\r\n this.menuList = data;\r\n }\r\n }\r\n});\r\n\r\nexport default useNoStore;\r\n"],"names":[],"mappings":";;;AASA,MAAM,UAAA,GAAa,YAAY,SAAA,EAAW;AAAA,EACxC,OAAO,MAAe;AACpB,IAAA,OAAO;AAAA,MACL,UAAU;AAAC,KACb;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAAa;AAChB,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA;AAEJ,CAAC;;;;"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface NoStore {
|
|
2
|
-
menuList: any[];
|
|
3
|
-
}
|
|
4
|
-
/**
|
|
5
|
-
* 这个store不会进入缓存
|
|
6
|
-
*/
|
|
7
|
-
declare const useNoStore: import("pinia").StoreDefinition<"NoStore", NoStore, {}, {
|
|
8
|
-
save(data: any[]): void;
|
|
9
|
-
}>;
|
|
10
|
-
export default useNoStore;
|
|
11
|
-
//# sourceMappingURL=useNoStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNoStore.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,QAAA,MAAM,UAAU;eAOD,GAAG,EAAE;EAIlB,CAAC;AAEH,eAAe,UAAU,CAAC"}
|