@ditari/store 1.0.8 → 5.0.2

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 (102) hide show
  1. package/dist/cjs/index.cjs +15 -15
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/modules/useAppStore.cjs +39 -0
  4. package/dist/cjs/modules/useAppStore.cjs.map +1 -0
  5. package/dist/cjs/modules/{Breadcrumb.cjs → useBreadStore.cjs} +4 -3
  6. package/dist/cjs/modules/useBreadStore.cjs.map +1 -0
  7. package/dist/cjs/modules/{DataDictionary.cjs → useDicStore.cjs} +13 -5
  8. package/dist/cjs/modules/useDicStore.cjs.map +1 -0
  9. package/dist/cjs/modules/{KeepAlive.cjs → useKeepAliveStore.cjs} +5 -2
  10. package/dist/cjs/modules/useKeepAliveStore.cjs.map +1 -0
  11. package/dist/cjs/modules/useMenuStore.cjs +26 -0
  12. package/dist/cjs/modules/useMenuStore.cjs.map +1 -0
  13. package/dist/cjs/modules/{NavTab.cjs → useNavTabStore.cjs} +12 -17
  14. package/dist/cjs/modules/useNavTabStore.cjs.map +1 -0
  15. package/dist/cjs/modules/{User.cjs → useUserStore.cjs} +5 -2
  16. package/dist/cjs/modules/useUserStore.cjs.map +1 -0
  17. package/dist/cjs/pinia.d.cjs +6 -0
  18. package/dist/cjs/pinia.d.cjs.map +1 -0
  19. package/dist/cjs/types.cjs +4 -1
  20. package/dist/cjs/types.cjs.map +1 -1
  21. package/dist/esm/index.mjs +9 -7
  22. package/dist/esm/index.mjs.map +1 -1
  23. package/dist/esm/modules/useAppStore.mjs +35 -0
  24. package/dist/esm/modules/useAppStore.mjs.map +1 -0
  25. package/dist/esm/modules/{Breadcrumb.mjs → useBreadStore.mjs} +4 -3
  26. package/dist/esm/modules/useBreadStore.mjs.map +1 -0
  27. package/dist/esm/modules/{DataDictionary.mjs → useDicStore.mjs} +11 -5
  28. package/dist/esm/modules/useDicStore.mjs.map +1 -0
  29. package/dist/esm/modules/{KeepAlive.mjs → useKeepAliveStore.mjs} +3 -2
  30. package/dist/esm/modules/useKeepAliveStore.mjs.map +1 -0
  31. package/dist/esm/modules/useMenuStore.mjs +22 -0
  32. package/dist/esm/modules/useMenuStore.mjs.map +1 -0
  33. package/dist/esm/modules/{NavTab.mjs → useNavTabStore.mjs} +8 -16
  34. package/dist/esm/modules/useNavTabStore.mjs.map +1 -0
  35. package/dist/esm/modules/{User.mjs → useUserStore.mjs} +3 -2
  36. package/dist/esm/modules/useUserStore.mjs.map +1 -0
  37. package/dist/esm/pinia.d.mjs +4 -0
  38. package/dist/esm/pinia.d.mjs.map +1 -0
  39. package/dist/esm/types.mjs +4 -2
  40. package/dist/esm/types.mjs.map +1 -1
  41. package/dist/types/index.d.ts +8 -0
  42. package/dist/types/index.d.ts.map +1 -0
  43. package/dist/types/modules/useAppStore.d.ts +22 -0
  44. package/dist/types/modules/useAppStore.d.ts.map +1 -0
  45. package/dist/{cjs/modules/Breadcrumb.d.ts → types/modules/useBreadStore.d.ts} +3 -2
  46. package/dist/types/modules/useBreadStore.d.ts.map +1 -0
  47. package/dist/types/modules/useDicStore.d.ts +41 -0
  48. package/dist/types/modules/useDicStore.d.ts.map +1 -0
  49. package/dist/{esm/modules/KeepAlive.d.ts → types/modules/useKeepAliveStore.d.ts} +7 -2
  50. package/dist/types/modules/useKeepAliveStore.d.ts.map +1 -0
  51. package/dist/types/modules/useMenuStore.d.ts +11 -0
  52. package/dist/types/modules/useMenuStore.d.ts.map +1 -0
  53. package/dist/types/modules/useNavTabStore.d.ts +49 -0
  54. package/dist/types/modules/useNavTabStore.d.ts.map +1 -0
  55. package/dist/{cjs/modules/User.d.ts → types/modules/useUserStore.d.ts} +8 -6
  56. package/dist/types/modules/useUserStore.d.ts.map +1 -0
  57. package/dist/types/types.d.ts +9 -0
  58. package/dist/types/types.d.ts.map +1 -0
  59. package/package.json +9 -9
  60. package/CHANGELOG.md +0 -49
  61. package/dist/cjs/index.d.ts +0 -12
  62. package/dist/cjs/modules/Breadcrumb.cjs.map +0 -1
  63. package/dist/cjs/modules/DataDictionary.cjs.map +0 -1
  64. package/dist/cjs/modules/DataDictionary.d.ts +0 -28
  65. package/dist/cjs/modules/KeepAlive.cjs.map +0 -1
  66. package/dist/cjs/modules/KeepAlive.d.ts +0 -21
  67. package/dist/cjs/modules/Menu.cjs +0 -31
  68. package/dist/cjs/modules/Menu.cjs.map +0 -1
  69. package/dist/cjs/modules/Menu.d.ts +0 -17
  70. package/dist/cjs/modules/NavTab.cjs.map +0 -1
  71. package/dist/cjs/modules/NavTab.d.ts +0 -64
  72. package/dist/cjs/modules/Settings.cjs +0 -116
  73. package/dist/cjs/modules/Settings.cjs.map +0 -1
  74. package/dist/cjs/modules/Settings.d.ts +0 -43
  75. package/dist/cjs/modules/User.cjs.map +0 -1
  76. package/dist/cjs/types.d.ts +0 -7
  77. package/dist/esm/index.d.ts +0 -12
  78. package/dist/esm/modules/Breadcrumb.d.ts +0 -10
  79. package/dist/esm/modules/Breadcrumb.mjs.map +0 -1
  80. package/dist/esm/modules/DataDictionary.d.ts +0 -28
  81. package/dist/esm/modules/DataDictionary.mjs.map +0 -1
  82. package/dist/esm/modules/KeepAlive.mjs.map +0 -1
  83. package/dist/esm/modules/Menu.d.ts +0 -17
  84. package/dist/esm/modules/Menu.mjs +0 -29
  85. package/dist/esm/modules/Menu.mjs.map +0 -1
  86. package/dist/esm/modules/NavTab.d.ts +0 -64
  87. package/dist/esm/modules/NavTab.mjs.map +0 -1
  88. package/dist/esm/modules/Settings.d.ts +0 -43
  89. package/dist/esm/modules/Settings.mjs +0 -114
  90. package/dist/esm/modules/Settings.mjs.map +0 -1
  91. package/dist/esm/modules/User.d.ts +0 -21
  92. package/dist/esm/modules/User.mjs.map +0 -1
  93. package/dist/esm/types.d.ts +0 -7
  94. package/src/index.ts +0 -12
  95. package/src/modules/Breadcrumb.ts +0 -25
  96. package/src/modules/DataDictionary.ts +0 -55
  97. package/src/modules/KeepAlive.ts +0 -47
  98. package/src/modules/Menu.ts +0 -29
  99. package/src/modules/NavTab.ts +0 -115
  100. package/src/modules/Settings.ts +0 -121
  101. package/src/modules/User.ts +0 -30
  102. package/src/types.ts +0 -15
@@ -1,55 +0,0 @@
1
- import { defineStore } from "pinia";
2
- import { DATA_DICTIONARY_ID } from "../types";
3
-
4
- export interface DataDictionaryState {
5
- list: any;
6
- }
7
- export const useDataDicStore = defineStore(DATA_DICTIONARY_ID, {
8
- state: (): DataDictionaryState => ({
9
- list: {}
10
- }),
11
- getters: {
12
- /**
13
- * 根据key获取字典列表
14
- * @param state
15
- */
16
- getDicByKey: (state) => {
17
- return (key: string) => {
18
- return state.list[key] || [];
19
- };
20
- },
21
- /**
22
- * 根据字典名称和字典的value 获取对应的中文
23
- * @param state
24
- */
25
- getDicTextByValue: (state) => {
26
- return (key: string, value: string) => {
27
- const rs = state.list[key] || [];
28
- return rs
29
- .filter((item: any) => item.value === value)
30
- .map((item: any) => item.label)
31
- .join("");
32
- };
33
- },
34
- getDicValueByText: (state) => {
35
- // 根据文字匹配对应的value
36
- return (key: string, text: string) => {
37
- const rs = state.list[key] || [];
38
- return rs
39
- .filter((item: any) => item.label === text)
40
- .map((item: any) => item.value)
41
- .join("");
42
- };
43
- }
44
- },
45
- actions: {
46
- /**
47
- * 保存字典数据
48
- * @param data 字典数据
49
- */
50
- save(data: any) {
51
- this.list = data;
52
- }
53
- },
54
- persist: true
55
- });
@@ -1,47 +0,0 @@
1
- /**
2
- * 缓存组件name数据
3
- */
4
- import { defineStore } from "pinia";
5
- import { RouteLocationNormalized } from "vue-router";
6
-
7
- import { KEEP_ALIVE_ID } from "../types";
8
-
9
- export const useKeepAliveStore = defineStore(KEEP_ALIVE_ID, {
10
- state: () => {
11
- return {
12
- list: [] as string[]
13
- };
14
- },
15
- getters: {
16
- get: (state): string[] => {
17
- return state.list;
18
- }
19
- },
20
- actions: {
21
- /**
22
- * 删除已经缓存的组件
23
- * @param name 组件名称(必须唯一)
24
- */
25
- deleteKeepAlive(name: string) {
26
- this.list.splice(
27
- this.list.findIndex((key: string) => key === name),
28
- 1
29
- );
30
- },
31
- /**
32
- * 保存要缓存的组件名称
33
- * @param route
34
- */
35
- save(route: RouteLocationNormalized) {
36
- const name = <string>route.name;
37
- if (!name) {
38
- return;
39
- }
40
- const flag = this.list.some((key: string) => key === name);
41
- if (!flag) {
42
- this.list.push(name);
43
- }
44
- }
45
- },
46
- persist: true
47
- });
@@ -1,29 +0,0 @@
1
- /**
2
- * 菜单数据
3
- */
4
- import { defineStore } from "pinia";
5
- import { MENU_ID } from "../types";
6
-
7
- export const useMenuStore = defineStore(MENU_ID, {
8
- state: () => {
9
- return {
10
- // 菜单数据
11
- list: [],
12
- // 展开的菜单数据
13
- openMenusKeys: [] as any,
14
- // 当前激活的菜单
15
- selectedMenuKeys: [] as any
16
- };
17
- },
18
- getters: {
19
- getMenu: (state) => {
20
- return state.list;
21
- }
22
- },
23
- actions: {
24
- save(data: any) {
25
- this.list = data;
26
- }
27
- },
28
- persist: true
29
- });
@@ -1,115 +0,0 @@
1
- /**
2
- * 多标签数据
3
- */
4
- import { defineStore } from "pinia";
5
- import {
6
- LocationQuery,
7
- RouteLocationNormalized,
8
- RouteMeta,
9
- RouteParams
10
- } from "vue-router";
11
- import { useKeepAliveStore } from "./KeepAlive";
12
- import { NAV_TAB_ID } from "../types";
13
-
14
- export interface NavTabsState {
15
- path: string;
16
- fullPath: string;
17
- query: LocationQuery;
18
- params: RouteParams;
19
- meta: RouteMeta | any;
20
- name: string;
21
- }
22
-
23
-
24
- export const useNavTabsStore = defineStore(NAV_TAB_ID, {
25
- state: () => {
26
- return {
27
- // 多标签列表
28
- list: [] as NavTabsState[],
29
- // 当前激活的地址
30
- activeKey: "" as string
31
- };
32
- },
33
- getters: {
34
- getList: (state): NavTabsState[] => {
35
- return state.list;
36
- },
37
- getActiveKey: (state): string => {
38
- return state.activeKey;
39
- }
40
- },
41
- actions: {
42
- /**
43
- * 设置激活的标签
44
- * @param key
45
- */
46
- setActiveKey(key: string) {
47
- this.activeKey = key;
48
- },
49
- /**
50
- * 保存标签信息
51
- * @param route
52
- */
53
- save(route: RouteLocationNormalized) {
54
- if (!route.meta?.title) {
55
- // 没有设置title,则不进入缓存
56
- return;
57
- }
58
- const flag = this.list.some(
59
- (item: NavTabsState) => item.path === route.path
60
- );
61
- if (flag) {
62
- // 如果有相同的路由变化,更新对应的参数信息
63
- this.list.forEach((item: NavTabsState) => {
64
- if (item.path === route.path) {
65
- item.query = route.query;
66
- item.fullPath = route.fullPath;
67
- item.params = route.params;
68
- item.meta = route.meta;
69
- item.name = <string>route.name || "";
70
- }
71
- });
72
- return;
73
- }
74
- const data: NavTabsState = {
75
- path: route.path,
76
- fullPath: route.fullPath,
77
- query: route.query,
78
- params: route.params,
79
- meta: route.meta,
80
- name: <string>route.name || ""
81
- };
82
- this.list.push(data);
83
- },
84
- /**
85
- * 删除标签
86
- * @param key url路径
87
- */
88
- deleteTabs(key: string) {
89
- const { deleteKeepAlive } = useKeepAliveStore();
90
- const curRoute: any = this.list.find((v) => v.fullPath === key);
91
- this.list.splice(
92
- this.list.findIndex((v) => v.fullPath === key),
93
- 1
94
- );
95
- // 根据name 删除缓存的组件
96
- if (curRoute?.name) {
97
- deleteKeepAlive(curRoute.name);
98
- }
99
- },
100
- /**
101
- * 设置标题
102
- * @param title 标题
103
- * @param path url
104
- */
105
- setNavTitle(title: string, path: string) {
106
- for (let i = 0; i < this.list.length; i++) {
107
- if (this.list[i].fullPath === path) {
108
- this.list[i].meta.title = title;
109
- break;
110
- }
111
- }
112
- }
113
- },
114
- persist: true
115
- });
@@ -1,121 +0,0 @@
1
- import { defineStore } from "pinia";
2
- import { useMediaQuery } from "@vueuse/core";
3
- import { SETTINGS_ID } from "../types";
4
-
5
- const mediaMap = [
6
- {
7
- key: "700",
8
- value: "(max-width: 700px)",
9
- description: "小于700设备"
10
- },
11
- {
12
- key: "700-960",
13
- value: "(min-width:700px) and (max-width: 960px)",
14
- description: "大于700小于960设备"
15
- },
16
- {
17
- key: "960-1200",
18
- value: "(min-width:960px) and (max-width: 1200px)",
19
- description: "大于960小于1024设备"
20
- },
21
- {
22
- key: "1200-1680",
23
- value: "(min-width:1200px) and (max-width: 1680px)",
24
- description: " 大于1200小于1680设备"
25
- },
26
- {
27
- key: "1680",
28
- value: "(min-width:1680px)",
29
- description: " 大于1680设备"
30
- }
31
- ];
32
-
33
- const gridConfig = [
34
- {
35
- key: "700",
36
- value: "repeat(1, 100%)",
37
- col: 1,
38
- description: "显示一列占100%"
39
- },
40
- {
41
- key: "700-960",
42
- value: "repeat(2, 50%)",
43
- col: 2,
44
- description: "显示两列每列占50%宽"
45
- },
46
- {
47
- key: "960-1200",
48
- value: "repeat(3, 33.33%)",
49
- col: 3,
50
- description: "显示三列每列占33.33%宽"
51
- },
52
- {
53
- key: "1200-1680",
54
- value: "repeat(4, 25%)",
55
- col: 4,
56
- description: "显示4列每列占25%宽"
57
- },
58
- {
59
- key: "1680",
60
- value: "repeat(5, 20%)",
61
- col: 5,
62
- description: " 显示5列每列占20%宽"
63
- }
64
- ];
65
-
66
- export interface SettingState {
67
- refresh: boolean;
68
- collapsed: boolean;
69
- mediaRuleMap: any;
70
- gridConfig: any;
71
- gridValue: any;
72
- }
73
-
74
- export const useSettingsStore = defineStore(SETTINGS_ID, {
75
- state: (): SettingState => ({
76
- // 刷新状态
77
- refresh: false as boolean,
78
- // 菜单收缩
79
- collapsed: false as boolean,
80
- // 屏幕设备匹配规则
81
- mediaRuleMap: mediaMap,
82
- // 网格配置 根据匹配匹配规则
83
- gridConfig: gridConfig,
84
- gridValue: {} as any
85
- }),
86
- getters: {
87
- getRefresh: (state) => state.refresh,
88
- getCollapsed: (state) => state.collapsed,
89
- getGrid: (state) => {
90
- return state.gridValue;
91
- }
92
- },
93
- actions: {
94
- /**
95
- * 切换刷新
96
- */
97
- switchRefreshStatus() {
98
- this.refresh = !this.refresh;
99
- },
100
- /**
101
- * 切换菜单收缩状态
102
- */
103
- switchCollapsed() {
104
- this.collapsed = !this.collapsed;
105
- },
106
- /**
107
- * 网格匹配
108
- */
109
- gridMatching() {
110
- const mediaResult = this.mediaRuleMap.filter(
111
- (item: any) => useMediaQuery(item.value).value
112
- )[0];
113
- const gridRs = this.gridConfig.filter(
114
- (item: any) => item.key === mediaResult.key
115
- )[0];
116
- this.gridValue = gridRs;
117
- return gridRs;
118
- }
119
- },
120
- persist: true
121
- });
@@ -1,30 +0,0 @@
1
- import { defineStore } from "pinia";
2
- import { USER_ID } from "../types";
3
-
4
- export interface UserState {
5
- token: string | undefined;
6
- userInfo: any;
7
- }
8
- export const useUserStore = defineStore(USER_ID, {
9
- state: (): UserState => ({
10
- token: undefined,
11
- userInfo: undefined
12
- }),
13
- getters: {
14
- getToken: (state) => state.token,
15
- getUserInfo: (state) => state.userInfo
16
- },
17
- actions: {
18
- /**
19
- * 保存token
20
- * @param token
21
- */
22
- saveToken(token: string) {
23
- this.token = token;
24
- },
25
- saveUserInfo(data: any) {
26
- this.userInfo = data;
27
- }
28
- },
29
- persist: true
30
- });
package/src/types.ts DELETED
@@ -1,15 +0,0 @@
1
- const id_prefix = "DITARI_STORE_";
2
- //面包屑
3
- export const BREADCRUMB_ID = `${id_prefix}BREADCRUMB_ID`;
4
- //字典ID
5
- export const DATA_DICTIONARY_ID = `${id_prefix}DATA_DICTIONARY_ID`;
6
- //缓存组件ID
7
- export const KEEP_ALIVE_ID = `${id_prefix}KEEP_ALIVE_ID`;
8
- //菜单ID
9
- export const MENU_ID = `${id_prefix}MENU_ID`;
10
- //多标签ID
11
- export const NAV_TAB_ID = `${id_prefix}NAV_TABS_ID`;
12
- //用户信息ID
13
- export const SETTINGS_ID = `${id_prefix}SETTINGS_ID`;
14
- //用户信息ID
15
- export const USER_ID = `${id_prefix}USER_ID`;