@ditari/store 5.0.11 → 5.1.0
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/useAppStore.cjs.map +1 -1
- package/dist/cjs/modules/useBreadStore.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/useKeepAliveStore.cjs.map +1 -1
- package/dist/cjs/modules/useMenuStore.cjs.map +1 -1
- package/dist/cjs/modules/useNavTabStore.cjs.map +1 -1
- package/dist/cjs/modules/useNoStore.cjs.map +1 -1
- package/dist/cjs/modules/useUserStore.cjs.map +1 -1
- package/dist/cjs/types.cjs.map +1 -1
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/modules/useAppStore.mjs.map +1 -1
- package/dist/esm/modules/useBreadStore.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/useKeepAliveStore.mjs.map +1 -1
- package/dist/esm/modules/useMenuStore.mjs.map +1 -1
- package/dist/esm/modules/useNavTabStore.mjs.map +1 -1
- package/dist/esm/modules/useNoStore.mjs.map +1 -1
- package/dist/esm/modules/useUserStore.mjs.map +1 -1
- package/dist/esm/types.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/useNoStore.d.ts +3 -4
- package/dist/types/modules/useNoStore.d.ts.map +1 -1
- package/package.json +1 -8
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":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppStore.cjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: Record<string, string>;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n bgColor: \"#1677ff\",\r\n txtColor: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":["defineStore","APP_ID","theme"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useAppStore.cjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: Record<string, string>;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n bgColor: \"#1677ff\",\r\n txtColor: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":["defineStore","APP_ID","theme"],"mappings":";;;;;;;;;AAqCA,MAAM,WAAA,GAAcA,kBAAYC,YAAA,EAAQ;AAAA,EACtC,OAAO,MAAW;AAChB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO;AAAA;AAAA,QAEL,WAAWC,kBAAA,CAAM,gBAAA;AAAA,QACjB,OAAO;AAAC,OACV;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,cAAA,EAAK;AAAA,UAC9B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,cAAA,EAAK;AAAA,UAC7B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,0BAAA;AAAO;AAC/B,OACF;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,MACX,MAAA,EAAQ;AAAA,QACN,SAAA,EAAW,GAAA;AAAA,QACX,YAAA,EAAc,EAAA;AAAA,QACd,cAAA,EAAgB,EAAA;AAAA,QAChB,SAAA,EAAW;AAAA,OACb;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,OAAA,EAAS,SAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,OAAA,EAAS;AAAA,OACX;AAAA,MACA,OAAA,EAAS;AAAA,KACX;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBreadStore.cjs","sources":["../../../src/modules/useBreadStore.ts"],"sourcesContent":["/**\r\n * 面包屑\r\n * @author 余春林\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { BREADCRUMB_ID } from \"../types\";\r\n\r\nexport interface BreadcrumbState {\r\n breadcrumbs: [];\r\n}\r\n\r\nexport const useBreadStore = defineStore(BREADCRUMB_ID, {\r\n state: (): BreadcrumbState => ({\r\n breadcrumbs: []\r\n }),\r\n getters: {\r\n getBreadcrumb: state => state.breadcrumbs\r\n },\r\n actions: {\r\n saveBreadcrumb(data: never) {\r\n this.breadcrumbs = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n"],"names":["defineStore","BREADCRUMB_ID"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"useBreadStore.cjs","sources":["../../../src/modules/useBreadStore.ts"],"sourcesContent":["/**\r\n * 面包屑\r\n * @author 余春林\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { BREADCRUMB_ID } from \"../types\";\r\n\r\nexport interface BreadcrumbState {\r\n breadcrumbs: [];\r\n}\r\n\r\nexport const useBreadStore = defineStore(BREADCRUMB_ID, {\r\n state: (): BreadcrumbState => ({\r\n breadcrumbs: []\r\n }),\r\n getters: {\r\n getBreadcrumb: state => state.breadcrumbs\r\n },\r\n actions: {\r\n saveBreadcrumb(data: never) {\r\n this.breadcrumbs = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n"],"names":["defineStore","BREADCRUMB_ID"],"mappings":";;;;;;AAYO,MAAM,aAAA,GAAgBA,kBAAYC,mBAAA,EAAe;AAAA,EACtD,OAAO,OAAwB;AAAA,IAC7B,aAAa;AAAC,GAChB,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,aAAA,EAAe,WAAS,KAAA,CAAM;AAAA,GAChC;AAAA,EACA,OAAA,EAAS;AAAA,IACP,eAAe,IAAA,EAAa;AAC1B,MAAA,IAAA,CAAK,WAAA,GAAc,IAAA;AAAA,IACrB;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeepAliveStore.cjs","sources":["../../../src/modules/useKeepAliveStore.ts"],"sourcesContent":["/**\r\n * 缓存组件name数据\r\n */\r\nimport { type RouteLocationNormalized } from \"vue-router\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { KEEP_ALIVE_ID } from \"../types\";\r\n\r\nconst useKeepAliveStore = defineStore(KEEP_ALIVE_ID, {\r\n state: () => {\r\n return {\r\n list: [] as string[]\r\n };\r\n },\r\n getters: {\r\n get: (state): string[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 删除已经缓存的组件\r\n * @param name 组件名称(必须唯一)\r\n */\r\n deleteKeepAlive(name: string) {\r\n this.list.splice(\r\n this.list.findIndex((key: string) => key === name),\r\n 1\r\n );\r\n },\r\n /**\r\n * 保存要缓存的组件名称\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n const name = <string>route.name;\r\n if (!name) {\r\n return;\r\n }\r\n const flag = this.list.some((key: string) => key === name);\r\n if (!flag) {\r\n this.list.push(name);\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useKeepAliveStore;\r\n"],"names":["defineStore","KEEP_ALIVE_ID"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"useKeepAliveStore.cjs","sources":["../../../src/modules/useKeepAliveStore.ts"],"sourcesContent":["/**\r\n * 缓存组件name数据\r\n */\r\nimport { type RouteLocationNormalized } from \"vue-router\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { KEEP_ALIVE_ID } from \"../types\";\r\n\r\nconst useKeepAliveStore = defineStore(KEEP_ALIVE_ID, {\r\n state: () => {\r\n return {\r\n list: [] as string[]\r\n };\r\n },\r\n getters: {\r\n get: (state): string[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 删除已经缓存的组件\r\n * @param name 组件名称(必须唯一)\r\n */\r\n deleteKeepAlive(name: string) {\r\n this.list.splice(\r\n this.list.findIndex((key: string) => key === name),\r\n 1\r\n );\r\n },\r\n /**\r\n * 保存要缓存的组件名称\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n const name = <string>route.name;\r\n if (!name) {\r\n return;\r\n }\r\n const flag = this.list.some((key: string) => key === name);\r\n if (!flag) {\r\n this.list.push(name);\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useKeepAliveStore;\r\n"],"names":["defineStore","KEEP_ALIVE_ID"],"mappings":";;;;;;;;AAQA,MAAM,iBAAA,GAAoBA,kBAAYC,mBAAA,EAAe;AAAA,EACnD,OAAO,MAAM;AACX,IAAA,OAAO;AAAA,MACL,MAAM;AAAC,KACT;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,GAAA,EAAK,CAAC,KAAA,KAAoB;AACxB,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA,IACf;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,gBAAgB,IAAA,EAAc;AAC5B,MAAA,IAAA,CAAK,IAAA,CAAK,MAAA;AAAA,QACR,KAAK,IAAA,CAAK,SAAA,CAAU,CAAC,GAAA,KAAgB,QAAQ,IAAI,CAAA;AAAA,QACjD;AAAA,OACF;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAK,KAAA,EAAgC;AACnC,MAAA,MAAM,OAAe,KAAA,CAAM,IAAA;AAC3B,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA;AAAA,MACF;AACA,MAAA,MAAM,OAAO,IAAA,CAAK,IAAA,CAAK,KAAK,CAAC,GAAA,KAAgB,QAAQ,IAAI,CAAA;AACzD,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,IAAA,CAAK,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,MACrB;AAAA,IACF;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuStore.cjs","sources":["../../../src/modules/useMenuStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { MENU_ID } from \"../types\";\r\nimport type { ItemType } from \"ant-design-vue\";\r\n\r\nexport type ExtendedItemType = ItemType & {\r\n id?: string;\r\n parentId?: string;\r\n};\r\n\r\nexport interface Menu {\r\n openKeys: string[];\r\n selectedKeys: string[];\r\n data: ExtendedItemType[];\r\n}\r\n\r\nconst useMenuStore = defineStore(MENU_ID, {\r\n state: (): Menu => {\r\n return {\r\n openKeys: [],\r\n selectedKeys: [],\r\n data: []\r\n };\r\n },\r\n actions: {\r\n save(data: ExtendedItemType[]) {\r\n this.data = _addMenuIds(data);\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nfunction _addMenuIds(\r\n menuData: any,\r\n parentId: any = null,\r\n idPrefix = \"\"\r\n) {\r\n let counter = 0;\r\n\r\n return menuData.map((menuItem: any) => {\r\n const id = `${idPrefix}${counter++}`;\r\n const newItem = {\r\n ...menuItem,\r\n id,\r\n key: id,\r\n parentId\r\n };\r\n\r\n if (menuItem.children) {\r\n newItem.children = _addMenuIds(\r\n menuItem.children,\r\n id,\r\n `${id}-`\r\n );\r\n }\r\n\r\n return newItem;\r\n });\r\n}\r\n\r\nexport default useMenuStore;\r\n"],"names":["defineStore","MENU_ID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useMenuStore.cjs","sources":["../../../src/modules/useMenuStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { MENU_ID } from \"../types\";\r\nimport type { ItemType } from \"ant-design-vue\";\r\n\r\nexport type ExtendedItemType = ItemType & {\r\n id?: string;\r\n parentId?: string;\r\n};\r\n\r\nexport interface Menu {\r\n openKeys: string[];\r\n selectedKeys: string[];\r\n data: ExtendedItemType[];\r\n}\r\n\r\nconst useMenuStore = defineStore(MENU_ID, {\r\n state: (): Menu => {\r\n return {\r\n openKeys: [],\r\n selectedKeys: [],\r\n data: []\r\n };\r\n },\r\n actions: {\r\n save(data: ExtendedItemType[]) {\r\n this.data = _addMenuIds(data);\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nfunction _addMenuIds(\r\n menuData: any,\r\n parentId: any = null,\r\n idPrefix = \"\"\r\n) {\r\n let counter = 0;\r\n\r\n return menuData.map((menuItem: any) => {\r\n const id = `${idPrefix}${counter++}`;\r\n const newItem = {\r\n ...menuItem,\r\n id,\r\n key: id,\r\n parentId\r\n };\r\n\r\n if (menuItem.children) {\r\n newItem.children = _addMenuIds(\r\n menuItem.children,\r\n id,\r\n `${id}-`\r\n );\r\n }\r\n\r\n return newItem;\r\n });\r\n}\r\n\r\nexport default useMenuStore;\r\n"],"names":["defineStore","MENU_ID"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,YAAA,GAAeA,kBAAYC,aAAA,EAAS;AAAA,EACxC,OAAO,MAAY;AACjB,IAAA,OAAO;AAAA,MACL,UAAU,EAAC;AAAA,MACX,cAAc,EAAC;AAAA,MACf,MAAM;AAAC,KACT;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAA0B;AAC7B,MAAA,IAAA,CAAK,IAAA,GAAO,YAAY,IAAI,CAAA;AAAA,IAC9B;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;AAED,SAAS,WAAA,CACP,QAAA,EACA,QAAA,GAAgB,IAAA,EAChB,WAAW,EAAA,EACX;AACA,EAAA,IAAI,OAAA,GAAU,CAAA;AAEd,EAAA,OAAO,QAAA,CAAS,GAAA,CAAI,CAAC,QAAA,KAAkB;AACrC,IAAA,MAAM,EAAA,GAAK,CAAA,EAAG,QAAQ,CAAA,EAAG,OAAA,EAAS,CAAA,CAAA;AAClC,IAAA,MAAM,OAAA,GAAU,iCACX,QAAA,CAAA,EADW;AAAA,MAEd,EAAA;AAAA,MACA,GAAA,EAAK,EAAA;AAAA,MACL;AAAA,KACF,CAAA;AAEA,IAAA,IAAI,SAAS,QAAA,EAAU;AACrB,MAAA,OAAA,CAAQ,QAAA,GAAW,WAAA;AAAA,QACjB,QAAA,CAAS,QAAA;AAAA,QACT,EAAA;AAAA,QACA,GAAG,EAAE,CAAA,CAAA;AAAA,OACP;AAAA,IACF;AAEA,IAAA,OAAO,OAAA;AAAA,EACT,CAAC,CAAA;AACH;;;;"}
|
|
@@ -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":";;;;;;;;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.cjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserStore.cjs","sources":["../../../src/modules/useUserStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { USER_ID } from \"../types\";\r\n\r\nexport interface UserState {\r\n token: string | undefined;\r\n userInfo: unknown;\r\n}\r\n\r\nconst useUserStore = defineStore(USER_ID, {\r\n state: (): UserState => ({\r\n token: undefined,\r\n userInfo: undefined\r\n }),\r\n getters: {\r\n getToken: state => state.token,\r\n getUserInfo: state => state.userInfo\r\n },\r\n actions: {\r\n /**\r\n * 保存token\r\n * @param token\r\n */\r\n saveToken(token: string) {\r\n this.token = token;\r\n },\r\n saveUserInfo(data: unknown) {\r\n this.userInfo = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useUserStore;\r\n"],"names":["defineStore","USER_ID"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"useUserStore.cjs","sources":["../../../src/modules/useUserStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { USER_ID } from \"../types\";\r\n\r\nexport interface UserState {\r\n token: string | undefined;\r\n userInfo: unknown;\r\n}\r\n\r\nconst useUserStore = defineStore(USER_ID, {\r\n state: (): UserState => ({\r\n token: undefined,\r\n userInfo: undefined\r\n }),\r\n getters: {\r\n getToken: state => state.token,\r\n getUserInfo: state => state.userInfo\r\n },\r\n actions: {\r\n /**\r\n * 保存token\r\n * @param token\r\n */\r\n saveToken(token: string) {\r\n this.token = token;\r\n },\r\n saveUserInfo(data: unknown) {\r\n this.userInfo = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useUserStore;\r\n"],"names":["defineStore","USER_ID"],"mappings":";;;;;;;;AASA,MAAM,YAAA,GAAeA,kBAAYC,aAAA,EAAS;AAAA,EACxC,OAAO,OAAkB;AAAA,IACvB,KAAA,EAAO,KAAA,CAAA;AAAA,IACP,QAAA,EAAU,KAAA;AAAA,GACZ,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,WAAS,KAAA,CAAM,KAAA;AAAA,IACzB,WAAA,EAAa,WAAS,KAAA,CAAM;AAAA,GAC9B;AAAA,EACA,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,UAAU,KAAA,EAAe;AACvB,MAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,IACf,CAAA;AAAA,IACA,aAAa,IAAA,EAAe;AAC1B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
package/dist/cjs/types.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.cjs","sources":["../../src/types.ts"],"sourcesContent":["const id_prefix = \"_STORE_\";\n//面包屑\nexport const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;\n//字典ID\nexport const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;\n//缓存组件ID\nexport const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;\n//菜单ID\nexport const MENU_ID = `${id_prefix}MENU_ID`;\n//多标签ID\nexport const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;\n//用户信息ID\nexport const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;\n//用户信息ID\nexport const USER_ID = `${id_prefix}USER_ID`;\n//存储APP配置信息\nexport const APP_ID = `${id_prefix}APP_ID`;\n"],"names":[],"mappings":";;;AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"types.cjs","sources":["../../src/types.ts"],"sourcesContent":["const id_prefix = \"_STORE_\";\n//面包屑\nexport const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;\n//字典ID\nexport const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;\n//缓存组件ID\nexport const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;\n//菜单ID\nexport const MENU_ID = `${id_prefix}MENU_ID`;\n//多标签ID\nexport const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;\n//用户信息ID\nexport const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;\n//用户信息ID\nexport const USER_ID = `${id_prefix}USER_ID`;\n//存储APP配置信息\nexport const APP_ID = `${id_prefix}APP_ID`;\n"],"names":[],"mappings":";;;AAAA,MAAM,SAAA,GAAY,SAAA;AAEX,MAAM,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAElC,MAAM,kBAAA,GAAqB,GAAG,SAAS,CAAA,kBAAA;AAEvC,MAAM,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAElC,MAAM,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAE5B,MAAM,UAAA,GAAa,GAAG,SAAS,CAAA,WAAA;AAE/B,MAAM,WAAA,GAAc,GAAG,SAAS,CAAA,WAAA;AAEhC,MAAM,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAE5B,MAAM,MAAA,GAAS,GAAG,SAAS,CAAA,MAAA;;;;;;;;;;;"}
|
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":";;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppStore.mjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: Record<string, string>;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n bgColor: \"#1677ff\",\r\n txtColor: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"useAppStore.mjs","sources":["../../../src/modules/useAppStore.ts"],"sourcesContent":["import { theme } from \"ant-design-vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { APP_ID } from \"../types\";\r\nimport type { ThemeConfig } from \"ant-design-vue/es/config-provider/context\";\r\n\r\nexport interface App {\r\n theme: ThemeConfig;\r\n // 模式:亮色和深色\r\n modeConfig: Mode;\r\n layout: {\r\n // 侧边栏宽度\r\n sideWidth: number;\r\n // 头高度\r\n headerHeight: number;\r\n // 左侧菜单收缩时候的宽度\r\n collapsedWidth: number;\r\n // 左侧菜单收缩状态\r\n collapsed: boolean;\r\n };\r\n // 紧凑模式\r\n isCompact: boolean;\r\n // 头部导航背样式配置\r\n headerTokenStyle: Record<string, string>;\r\n sideTokenStyle: Record<string, string>;\r\n // 刷新状态,当从添加页跳转到列表页时使用\r\n refresh: boolean;\r\n}\r\n\r\nexport interface Mode {\r\n mode: string;\r\n list: {\r\n value: string;\r\n label: string;\r\n }[];\r\n}\r\n\r\nconst useAppStore = defineStore(APP_ID, {\r\n state: (): App => {\r\n return {\r\n theme: {\r\n // 算法\r\n algorithm: theme.defaultAlgorithm,\r\n token: {}\r\n },\r\n modeConfig: {\r\n mode: \"light\",\r\n list: [\r\n { value: \"light\", label: \"亮色\" },\r\n { value: \"dark\", label: \"深色\" },\r\n { value: \"os\", label: \"跟随系统\" }\r\n ]\r\n },\r\n isCompact: true,\r\n layout: {\r\n sideWidth: 200,\r\n headerHeight: 44,\r\n collapsedWidth: 80,\r\n collapsed: false\r\n },\r\n headerTokenStyle: {\r\n bgColor: \"#1677ff\",\r\n txtColor: \"#fff\"\r\n },\r\n sideTokenStyle: {\r\n bgColor: \" #0F6BD9\"\r\n },\r\n refresh: false\r\n };\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useAppStore;\r\n"],"names":[],"mappings":";;;;;AAqCA,MAAM,WAAA,GAAc,YAAY,MAAA,EAAQ;AAAA,EACtC,OAAO,MAAW;AAChB,IAAA,OAAO;AAAA,MACL,KAAA,EAAO;AAAA;AAAA,QAEL,WAAW,KAAA,CAAM,gBAAA;AAAA,QACjB,OAAO;AAAC,OACV;AAAA,MACA,UAAA,EAAY;AAAA,QACV,IAAA,EAAM,OAAA;AAAA,QACN,IAAA,EAAM;AAAA,UACJ,EAAE,KAAA,EAAO,OAAA,EAAS,KAAA,EAAO,cAAA,EAAK;AAAA,UAC9B,EAAE,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,cAAA,EAAK;AAAA,UAC7B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,0BAAA;AAAO;AAC/B,OACF;AAAA,MACA,SAAA,EAAW,IAAA;AAAA,MACX,MAAA,EAAQ;AAAA,QACN,SAAA,EAAW,GAAA;AAAA,QACX,YAAA,EAAc,EAAA;AAAA,QACd,cAAA,EAAgB,EAAA;AAAA,QAChB,SAAA,EAAW;AAAA,OACb;AAAA,MACA,gBAAA,EAAkB;AAAA,QAChB,OAAA,EAAS,SAAA;AAAA,QACT,QAAA,EAAU;AAAA,OACZ;AAAA,MACA,cAAA,EAAgB;AAAA,QACd,OAAA,EAAS;AAAA,OACX;AAAA,MACA,OAAA,EAAS;AAAA,KACX;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBreadStore.mjs","sources":["../../../src/modules/useBreadStore.ts"],"sourcesContent":["/**\r\n * 面包屑\r\n * @author 余春林\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { BREADCRUMB_ID } from \"../types\";\r\n\r\nexport interface BreadcrumbState {\r\n breadcrumbs: [];\r\n}\r\n\r\nexport const useBreadStore = defineStore(BREADCRUMB_ID, {\r\n state: (): BreadcrumbState => ({\r\n breadcrumbs: []\r\n }),\r\n getters: {\r\n getBreadcrumb: state => state.breadcrumbs\r\n },\r\n actions: {\r\n saveBreadcrumb(data: never) {\r\n this.breadcrumbs = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useBreadStore.mjs","sources":["../../../src/modules/useBreadStore.ts"],"sourcesContent":["/**\r\n * 面包屑\r\n * @author 余春林\r\n */\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { BREADCRUMB_ID } from \"../types\";\r\n\r\nexport interface BreadcrumbState {\r\n breadcrumbs: [];\r\n}\r\n\r\nexport const useBreadStore = defineStore(BREADCRUMB_ID, {\r\n state: (): BreadcrumbState => ({\r\n breadcrumbs: []\r\n }),\r\n getters: {\r\n getBreadcrumb: state => state.breadcrumbs\r\n },\r\n actions: {\r\n saveBreadcrumb(data: never) {\r\n this.breadcrumbs = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n"],"names":[],"mappings":";;;;AAYO,MAAM,aAAA,GAAgB,YAAY,aAAA,EAAe;AAAA,EACtD,OAAO,OAAwB;AAAA,IAC7B,aAAa;AAAC,GAChB,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,aAAA,EAAe,WAAS,KAAA,CAAM;AAAA,GAChC;AAAA,EACA,OAAA,EAAS;AAAA,IACP,eAAe,IAAA,EAAa;AAC1B,MAAA,IAAA,CAAK,WAAA,GAAc,IAAA;AAAA,IACrB;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeepAliveStore.mjs","sources":["../../../src/modules/useKeepAliveStore.ts"],"sourcesContent":["/**\r\n * 缓存组件name数据\r\n */\r\nimport { type RouteLocationNormalized } from \"vue-router\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { KEEP_ALIVE_ID } from \"../types\";\r\n\r\nconst useKeepAliveStore = defineStore(KEEP_ALIVE_ID, {\r\n state: () => {\r\n return {\r\n list: [] as string[]\r\n };\r\n },\r\n getters: {\r\n get: (state): string[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 删除已经缓存的组件\r\n * @param name 组件名称(必须唯一)\r\n */\r\n deleteKeepAlive(name: string) {\r\n this.list.splice(\r\n this.list.findIndex((key: string) => key === name),\r\n 1\r\n );\r\n },\r\n /**\r\n * 保存要缓存的组件名称\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n const name = <string>route.name;\r\n if (!name) {\r\n return;\r\n }\r\n const flag = this.list.some((key: string) => key === name);\r\n if (!flag) {\r\n this.list.push(name);\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useKeepAliveStore;\r\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useKeepAliveStore.mjs","sources":["../../../src/modules/useKeepAliveStore.ts"],"sourcesContent":["/**\r\n * 缓存组件name数据\r\n */\r\nimport { type RouteLocationNormalized } from \"vue-router\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { KEEP_ALIVE_ID } from \"../types\";\r\n\r\nconst useKeepAliveStore = defineStore(KEEP_ALIVE_ID, {\r\n state: () => {\r\n return {\r\n list: [] as string[]\r\n };\r\n },\r\n getters: {\r\n get: (state): string[] => {\r\n return state.list;\r\n }\r\n },\r\n actions: {\r\n /**\r\n * 删除已经缓存的组件\r\n * @param name 组件名称(必须唯一)\r\n */\r\n deleteKeepAlive(name: string) {\r\n this.list.splice(\r\n this.list.findIndex((key: string) => key === name),\r\n 1\r\n );\r\n },\r\n /**\r\n * 保存要缓存的组件名称\r\n * @param route\r\n */\r\n save(route: RouteLocationNormalized) {\r\n const name = <string>route.name;\r\n if (!name) {\r\n return;\r\n }\r\n const flag = this.list.some((key: string) => key === name);\r\n if (!flag) {\r\n this.list.push(name);\r\n }\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useKeepAliveStore;\r\n"],"names":[],"mappings":";;;;AAQA,MAAM,iBAAA,GAAoB,YAAY,aAAA,EAAe;AAAA,EACnD,OAAO,MAAM;AACX,IAAA,OAAO;AAAA,MACL,MAAM;AAAC,KACT;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,GAAA,EAAK,CAAC,KAAA,KAAoB;AACxB,MAAA,OAAO,KAAA,CAAM,IAAA;AAAA,IACf;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,gBAAgB,IAAA,EAAc;AAC5B,MAAA,IAAA,CAAK,IAAA,CAAK,MAAA;AAAA,QACR,KAAK,IAAA,CAAK,SAAA,CAAU,CAAC,GAAA,KAAgB,QAAQ,IAAI,CAAA;AAAA,QACjD;AAAA,OACF;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAK,KAAA,EAAgC;AACnC,MAAA,MAAM,OAAe,KAAA,CAAM,IAAA;AAC3B,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA;AAAA,MACF;AACA,MAAA,MAAM,OAAO,IAAA,CAAK,IAAA,CAAK,KAAK,CAAC,GAAA,KAAgB,QAAQ,IAAI,CAAA;AACzD,MAAA,IAAI,CAAC,IAAA,EAAM;AACT,QAAA,IAAA,CAAK,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,MACrB;AAAA,IACF;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuStore.mjs","sources":["../../../src/modules/useMenuStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { MENU_ID } from \"../types\";\r\nimport type { ItemType } from \"ant-design-vue\";\r\n\r\nexport type ExtendedItemType = ItemType & {\r\n id?: string;\r\n parentId?: string;\r\n};\r\n\r\nexport interface Menu {\r\n openKeys: string[];\r\n selectedKeys: string[];\r\n data: ExtendedItemType[];\r\n}\r\n\r\nconst useMenuStore = defineStore(MENU_ID, {\r\n state: (): Menu => {\r\n return {\r\n openKeys: [],\r\n selectedKeys: [],\r\n data: []\r\n };\r\n },\r\n actions: {\r\n save(data: ExtendedItemType[]) {\r\n this.data = _addMenuIds(data);\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nfunction _addMenuIds(\r\n menuData: any,\r\n parentId: any = null,\r\n idPrefix = \"\"\r\n) {\r\n let counter = 0;\r\n\r\n return menuData.map((menuItem: any) => {\r\n const id = `${idPrefix}${counter++}`;\r\n const newItem = {\r\n ...menuItem,\r\n id,\r\n key: id,\r\n parentId\r\n };\r\n\r\n if (menuItem.children) {\r\n newItem.children = _addMenuIds(\r\n menuItem.children,\r\n id,\r\n `${id}-`\r\n );\r\n }\r\n\r\n return newItem;\r\n });\r\n}\r\n\r\nexport default useMenuStore;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useMenuStore.mjs","sources":["../../../src/modules/useMenuStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { MENU_ID } from \"../types\";\r\nimport type { ItemType } from \"ant-design-vue\";\r\n\r\nexport type ExtendedItemType = ItemType & {\r\n id?: string;\r\n parentId?: string;\r\n};\r\n\r\nexport interface Menu {\r\n openKeys: string[];\r\n selectedKeys: string[];\r\n data: ExtendedItemType[];\r\n}\r\n\r\nconst useMenuStore = defineStore(MENU_ID, {\r\n state: (): Menu => {\r\n return {\r\n openKeys: [],\r\n selectedKeys: [],\r\n data: []\r\n };\r\n },\r\n actions: {\r\n save(data: ExtendedItemType[]) {\r\n this.data = _addMenuIds(data);\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nfunction _addMenuIds(\r\n menuData: any,\r\n parentId: any = null,\r\n idPrefix = \"\"\r\n) {\r\n let counter = 0;\r\n\r\n return menuData.map((menuItem: any) => {\r\n const id = `${idPrefix}${counter++}`;\r\n const newItem = {\r\n ...menuItem,\r\n id,\r\n key: id,\r\n parentId\r\n };\r\n\r\n if (menuItem.children) {\r\n newItem.children = _addMenuIds(\r\n menuItem.children,\r\n id,\r\n `${id}-`\r\n );\r\n }\r\n\r\n return newItem;\r\n });\r\n}\r\n\r\nexport default useMenuStore;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,YAAA,GAAe,YAAY,OAAA,EAAS;AAAA,EACxC,OAAO,MAAY;AACjB,IAAA,OAAO;AAAA,MACL,UAAU,EAAC;AAAA,MACX,cAAc,EAAC;AAAA,MACf,MAAM;AAAC,KACT;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,KAAK,IAAA,EAA0B;AAC7B,MAAA,IAAA,CAAK,IAAA,GAAO,YAAY,IAAI,CAAA;AAAA,IAC9B;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;AAED,SAAS,WAAA,CACP,QAAA,EACA,QAAA,GAAgB,IAAA,EAChB,WAAW,EAAA,EACX;AACA,EAAA,IAAI,OAAA,GAAU,CAAA;AAEd,EAAA,OAAO,QAAA,CAAS,GAAA,CAAI,CAAC,QAAA,KAAkB;AACrC,IAAA,MAAM,EAAA,GAAK,CAAA,EAAG,QAAQ,CAAA,EAAG,OAAA,EAAS,CAAA,CAAA;AAClC,IAAA,MAAM,OAAA,GAAU,iCACX,QAAA,CAAA,EADW;AAAA,MAEd,EAAA;AAAA,MACA,GAAA,EAAK,EAAA;AAAA,MACL;AAAA,KACF,CAAA;AAEA,IAAA,IAAI,SAAS,QAAA,EAAU;AACrB,MAAA,OAAA,CAAQ,QAAA,GAAW,WAAA;AAAA,QACjB,QAAA,CAAS,QAAA;AAAA,QACT,EAAA;AAAA,QACA,GAAG,EAAE,CAAA,CAAA;AAAA,OACP;AAAA,IACF;AAEA,IAAA,OAAO,OAAA;AAAA,EACT,CAAC,CAAA;AACH;;;;"}
|
|
@@ -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":";;;;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.mjs","sources":["../../../src/modules/useNoStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUserStore.mjs","sources":["../../../src/modules/useUserStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { USER_ID } from \"../types\";\r\n\r\nexport interface UserState {\r\n token: string | undefined;\r\n userInfo: unknown;\r\n}\r\n\r\nconst useUserStore = defineStore(USER_ID, {\r\n state: (): UserState => ({\r\n token: undefined,\r\n userInfo: undefined\r\n }),\r\n getters: {\r\n getToken: state => state.token,\r\n getUserInfo: state => state.userInfo\r\n },\r\n actions: {\r\n /**\r\n * 保存token\r\n * @param token\r\n */\r\n saveToken(token: string) {\r\n this.token = token;\r\n },\r\n saveUserInfo(data: unknown) {\r\n this.userInfo = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useUserStore;\r\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useUserStore.mjs","sources":["../../../src/modules/useUserStore.ts"],"sourcesContent":["import { defineStore } from \"pinia\";\r\n\r\nimport { USER_ID } from \"../types\";\r\n\r\nexport interface UserState {\r\n token: string | undefined;\r\n userInfo: unknown;\r\n}\r\n\r\nconst useUserStore = defineStore(USER_ID, {\r\n state: (): UserState => ({\r\n token: undefined,\r\n userInfo: undefined\r\n }),\r\n getters: {\r\n getToken: state => state.token,\r\n getUserInfo: state => state.userInfo\r\n },\r\n actions: {\r\n /**\r\n * 保存token\r\n * @param token\r\n */\r\n saveToken(token: string) {\r\n this.token = token;\r\n },\r\n saveUserInfo(data: unknown) {\r\n this.userInfo = data;\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useUserStore;\r\n"],"names":[],"mappings":";;;;AASA,MAAM,YAAA,GAAe,YAAY,OAAA,EAAS;AAAA,EACxC,OAAO,OAAkB;AAAA,IACvB,KAAA,EAAO,KAAA,CAAA;AAAA,IACP,QAAA,EAAU,KAAA;AAAA,GACZ,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,WAAS,KAAA,CAAM,KAAA;AAAA,IACzB,WAAA,EAAa,WAAS,KAAA,CAAM;AAAA,GAC9B;AAAA,EACA,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,UAAU,KAAA,EAAe;AACvB,MAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,IACf,CAAA;AAAA,IACA,aAAa,IAAA,EAAe;AAC1B,MAAA,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAClB;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
|
package/dist/esm/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sources":["../../src/types.ts"],"sourcesContent":["const id_prefix = \"_STORE_\";\n//面包屑\nexport const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;\n//字典ID\nexport const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;\n//缓存组件ID\nexport const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;\n//菜单ID\nexport const MENU_ID = `${id_prefix}MENU_ID`;\n//多标签ID\nexport const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;\n//用户信息ID\nexport const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;\n//用户信息ID\nexport const USER_ID = `${id_prefix}USER_ID`;\n//存储APP配置信息\nexport const APP_ID = `${id_prefix}APP_ID`;\n"],"names":[],"mappings":";AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"types.mjs","sources":["../../src/types.ts"],"sourcesContent":["const id_prefix = \"_STORE_\";\n//面包屑\nexport const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;\n//字典ID\nexport const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;\n//缓存组件ID\nexport const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;\n//菜单ID\nexport const MENU_ID = `${id_prefix}MENU_ID`;\n//多标签ID\nexport const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;\n//用户信息ID\nexport const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;\n//用户信息ID\nexport const USER_ID = `${id_prefix}USER_ID`;\n//存储APP配置信息\nexport const APP_ID = `${id_prefix}APP_ID`;\n"],"names":[],"mappings":";AAAA,MAAM,SAAA,GAAY,SAAA;AAEX,MAAM,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAElC,MAAM,kBAAA,GAAqB,GAAG,SAAS,CAAA,kBAAA;AAEvC,MAAM,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAElC,MAAM,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAE5B,MAAM,UAAA,GAAa,GAAG,SAAS,CAAA,WAAA;AAE/B,MAAM,WAAA,GAAc,GAAG,SAAS,CAAA,WAAA;AAEhC,MAAM,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAE5B,MAAM,MAAA,GAAS,GAAG,SAAS,CAAA,MAAA;;;;"}
|
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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
menuList: ItemType[];
|
|
1
|
+
export interface NoStore {
|
|
2
|
+
menuList: any[];
|
|
4
3
|
}
|
|
5
4
|
/**
|
|
6
5
|
* 这个store不会进入缓存
|
|
7
6
|
*/
|
|
8
7
|
declare const useNoStore: import("pinia").StoreDefinition<"NoStore", NoStore, {}, {
|
|
9
|
-
save(data:
|
|
8
|
+
save(data: any[]): void;
|
|
10
9
|
}>;
|
|
11
10
|
export default useNoStore;
|
|
12
11
|
//# sourceMappingURL=useNoStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNoStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useNoStore.ts"],"names":[],"mappings":"AAEA,
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ditari/store",
|
|
3
|
-
"version": "5.0
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,12 +25,5 @@
|
|
|
25
25
|
"require": "./dist/cjs/*/index.cjs",
|
|
26
26
|
"types": "./dist/types/index.d.ts"
|
|
27
27
|
}
|
|
28
|
-
},
|
|
29
|
-
"peerDependencies": {
|
|
30
|
-
"@vueuse/core": "^9.13.0",
|
|
31
|
-
"vue": "^3.3.4",
|
|
32
|
-
"vue-request": "2.0.0-rc.4",
|
|
33
|
-
"pinia": "^2.1.4",
|
|
34
|
-
"pinia-plugin-persistedstate": "^3.1.0"
|
|
35
28
|
}
|
|
36
29
|
}
|