@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.
@@ -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
@@ -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
- * 根据 key 获取字典列表
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: 1314521
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; // 使用 DictionaryList 替换 any\r\n cacheDuration: number; //如果 cacheDuration等于0,不用发送请求更新数据\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 getters: {\r\n /**\r\n * 根据 key 获取字典列表\r\n * @param state\r\n */\r\n getDicByKey: state => {\r\n return (key: string): DictionaryItem[] => {\r\n return state.dataDic[key]?.value || [];\r\n };\r\n },\r\n \r\n /**\r\n * 返回value匹配到的整个对象\r\n * @param state\r\n */\r\n getDicObjByValue: state => {\r\n return (\r\n key: string,\r\n value: never\r\n ): DictionaryItem => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return (\r\n rs.find(item => item.value === value) ||\r\n ({} as DictionaryItem)\r\n );\r\n };\r\n },\r\n\r\n /**\r\n * 根据字典名称和字典的 value 获取对应的中文\r\n * @param state\r\n */\r\n getDicTextByValue: state => {\r\n return (key: string, value: string): string => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return rs\r\n .filter(\r\n (item: DictionaryItem) => item.value === value\r\n )\r\n .map((item: DictionaryItem) => item.label)\r\n .join(\"\");\r\n };\r\n },\r\n\r\n /**\r\n * 根据文字匹配对应的 value\r\n * @param state\r\n */\r\n getDicValueByText: state => {\r\n return (key: string, text: string): string => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return rs\r\n .filter(\r\n (item: DictionaryItem) => item.label === text\r\n )\r\n .map((item: DictionaryItem) => item.value)\r\n .join(\"\");\r\n };\r\n }\r\n },\r\n actions: {\r\n // 检查缓存是否过期\r\n isCacheExpired(name: string): boolean {\r\n // 缓存时间为0,说明不用检查时间来进行触发请求\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 * 动态读取下拉字典的时候使用\r\n * 根据key保存字典数据\r\n * @param key key\r\n * @param data 字典数据\r\n */\r\n saveDicByKey(key: string, data: never) {\r\n this.dataDic[key] = {\r\n value: data,\r\n timestamp: Date.now()\r\n };\r\n },\r\n /**\r\n * 一次性存入数据字典的时候使用\r\n * 数据格式: {key1:[{value:'',label:''}],key2:[{value:'',label:''}]}\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: 1314521\r\n };\r\n });\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useDicStore;\r\n"],"names":["defineStore","DATA_DICTIONARY_ID"],"mappings":"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"}
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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"}
@@ -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";
@@ -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
- * 根据 key 获取字典列表
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: 1314521
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; // 使用 DictionaryList 替换 any\r\n cacheDuration: number; //如果 cacheDuration等于0,不用发送请求更新数据\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 getters: {\r\n /**\r\n * 根据 key 获取字典列表\r\n * @param state\r\n */\r\n getDicByKey: state => {\r\n return (key: string): DictionaryItem[] => {\r\n return state.dataDic[key]?.value || [];\r\n };\r\n },\r\n \r\n /**\r\n * 返回value匹配到的整个对象\r\n * @param state\r\n */\r\n getDicObjByValue: state => {\r\n return (\r\n key: string,\r\n value: never\r\n ): DictionaryItem => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return (\r\n rs.find(item => item.value === value) ||\r\n ({} as DictionaryItem)\r\n );\r\n };\r\n },\r\n\r\n /**\r\n * 根据字典名称和字典的 value 获取对应的中文\r\n * @param state\r\n */\r\n getDicTextByValue: state => {\r\n return (key: string, value: string): string => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return rs\r\n .filter(\r\n (item: DictionaryItem) => item.value === value\r\n )\r\n .map((item: DictionaryItem) => item.label)\r\n .join(\"\");\r\n };\r\n },\r\n\r\n /**\r\n * 根据文字匹配对应的 value\r\n * @param state\r\n */\r\n getDicValueByText: state => {\r\n return (key: string, text: string): string => {\r\n const rs = state.dataDic[key]?.value || [];\r\n return rs\r\n .filter(\r\n (item: DictionaryItem) => item.label === text\r\n )\r\n .map((item: DictionaryItem) => item.value)\r\n .join(\"\");\r\n };\r\n }\r\n },\r\n actions: {\r\n // 检查缓存是否过期\r\n isCacheExpired(name: string): boolean {\r\n // 缓存时间为0,说明不用检查时间来进行触发请求\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 * 动态读取下拉字典的时候使用\r\n * 根据key保存字典数据\r\n * @param key key\r\n * @param data 字典数据\r\n */\r\n saveDicByKey(key: string, data: never) {\r\n this.dataDic[key] = {\r\n value: data,\r\n timestamp: Date.now()\r\n };\r\n },\r\n /**\r\n * 一次性存入数据字典的时候使用\r\n * 数据格式: {key1:[{value:'',label:''}],key2:[{value:'',label:''}]}\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: 1314521\r\n };\r\n });\r\n }\r\n },\r\n persist: true\r\n});\r\n\r\nexport default useDicStore;\r\n"],"names":[],"mappings":";;;;AA+BA,MAAM,WAAA,GAAc,YAAY,kBAAA,EAAoB;AAAA,EAClD,OAAO,OAA4B;AAAA,IACjC,SAAS,EAAC;AAAA;AAAA,IACV,aAAA,EAAe,IAAI,EAAA,GAAK;AAAA;AAAA,GAC1B,CAAA;AAAA,EACA,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,aAAa,CAAA,KAAA,KAAS;AACpB,MAAA,OAAO,CAAC,GAAA,KAAkC;AA1ChD,QAAA,IAAA,EAAA;AA2CQ,QAAA,OAAA,CAAA,CAAO,WAAM,OAAA,CAAQ,GAAG,CAAA,KAAjB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,UAAS,EAAC;AAAA,MACvC,CAAA;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,kBAAkB,CAAA,KAAA,KAAS;AACzB,MAAA,OAAO,CACL,KACA,KAAA,KACmB;AAvD3B,QAAA,IAAA,EAAA;AAwDQ,QAAA,MAAM,OAAK,EAAA,GAAA,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,KAAjB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,UAAS,EAAC;AACzC,QAAA,OACE,GAAG,IAAA,CAAK,CAAA,IAAA,KAAQ,KAAK,KAAA,KAAU,KAAK,KACnC,EAAC;AAAA,MAEN,CAAA;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,mBAAmB,CAAA,KAAA,KAAS;AAC1B,MAAA,OAAO,CAAC,KAAa,KAAA,KAA0B;AArErD,QAAA,IAAA,EAAA;AAsEQ,QAAA,MAAM,OAAK,EAAA,GAAA,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,KAAjB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,UAAS,EAAC;AACzC,QAAA,OAAO,EAAA,CACJ,MAAA;AAAA,UACC,CAAC,IAAA,KAAyB,IAAA,CAAK,KAAA,KAAU;AAAA,SAC3C,CACC,IAAI,CAAC,IAAA,KAAyB,KAAK,KAAK,CAAA,CACxC,KAAK,EAAE,CAAA;AAAA,MACZ,CAAA;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,mBAAmB,CAAA,KAAA,KAAS;AAC1B,MAAA,OAAO,CAAC,KAAa,IAAA,KAAyB;AArFpD,QAAA,IAAA,EAAA;AAsFQ,QAAA,MAAM,OAAK,EAAA,GAAA,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,KAAjB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAoB,UAAS,EAAC;AACzC,QAAA,OAAO,EAAA,CACJ,MAAA;AAAA,UACC,CAAC,IAAA,KAAyB,IAAA,CAAK,KAAA,KAAU;AAAA,SAC3C,CACC,IAAI,CAAC,IAAA,KAAyB,KAAK,KAAK,CAAA,CACxC,KAAK,EAAE,CAAA;AAAA,MACZ,CAAA;AAAA,IACF;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AAAA;AAAA,IAEP,eAAe,IAAA,EAAuB;AAEpC,MAAA,IAAI,IAAA,CAAK,aAAA,KAAkB,CAAA,EAAG,OAAO,KAAA;AACrC,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAA;AAC/B,MAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AACnB,MAAA,MAAM,GAAA,GAAM,KAAK,GAAA,EAAI;AACrB,MAAA,OAAO,GAAA,GAAM,KAAA,CAAM,SAAA,GAAY,IAAA,CAAK,aAAA;AAAA,IACtC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA,CAAa,KAAa,IAAA,EAAa;AACrC,MAAA,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA,GAAI;AAAA,QAClB,KAAA,EAAO,IAAA;AAAA,QACP,SAAA,EAAW,KAAK,GAAA;AAAI,OACtB;AAAA,IACF,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAQ,IAAA,EAAsB;AAC5B,MAAA,MAAA,CAAO,OAAA,CAAQ,IAAI,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AAC7C,QAAA,IAAA,CAAK,OAAA,CAAQ,GAAG,CAAA,GAAI;AAAA,UAClB,KAAA;AAAA,UACA,SAAA,EAAW;AAAA,SACb;AAAA,MACF,CAAC,CAAA;AAAA,IACH;AAAA,GACF;AAAA,EACA,OAAA,EAAS;AACX,CAAC;;;;"}
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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"}
@@ -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,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
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
- * 根据 key 获取字典列表
24
- * @param state
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
- * 根据字典名称和字典的 value 获取对应的中文
40
- * @param state
26
+ * 1. 根据 key 获取字典列表 (原 getDicByKey)
27
+ * @param key 字典的 key
41
28
  */
42
- getDicTextByValue: (state: {
43
- dataDic: Dictionary;
44
- cacheDuration: number;
45
- } & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, value: string) => string;
29
+ getDicByKey(key: string): DictionaryItem[];
46
30
  /**
47
- * 根据文字匹配对应的 value
48
- * @param state
31
+ * 2. 返回 value 匹配到的整个对象 (原 getDicObjByValue)
32
+ * @param key 字典的 key
33
+ * @param value 字典项的值
49
34
  */
50
- getDicValueByText: (state: {
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
- saveDicByKey(key: string, data: never): void;
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
- saveAll(data: DictionaryList): void;
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;IAMb;;;OAGG;;iBAbI,UAAU;uBACJ,MAAM;kFAcJ,MAAM,KAAG,cAAc,EAAE;IAKxC;;;OAGG;;iBAvBI,UAAU;uBACJ,MAAM;kFAyBV,MAAM,SACJ,KAAK,KACX,cAAc;IASnB;;;OAGG;;iBAxCI,UAAU;uBACJ,MAAM;kFAyCJ,MAAM,SAAS,MAAM,KAAG,MAAM;IAW7C;;;OAGG;;iBAxDI,UAAU;uBACJ,MAAM;kFAyDJ,MAAM,QAAQ,MAAM,KAAG,MAAM;;yBAavB,MAAM,GAAG,OAAO;IAQrC;;;;;OAKG;sBACe,MAAM,QAAQ,KAAK;IAMrC;;;;OAIG;kBACW,cAAc;EAU9B,CAAC;AAEH,eAAe,WAAW,CAAC"}
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;EAUzC,CAAC;AAEH,eAAe,cAAc,CAAC"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/store",
3
- "version": "5.0.13",
3
+ "version": "5.1.1",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -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"}