@ditari/store 1.0.8 → 5.0.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +2 -44
  2. package/dist/cjs/index.cjs +15 -15
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/cjs/modules/useAppStore.cjs +31 -0
  5. package/dist/cjs/modules/useAppStore.cjs.map +1 -0
  6. package/dist/cjs/modules/{Breadcrumb.cjs → useBreadStore.cjs} +4 -3
  7. package/dist/cjs/modules/useBreadStore.cjs.map +1 -0
  8. package/dist/cjs/modules/{DataDictionary.cjs → useDicStore.cjs} +13 -5
  9. package/dist/cjs/modules/useDicStore.cjs.map +1 -0
  10. package/dist/cjs/modules/{KeepAlive.cjs → useKeepAliveStore.cjs} +5 -2
  11. package/dist/cjs/modules/useKeepAliveStore.cjs.map +1 -0
  12. package/dist/cjs/modules/useMenuStore.cjs +26 -0
  13. package/dist/cjs/modules/useMenuStore.cjs.map +1 -0
  14. package/dist/cjs/modules/{NavTab.cjs → useNavTabStore.cjs} +10 -16
  15. package/dist/cjs/modules/useNavTabStore.cjs.map +1 -0
  16. package/dist/cjs/modules/{User.cjs → useUserStore.cjs} +5 -2
  17. package/dist/cjs/modules/useUserStore.cjs.map +1 -0
  18. package/dist/cjs/pinia.d.cjs +6 -0
  19. package/dist/cjs/pinia.d.cjs.map +1 -0
  20. package/dist/cjs/types.cjs +4 -1
  21. package/dist/cjs/types.cjs.map +1 -1
  22. package/dist/esm/index.mjs +9 -7
  23. package/dist/esm/index.mjs.map +1 -1
  24. package/dist/esm/modules/useAppStore.mjs +27 -0
  25. package/dist/esm/modules/useAppStore.mjs.map +1 -0
  26. package/dist/esm/modules/{Breadcrumb.mjs → useBreadStore.mjs} +4 -3
  27. package/dist/esm/modules/useBreadStore.mjs.map +1 -0
  28. package/dist/esm/modules/{DataDictionary.mjs → useDicStore.mjs} +11 -5
  29. package/dist/esm/modules/useDicStore.mjs.map +1 -0
  30. package/dist/esm/modules/{KeepAlive.mjs → useKeepAliveStore.mjs} +3 -2
  31. package/dist/esm/modules/useKeepAliveStore.mjs.map +1 -0
  32. package/dist/esm/modules/useMenuStore.mjs +22 -0
  33. package/dist/esm/modules/useMenuStore.mjs.map +1 -0
  34. package/dist/esm/modules/{NavTab.mjs → useNavTabStore.mjs} +6 -15
  35. package/dist/esm/modules/useNavTabStore.mjs.map +1 -0
  36. package/dist/esm/modules/{User.mjs → useUserStore.mjs} +3 -2
  37. package/dist/esm/modules/useUserStore.mjs.map +1 -0
  38. package/dist/esm/pinia.d.mjs +4 -0
  39. package/dist/esm/pinia.d.mjs.map +1 -0
  40. package/dist/esm/types.mjs +4 -2
  41. package/dist/esm/types.mjs.map +1 -1
  42. package/dist/types/index.d.ts +8 -0
  43. package/dist/types/index.d.ts.map +1 -0
  44. package/dist/types/modules/useAppStore.d.ts +14 -0
  45. package/dist/types/modules/useAppStore.d.ts.map +1 -0
  46. package/dist/{esm/modules/Breadcrumb.d.ts → types/modules/useBreadStore.d.ts} +3 -2
  47. package/dist/types/modules/useBreadStore.d.ts.map +1 -0
  48. package/dist/types/modules/useDicStore.d.ts +41 -0
  49. package/dist/types/modules/useDicStore.d.ts.map +1 -0
  50. package/dist/{esm/modules/KeepAlive.d.ts → types/modules/useKeepAliveStore.d.ts} +7 -2
  51. package/dist/types/modules/useKeepAliveStore.d.ts.map +1 -0
  52. package/dist/types/modules/useMenuStore.d.ts +11 -0
  53. package/dist/types/modules/useMenuStore.d.ts.map +1 -0
  54. package/dist/types/modules/useNavTabStore.d.ts +47 -0
  55. package/dist/types/modules/useNavTabStore.d.ts.map +1 -0
  56. package/dist/{cjs/modules/User.d.ts → types/modules/useUserStore.d.ts} +8 -6
  57. package/dist/types/modules/useUserStore.d.ts.map +1 -0
  58. package/dist/types/types.d.ts +9 -0
  59. package/dist/types/types.d.ts.map +1 -0
  60. package/package.json +5 -5
  61. package/src/index.ts +7 -12
  62. package/src/modules/useAppStore.ts +43 -0
  63. package/src/modules/{Breadcrumb.ts → useBreadStore.ts} +26 -25
  64. package/src/modules/useDicStore.ts +76 -0
  65. package/src/modules/{KeepAlive.ts → useKeepAliveStore.ts} +49 -47
  66. package/src/modules/useMenuStore.ts +28 -0
  67. package/src/modules/{NavTab.ts → useNavTabStore.ts} +108 -115
  68. package/src/modules/{User.ts → useUserStore.ts} +34 -30
  69. package/src/pinia.d.ts +9 -0
  70. package/src/types.ts +3 -1
  71. package/tsconfig.json +13 -0
  72. package/dist/cjs/index.d.ts +0 -12
  73. package/dist/cjs/modules/Breadcrumb.cjs.map +0 -1
  74. package/dist/cjs/modules/Breadcrumb.d.ts +0 -10
  75. package/dist/cjs/modules/DataDictionary.cjs.map +0 -1
  76. package/dist/cjs/modules/DataDictionary.d.ts +0 -28
  77. package/dist/cjs/modules/KeepAlive.cjs.map +0 -1
  78. package/dist/cjs/modules/KeepAlive.d.ts +0 -21
  79. package/dist/cjs/modules/Menu.cjs +0 -31
  80. package/dist/cjs/modules/Menu.cjs.map +0 -1
  81. package/dist/cjs/modules/Menu.d.ts +0 -17
  82. package/dist/cjs/modules/NavTab.cjs.map +0 -1
  83. package/dist/cjs/modules/NavTab.d.ts +0 -64
  84. package/dist/cjs/modules/Settings.cjs +0 -116
  85. package/dist/cjs/modules/Settings.cjs.map +0 -1
  86. package/dist/cjs/modules/Settings.d.ts +0 -43
  87. package/dist/cjs/modules/User.cjs.map +0 -1
  88. package/dist/cjs/types.d.ts +0 -7
  89. package/dist/esm/index.d.ts +0 -12
  90. package/dist/esm/modules/Breadcrumb.mjs.map +0 -1
  91. package/dist/esm/modules/DataDictionary.d.ts +0 -28
  92. package/dist/esm/modules/DataDictionary.mjs.map +0 -1
  93. package/dist/esm/modules/KeepAlive.mjs.map +0 -1
  94. package/dist/esm/modules/Menu.d.ts +0 -17
  95. package/dist/esm/modules/Menu.mjs +0 -29
  96. package/dist/esm/modules/Menu.mjs.map +0 -1
  97. package/dist/esm/modules/NavTab.d.ts +0 -64
  98. package/dist/esm/modules/NavTab.mjs.map +0 -1
  99. package/dist/esm/modules/Settings.d.ts +0 -43
  100. package/dist/esm/modules/Settings.mjs +0 -114
  101. package/dist/esm/modules/Settings.mjs.map +0 -1
  102. package/dist/esm/modules/User.d.ts +0 -21
  103. package/dist/esm/modules/User.mjs.map +0 -1
  104. package/dist/esm/types.d.ts +0 -7
  105. package/src/modules/DataDictionary.ts +0 -55
  106. package/src/modules/Menu.ts +0 -29
  107. package/src/modules/Settings.ts +0 -121
@@ -1,8 +1,9 @@
1
1
  import { defineStore } from 'pinia';
2
- import { useKeepAliveStore } from './KeepAlive.mjs';
3
2
  import { NAV_TAB_ID } from '../types.mjs';
3
+ import useKeepAliveStore from './useKeepAliveStore.mjs';
4
4
 
5
- const useNavTabsStore = defineStore(NAV_TAB_ID, {
5
+ "use strict";
6
+ const useNavTabStore = defineStore(NAV_TAB_ID, {
6
7
  state: () => {
7
8
  return {
8
9
  // 多标签列表
@@ -14,19 +15,9 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
14
15
  getters: {
15
16
  getList: (state) => {
16
17
  return state.list;
17
- },
18
- getActiveKey: (state) => {
19
- return state.activeKey;
20
18
  }
21
19
  },
22
20
  actions: {
23
- /**
24
- * 设置激活的标签
25
- * @param key
26
- */
27
- setActiveKey(key) {
28
- this.activeKey = key;
29
- },
30
21
  /**
31
22
  * 保存标签信息
32
23
  * @param route
@@ -67,7 +58,7 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
67
58
  */
68
59
  deleteTabs(key) {
69
60
  const { deleteKeepAlive } = useKeepAliveStore();
70
- const curRoute = this.list.find((v) => v.fullPath === key);
61
+ const curRoute = this.list.find((v) => v.fullPath === key) || {};
71
62
  this.list.splice(
72
63
  this.list.findIndex((v) => v.fullPath === key),
73
64
  1
@@ -93,5 +84,5 @@ const useNavTabsStore = defineStore(NAV_TAB_ID, {
93
84
  persist: true
94
85
  });
95
86
 
96
- export { useNavTabsStore };
97
- //# sourceMappingURL=NavTab.mjs.map
87
+ export { useNavTabStore as default, useNavTabStore };
88
+ //# sourceMappingURL=useNavTabStore.mjs.map
@@ -0,0 +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}\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 };\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":";;;;;AAuBa,MAAA,cAAA,GAAiB,YAAY,UAAY,EAAA;AAAA,EACpD,OAAO,MAAM;AACX,IAAO,OAAA;AAAA;AAAA,MAEL,MAAM,EAAC;AAAA;AAAA,MAEP,SAAW,EAAA;AAAA,KACb;AAAA,GACF;AAAA,EACA,OAAS,EAAA;AAAA,IACP,OAAA,EAAS,CAAC,KAA0B,KAAA;AAClC,MAAA,OAAO,KAAM,CAAA,IAAA;AAAA;AACf,GACF;AAAA,EACA,OAAS,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,KAAK,KAAgC,EAAA;AA1CzC,MAAA,IAAA,EAAA;AA2CM,MAAA,IAAI,EAAC,CAAA,EAAA,GAAA,KAAA,CAAM,IAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAY,KAAO,CAAA,EAAA;AAEtB,QAAA;AAAA;AAEF,MAAM,MAAA,IAAA,GAAO,KAAK,IAAK,CAAA,IAAA;AAAA,QACrB,CAAC,IAAA,KAAuB,IAAK,CAAA,IAAA,KAAS,KAAM,CAAA;AAAA,OAC9C;AACA,MAAA,IAAI,IAAM,EAAA;AAER,QAAK,IAAA,CAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,IAAuB,KAAA;AACxC,UAAI,IAAA,IAAA,CAAK,IAAS,KAAA,KAAA,CAAM,IAAM,EAAA;AAC5B,YAAA,IAAA,CAAK,QAAQ,KAAM,CAAA,KAAA;AACnB,YAAA,IAAA,CAAK,WAAW,KAAM,CAAA,QAAA;AACtB,YAAA,IAAA,CAAK,SAAS,KAAM,CAAA,MAAA;AACpB,YAAA,IAAA,CAAK,OAAO,KAAM,CAAA,IAAA;AAClB,YAAK,IAAA,CAAA,IAAA,GAAe,MAAM,IAAQ,IAAA,EAAA;AAAA;AACpC,SACD,CAAA;AACD,QAAA;AAAA;AAEF,MAAA,MAAM,IAAqB,GAAA;AAAA,QACzB,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,UAAU,KAAM,CAAA,QAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,QACb,QAAQ,KAAM,CAAA,MAAA;AAAA,QACd,MAAM,KAAM,CAAA,IAAA;AAAA,QACZ,IAAA,EAAc,MAAM,IAAQ,IAAA;AAAA,OAC9B;AACA,MAAK,IAAA,CAAA,IAAA,CAAK,KAAK,IAAI,CAAA;AAAA,KACrB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAW,GAAa,EAAA;AACtB,MAAM,MAAA,EAAE,eAAgB,EAAA,GAAI,iBAAkB,EAAA;AAC9C,MAAM,MAAA,QAAA,GACJ,KAAK,IAAK,CAAA,IAAA,CAAK,OAAK,CAAE,CAAA,QAAA,KAAa,GAAG,CAAA,IAAK,EAAC;AAC9C,MAAA,IAAA,CAAK,IAAK,CAAA,MAAA;AAAA,QACR,KAAK,IAAK,CAAA,SAAA,CAAU,CAAK,CAAA,KAAA,CAAA,CAAE,aAAa,GAAG,CAAA;AAAA,QAC3C;AAAA,OACF;AAEA,MAAA,IAAI,qCAAU,IAAM,EAAA;AAClB,QAAA,eAAA,CAAgB,SAAS,IAAI,CAAA;AAAA;AAC/B,KACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA,CAAY,OAAe,IAAc,EAAA;AACvC,MAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,IAAK,CAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACzC,QAAA,IAAI,IAAK,CAAA,IAAA,CAAK,CAAC,CAAA,CAAE,aAAa,IAAM,EAAA;AAClC,UAAA,IAAA,CAAK,IAAK,CAAA,CAAC,CAAE,CAAA,IAAA,CAAM,KAAQ,GAAA,KAAA;AAC3B,UAAA;AAAA;AACF;AACF;AACF,GACF;AAAA,EACA,OAAS,EAAA;AACX,CAAC;;;;"}
@@ -1,6 +1,7 @@
1
1
  import { defineStore } from 'pinia';
2
2
  import { USER_ID } from '../types.mjs';
3
3
 
4
+ "use strict";
4
5
  const useUserStore = defineStore(USER_ID, {
5
6
  state: () => ({
6
7
  token: void 0,
@@ -25,5 +26,5 @@ const useUserStore = defineStore(USER_ID, {
25
26
  persist: true
26
27
  });
27
28
 
28
- export { useUserStore };
29
- //# sourceMappingURL=User.mjs.map
29
+ export { useUserStore as default };
30
+ //# sourceMappingURL=useUserStore.mjs.map
@@ -0,0 +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":";;;;AASM,MAAA,YAAA,GAAe,YAAY,OAAS,EAAA;AAAA,EACxC,OAAO,OAAkB;AAAA,IACvB,KAAO,EAAA,KAAA,CAAA;AAAA,IACP,QAAU,EAAA,KAAA;AAAA,GACZ,CAAA;AAAA,EACA,OAAS,EAAA;AAAA,IACP,QAAA,EAAU,WAAS,KAAM,CAAA,KAAA;AAAA,IACzB,WAAA,EAAa,WAAS,KAAM,CAAA;AAAA,GAC9B;AAAA,EACA,OAAS,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKP,UAAU,KAAe,EAAA;AACvB,MAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA,KACf;AAAA,IACA,aAAa,IAAe,EAAA;AAC1B,MAAA,IAAA,CAAK,QAAW,GAAA,IAAA;AAAA;AAClB,GACF;AAAA,EACA,OAAS,EAAA;AACX,CAAC;;;;"}
@@ -0,0 +1,4 @@
1
+ import 'pinia';
2
+
3
+ "use strict";
4
+ //# sourceMappingURL=pinia.d.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinia.d.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,4 +1,5 @@
1
- const id_prefix = "DITARI_STORE_";
1
+ "use strict";
2
+ const id_prefix = "_STORE_";
2
3
  const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;
3
4
  const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;
4
5
  const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;
@@ -6,6 +7,7 @@ const MENU_ID = `${id_prefix}MENU_ID`;
6
7
  const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;
7
8
  const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;
8
9
  const USER_ID = `${id_prefix}USER_ID`;
10
+ const APP_ID = `${id_prefix}APP_ID`;
9
11
 
10
- export { BREADCRUMB_ID, DATA_DICTIONARY_ID, KEEP_ALIVE_ID, MENU_ID, NAV_TAB_ID, SETTINGS_ID, USER_ID };
12
+ export { APP_ID, BREADCRUMB_ID, DATA_DICTIONARY_ID, KEEP_ALIVE_ID, MENU_ID, NAV_TAB_ID, SETTINGS_ID, USER_ID };
11
13
  //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../src/types.ts"],"sourcesContent":["const id_prefix = \"DITARI_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"],"names":[],"mappings":"AAAA,MAAM,SAAY,GAAA,eAAA,CAAA;AAEL,MAAA,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA,EAAA;AAE5B,MAAA,kBAAA,GAAqB,GAAG,SAAS,CAAA,kBAAA,EAAA;AAEjC,MAAA,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA,EAAA;AAE5B,MAAA,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA,EAAA;AAEtB,MAAA,UAAA,GAAa,GAAG,SAAS,CAAA,WAAA,EAAA;AAEzB,MAAA,WAAA,GAAc,GAAG,SAAS,CAAA,WAAA,EAAA;AAE1B,MAAA,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;;;;"}
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,SAAY,GAAA,SAAA;AAEL,MAAA,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAE5B,MAAA,kBAAA,GAAqB,GAAG,SAAS,CAAA,kBAAA;AAEjC,MAAA,aAAA,GAAgB,GAAG,SAAS,CAAA,aAAA;AAE5B,MAAA,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAEtB,MAAA,UAAA,GAAa,GAAG,SAAS,CAAA,WAAA;AAEzB,MAAA,WAAA,GAAc,GAAG,SAAS,CAAA,WAAA;AAE1B,MAAA,OAAA,GAAU,GAAG,SAAS,CAAA,OAAA;AAEtB,MAAA,MAAA,GAAS,GAAG,SAAS,CAAA,MAAA;;;;"}
@@ -0,0 +1,8 @@
1
+ export { default as useAppStore } from "./modules/useAppStore";
2
+ export * from "./modules/useBreadStore";
3
+ export { default as useDicStore } from "./modules/useDicStore";
4
+ export { default as useKeepAliveStore } from "./modules/useKeepAliveStore";
5
+ export { default as useMenuStore } from "./modules/useMenuStore";
6
+ export { default as useNavTabStore } from "./modules/useNavTabStore";
7
+ export { default as useUserStore } from "./modules/useUserStore";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,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,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ThemeConfig } from "ant-design-vue/es/config-provider/context";
2
+ interface App {
3
+ theme: ThemeConfig;
4
+ mode: "light" | "dark";
5
+ layout: {
6
+ sideWidth: number;
7
+ headerHeight: number;
8
+ collapsedWidth: number;
9
+ collapsed: boolean;
10
+ };
11
+ }
12
+ declare const useAppStore: import("pinia").StoreDefinition<"_STORE_APP_ID", App, {}, {}>;
13
+ export default useAppStore;
14
+ //# sourceMappingURL=useAppStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAppStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useAppStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AAE7E,UAAU,GAAG;IACX,KAAK,EAAE,WAAW,CAAC;IAEnB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,MAAM,EAAE;QAEN,SAAS,EAAE,MAAM,CAAC;QAElB,YAAY,EAAE,MAAM,CAAC;QAErB,cAAc,EAAE,MAAM,CAAC;QAEvB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED,QAAA,MAAM,WAAW,+DAkBf,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -1,10 +1,11 @@
1
1
  export interface BreadcrumbState {
2
2
  breadcrumbs: [];
3
3
  }
4
- export declare const useBreadcrumbStore: import("pinia").StoreDefinition<string, BreadcrumbState, {
4
+ export declare const useBreadStore: import("pinia").StoreDefinition<"_STORE_BREADCRUMB_ID", BreadcrumbState, {
5
5
  getBreadcrumb: (state: {
6
6
  breadcrumbs: [];
7
7
  } & import("pinia").PiniaCustomStateProperties<BreadcrumbState>) => [];
8
8
  }, {
9
- saveBreadcrumb(data: any): void;
9
+ saveBreadcrumb(data: never): void;
10
10
  }>;
11
+ //# sourceMappingURL=useBreadStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreadStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useBreadStore.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,aAAa;;qBAHX,EAAE;;;yBAWQ,KAAK;EAK5B,CAAC"}
@@ -0,0 +1,41 @@
1
+ export interface DictionaryItem {
2
+ value: string;
3
+ label: string;
4
+ }
5
+ export interface DictionaryList {
6
+ [key: string]: DictionaryItem[];
7
+ }
8
+ export interface DataDictionaryState {
9
+ list: DictionaryList;
10
+ }
11
+ declare const useDicStore: import("pinia").StoreDefinition<"_STORE_DATA_DICTIONARY_ID", DataDictionaryState, {
12
+ /**
13
+ * 根据 key 获取字典列表
14
+ * @param state
15
+ */
16
+ getDicByKey: (state: {
17
+ list: DictionaryList;
18
+ } & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string) => DictionaryItem[];
19
+ /**
20
+ * 根据字典名称和字典的 value 获取对应的中文
21
+ * @param state
22
+ */
23
+ getDicTextByValue: (state: {
24
+ list: DictionaryList;
25
+ } & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, value: string) => string;
26
+ /**
27
+ * 根据文字匹配对应的 value
28
+ * @param state
29
+ */
30
+ getDicValueByText: (state: {
31
+ list: DictionaryList;
32
+ } & import("pinia").PiniaCustomStateProperties<DataDictionaryState>) => (key: string, text: string) => string;
33
+ }, {
34
+ /**
35
+ * 保存字典数据
36
+ * @param data 字典数据
37
+ */
38
+ save(data: DictionaryList): void;
39
+ }>;
40
+ export default useDicStore;
41
+ //# sourceMappingURL=useDicStore.d.ts.map
@@ -0,0 +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,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAAC;CACjC;AAGD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,QAAA,MAAM,WAAW;IAKb;;;OAGG;;cAXC,cAAc;kFAaH,MAAM,KAAG,cAAc,EAAE;IAKxC;;;OAGG;;cArBC,cAAc;kFAuBH,MAAM,SAAS,MAAM,KAAG,MAAM;IAS7C;;;OAGG;;cAnCC,cAAc;kFAqCH,MAAM,QAAQ,MAAM,KAAG,MAAM;;IAU5C;;;OAGG;eACQ,cAAc;EAK3B,CAAC;AAEH,eAAe,WAAW,CAAC"}
@@ -1,5 +1,8 @@
1
- import { RouteLocationNormalized } from "vue-router";
2
- export declare const useKeepAliveStore: import("pinia").StoreDefinition<string, {
1
+ /**
2
+ * 缓存组件name数据
3
+ */
4
+ import { type RouteLocationNormalized } from "vue-router";
5
+ declare const useKeepAliveStore: import("pinia").StoreDefinition<"_STORE_KEEP_ALIVE_ID", {
3
6
  list: string[];
4
7
  }, {
5
8
  get: (state: {
@@ -19,3 +22,5 @@ export declare const useKeepAliveStore: import("pinia").StoreDefinition<string,
19
22
  */
20
23
  save(route: RouteLocationNormalized): void;
21
24
  }>;
25
+ export default useKeepAliveStore;
26
+ //# sourceMappingURL=useKeepAliveStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKeepAliveStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useKeepAliveStore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAK1D,QAAA,MAAM,iBAAiB;UAGL,MAAM,EAAE;;;cAAR,MAAM,EAAE;;cAAR,MAAM,EAAE;WAIR,MAAM,EAAE;;IAKtB;;;OAGG;0BACmB,MAAM;IAM5B;;;OAGG;gBACS,uBAAuB;EAYrC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ItemType } from "ant-design-vue";
2
+ interface Menu {
3
+ openKeys: string[];
4
+ selectedKeys: string[];
5
+ data: ItemType[];
6
+ }
7
+ declare const useMenuStore: import("pinia").StoreDefinition<"_STORE_MENU_ID", Menu, {}, {
8
+ save(data: ItemType[]): void;
9
+ }>;
10
+ export default useMenuStore;
11
+ //# sourceMappingURL=useMenuStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useMenuStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,UAAU,IAAI;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,QAAA,MAAM,YAAY;eASH,QAAQ,EAAE;EAKvB,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { LocationQuery, RouteLocationNormalized, RouteMeta, RouteParams } from "vue-router";
2
+ export interface NavTabsState {
3
+ path?: string;
4
+ fullPath?: string;
5
+ query?: LocationQuery;
6
+ params?: RouteParams;
7
+ meta?: RouteMeta;
8
+ name?: string;
9
+ }
10
+ export declare const useNavTabStore: import("pinia").StoreDefinition<"_STORE_NAV_TABS_ID", {
11
+ list: NavTabsState[];
12
+ activeKey: string;
13
+ }, {
14
+ getList: (state: {
15
+ list: {
16
+ path?: string | undefined;
17
+ fullPath?: string | undefined;
18
+ query?: LocationQuery | undefined;
19
+ params?: RouteParams | undefined;
20
+ meta?: RouteMeta | undefined;
21
+ name?: string | undefined;
22
+ }[];
23
+ activeKey: string;
24
+ } & import("pinia").PiniaCustomStateProperties<{
25
+ list: NavTabsState[];
26
+ activeKey: string;
27
+ }>) => NavTabsState[];
28
+ }, {
29
+ /**
30
+ * 保存标签信息
31
+ * @param route
32
+ */
33
+ save(route: RouteLocationNormalized): void;
34
+ /**
35
+ * 删除标签
36
+ * @param key url路径
37
+ */
38
+ deleteTabs(key: string): void;
39
+ /**
40
+ * 设置标题
41
+ * @param title 标题
42
+ * @param path url
43
+ */
44
+ setNavTitle(title: string, path: string): void;
45
+ }>;
46
+ export default useNavTabStore;
47
+ //# sourceMappingURL=useNavTabStore.d.ts.map
@@ -0,0 +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;CACf;AAED,eAAO,MAAM,cAAc;UAIT,YAAY,EAAE;eAET,MAAM;;;;mBAdpB,MAAM;uBACF,MAAM;oBACT,aAAa;qBACZ,WAAW;mBACb,SAAS;mBACT,MAAM;;mBASQ,MAAM;;cAFX,YAAY,EAAE;mBAET,MAAM;WAIP,YAAY,EAAE;;IAKhC;;;OAGG;gBACS,uBAAuB;IA+BnC;;;OAGG;oBACa,MAAM;IAatB;;;;OAIG;uBACgB,MAAM,QAAQ,MAAM;EAUzC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,21 +1,23 @@
1
1
  export interface UserState {
2
2
  token: string | undefined;
3
- userInfo: any;
3
+ userInfo: unknown;
4
4
  }
5
- export declare const useUserStore: import("pinia").StoreDefinition<string, UserState, {
5
+ declare const useUserStore: import("pinia").StoreDefinition<"_STORE_USER_ID", UserState, {
6
6
  getToken: (state: {
7
7
  token: string | undefined;
8
- userInfo: any;
8
+ userInfo: unknown;
9
9
  } & import("pinia").PiniaCustomStateProperties<UserState>) => string | undefined;
10
10
  getUserInfo: (state: {
11
11
  token: string | undefined;
12
- userInfo: any;
13
- } & import("pinia").PiniaCustomStateProperties<UserState>) => any;
12
+ userInfo: unknown;
13
+ } & import("pinia").PiniaCustomStateProperties<UserState>) => unknown;
14
14
  }, {
15
15
  /**
16
16
  * 保存token
17
17
  * @param token
18
18
  */
19
19
  saveToken(token: string): void;
20
- saveUserInfo(data: any): void;
20
+ saveUserInfo(data: unknown): void;
21
21
  }>;
22
+ export default useUserStore;
23
+ //# sourceMappingURL=useUserStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserStore.d.ts","sourceRoot":"","sources":["../../../src/modules/useUserStore.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,YAAY;;eAJT,MAAM,GAAG,SAAS;kBACf,OAAO;;;eADV,MAAM,GAAG,SAAS;kBACf,OAAO;;;IAaf;;;OAGG;qBACc,MAAM;uBAGJ,OAAO;EAK5B,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const BREADCRUMB_ID = "_STORE_BREADCRUMB_ID";
2
+ export declare const DATA_DICTIONARY_ID = "_STORE_DATA_DICTIONARY_ID";
3
+ export declare const KEEP_ALIVE_ID = "_STORE_KEEP_ALIVE_ID";
4
+ export declare const MENU_ID = "_STORE_MENU_ID";
5
+ export declare const NAV_TAB_ID = "_STORE_NAV_TABS_ID";
6
+ export declare const SETTINGS_ID = "_STORE_SETTINGS_ID";
7
+ export declare const USER_ID = "_STORE_USER_ID";
8
+ export declare const APP_ID = "_STORE_APP_ID";
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAA8B,CAAC;AAEzD,eAAO,MAAM,kBAAkB,8BAAmC,CAAC;AAEnE,eAAO,MAAM,aAAa,yBAA8B,CAAC;AAEzD,eAAO,MAAM,OAAO,mBAAwB,CAAC;AAE7C,eAAO,MAAM,UAAU,uBAA4B,CAAC;AAEpD,eAAO,MAAM,WAAW,uBAA4B,CAAC;AAErD,eAAO,MAAM,OAAO,mBAAwB,CAAC;AAE7C,eAAO,MAAM,MAAM,kBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditari/store",
3
- "version": "1.0.8",
3
+ "version": "5.0.1",
4
4
  "description": "store",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -10,20 +10,20 @@
10
10
  "license": "ISC",
11
11
  "module": "dist/esm/index.mjs",
12
12
  "main": "dist/cjs/index.cjs",
13
- "types": "dist/esm/index.d.ts",
13
+ "types": "dist/types/index.d.ts",
14
14
  "exports": {
15
15
  ".": {
16
16
  "require": "./dist/cjs/index.cjs",
17
17
  "import": "./dist/esm/index.mjs",
18
- "types": "./dist/esm/index.d.ts"
18
+ "types": "./dist/types/index.d.ts"
19
19
  },
20
20
  "./esm/*": {
21
21
  "import": "./dist/esm/*/index.mjs",
22
- "types": "./dist/esm/*/index.d.ts"
22
+ "types": "./dist/types/index.d.ts"
23
23
  },
24
24
  "./cjs/*": {
25
25
  "require": "./dist/cjs/*/index.cjs",
26
- "types": "./dist/cjs/*/index.d.ts"
26
+ "types": "./dist/types/index.d.ts"
27
27
  }
28
28
  },
29
29
  "peerDependencies": {
package/src/index.ts CHANGED
@@ -1,12 +1,7 @@
1
- export { useBreadcrumbStore } from "./modules/Breadcrumb";
2
- export type { BreadcrumbState } from "./modules/Breadcrumb";
3
- export { useDataDicStore } from "./modules/DataDictionary";
4
- export type { DataDictionaryState } from "./modules/DataDictionary";
5
- export { useKeepAliveStore } from "./modules/KeepAlive";
6
- export { useMenuStore } from "./modules/Menu";
7
- export { useNavTabsStore } from "./modules/NavTab";
8
- export type { NavTabsState } from "./modules/NavTab";
9
- export { useSettingsStore } from "./modules/Settings";
10
- export type { SettingState } from "./modules/Settings";
11
- export { useUserStore } from "./modules/User";
12
- export type { UserState } from "./modules/User";
1
+ export { default as useAppStore } from "./modules/useAppStore";
2
+ export * from "./modules/useBreadStore";
3
+ export { default as useDicStore } from "./modules/useDicStore";
4
+ export { default as useKeepAliveStore } from "./modules/useKeepAliveStore";
5
+ export { default as useMenuStore } from "./modules/useMenuStore";
6
+ export { default as useNavTabStore } from "./modules/useNavTabStore";
7
+ export { default as useUserStore } from "./modules/useUserStore";
@@ -0,0 +1,43 @@
1
+ import { theme } from "ant-design-vue";
2
+ import { defineStore } from "pinia";
3
+
4
+ import { APP_ID } from "../types";
5
+ import type { ThemeConfig } from "ant-design-vue/es/config-provider/context";
6
+
7
+ interface App {
8
+ theme: ThemeConfig;
9
+ // 模式:亮色和深色
10
+ mode: "light" | "dark";
11
+ layout: {
12
+ // 侧边栏宽度
13
+ sideWidth: number;
14
+ // 头高度
15
+ headerHeight: number;
16
+ // 左侧菜单收缩时候的宽度
17
+ collapsedWidth: number;
18
+ // 左侧菜单收缩状态
19
+ collapsed: boolean;
20
+ };
21
+ }
22
+
23
+ const useAppStore = defineStore(APP_ID, {
24
+ state: (): App => {
25
+ return {
26
+ theme: {
27
+ // 算法
28
+ algorithm: theme.defaultAlgorithm,
29
+ token: {}
30
+ },
31
+ mode: "dark",
32
+ layout: {
33
+ sideWidth: 200,
34
+ headerHeight: 44,
35
+ collapsedWidth: 80,
36
+ collapsed: false
37
+ }
38
+ };
39
+ },
40
+ persist: true
41
+ });
42
+
43
+ export default useAppStore;
@@ -1,25 +1,26 @@
1
- /**
2
- * 面包屑
3
- * @author 余春林
4
- */
5
- import { defineStore } from "pinia";
6
- import { BREADCRUMB_ID } from "../types";
7
-
8
- export interface BreadcrumbState {
9
- breadcrumbs: [];
10
- }
11
-
12
- export const useBreadcrumbStore = defineStore(BREADCRUMB_ID, {
13
- state: (): BreadcrumbState => ({
14
- breadcrumbs: []
15
- }),
16
- getters: {
17
- getBreadcrumb: (state) => state.breadcrumbs
18
- },
19
- actions: {
20
- saveBreadcrumb(data: any) {
21
- this.breadcrumbs = data;
22
- }
23
- },
24
- persist: true
25
- });
1
+ /**
2
+ * 面包屑
3
+ * @author 余春林
4
+ */
5
+ import { defineStore } from "pinia";
6
+
7
+ import { BREADCRUMB_ID } from "../types";
8
+
9
+ export interface BreadcrumbState {
10
+ breadcrumbs: [];
11
+ }
12
+
13
+ export const useBreadStore = defineStore(BREADCRUMB_ID, {
14
+ state: (): BreadcrumbState => ({
15
+ breadcrumbs: []
16
+ }),
17
+ getters: {
18
+ getBreadcrumb: state => state.breadcrumbs
19
+ },
20
+ actions: {
21
+ saveBreadcrumb(data: never) {
22
+ this.breadcrumbs = data;
23
+ }
24
+ },
25
+ persist: true
26
+ });
@@ -0,0 +1,76 @@
1
+ import { defineStore } from "pinia";
2
+
3
+ import { DATA_DICTIONARY_ID } from "../types";
4
+
5
+ // 定义字典项的类型
6
+ export interface DictionaryItem {
7
+ value: string; // 字典项的值
8
+ label: string; // 字典项的显示文本
9
+ }
10
+
11
+ // 定义字典列表的类型
12
+ export interface DictionaryList {
13
+ [key: string]: DictionaryItem[]; // 键是字符串,值是 DictionaryItem 数组
14
+ }
15
+
16
+ // 定义 Store 的状态类型
17
+ export interface DataDictionaryState {
18
+ list: DictionaryList; // 使用 DictionaryList 替换 any
19
+ }
20
+
21
+ const useDicStore = defineStore(DATA_DICTIONARY_ID, {
22
+ state: (): DataDictionaryState => ({
23
+ list: {} // 初始化为空对象
24
+ }),
25
+ getters: {
26
+ /**
27
+ * 根据 key 获取字典列表
28
+ * @param state
29
+ */
30
+ getDicByKey: state => {
31
+ return (key: string): DictionaryItem[] => {
32
+ return state.list[key] || [];
33
+ };
34
+ },
35
+
36
+ /**
37
+ * 根据字典名称和字典的 value 获取对应的中文
38
+ * @param state
39
+ */
40
+ getDicTextByValue: state => {
41
+ return (key: string, value: string): string => {
42
+ const rs = state.list[key] || [];
43
+ return rs
44
+ .filter((item: DictionaryItem) => item.value === value)
45
+ .map((item: DictionaryItem) => item.label)
46
+ .join("");
47
+ };
48
+ },
49
+
50
+ /**
51
+ * 根据文字匹配对应的 value
52
+ * @param state
53
+ */
54
+ getDicValueByText: state => {
55
+ return (key: string, text: string): string => {
56
+ const rs = state.list[key] || [];
57
+ return rs
58
+ .filter((item: DictionaryItem) => item.label === text)
59
+ .map((item: DictionaryItem) => item.value)
60
+ .join("");
61
+ };
62
+ }
63
+ },
64
+ actions: {
65
+ /**
66
+ * 保存字典数据
67
+ * @param data 字典数据
68
+ */
69
+ save(data: DictionaryList) {
70
+ this.list = data;
71
+ }
72
+ },
73
+ persist: true
74
+ });
75
+
76
+ export default useDicStore;