From 08f9b9410b3452994951dc18c84af2dcce4e153c Mon Sep 17 00:00:00 2001 From: lijiahang Date: Thu, 14 Sep 2023 12:07:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=93=E5=AD=98=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=80=BB=E8=BE=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../menu/selector/menu-selector-tree.vue | 2 +- orion-ops-ui/src/store/modules/cache/index.ts | 34 ++++--------------- orion-ops-ui/src/store/modules/cache/types.ts | 8 ++--- .../system/menu/components/menu-table.vue | 7 +--- orion-ops-ui/src/views/system/menu/index.vue | 9 ++++- .../role/components/role-menu-bind-modal.vue | 2 +- orion-ops-ui/src/views/user/role/index.vue | 2 +- .../user-update-roles-form-modal.vue | 2 +- orion-ops-ui/src/views/user/user/index.vue | 2 +- 9 files changed, 25 insertions(+), 43 deletions(-) diff --git a/orion-ops-ui/src/components/menu/selector/menu-selector-tree.vue b/orion-ops-ui/src/components/menu/selector/menu-selector-tree.vue index 34e68972..8887eb02 100644 --- a/orion-ops-ui/src/components/menu/selector/menu-selector-tree.vue +++ b/orion-ops-ui/src/components/menu/selector/menu-selector-tree.vue @@ -104,7 +104,7 @@ // 加载所有展开的key eachAllExpandKeys(treeData.value); }; - init(); + init([]); // 获取值 const getValue = () => { diff --git a/orion-ops-ui/src/store/modules/cache/index.ts b/orion-ops-ui/src/store/modules/cache/index.ts index d16fcd04..2e4ec18e 100644 --- a/orion-ops-ui/src/store/modules/cache/index.ts +++ b/orion-ops-ui/src/store/modules/cache/index.ts @@ -1,44 +1,24 @@ import { defineStore } from 'pinia'; import { CacheState } from './types'; -import { MenuQueryResponse } from '@/api/system/menu'; -import { RoleQueryResponse } from '@/api/user/role'; + +export type CacheType = 'menus' | 'roles' | 'tags' const useCacheStore = defineStore('cache', { state: (): CacheState => ({ menus: [], roles: [], + tags: [] }), getters: {}, actions: { /** - * 更新菜单 + * 设置 */ - updateMenus(menus: MenuQueryResponse[]) { - this.menus = menus; - }, - - /** - * 清空菜单 - */ - resetMenus() { - this.menus = []; - }, - - /** - * 更新角色 - */ - updateRoles(roles: RoleQueryResponse[]) { - this.roles = roles; - }, - - /** - * 清空角色 - */ - resetRoles() { - this.roles = []; - }, + set(name: CacheType, value: any) { + this[name] = value; + } }, }); diff --git a/orion-ops-ui/src/store/modules/cache/types.ts b/orion-ops-ui/src/store/modules/cache/types.ts index 7b14e402..9cb4e509 100644 --- a/orion-ops-ui/src/store/modules/cache/types.ts +++ b/orion-ops-ui/src/store/modules/cache/types.ts @@ -1,9 +1,9 @@ import { MenuQueryResponse } from '@/api/system/menu'; import { RoleQueryResponse } from '@/api/user/role'; +import { TagResponse } from '@/api/meta/tag'; export interface CacheState { - menus: MenuQueryResponse[], - roles: RoleQueryResponse[], - - [key: string]: unknown; + menus: MenuQueryResponse[]; + roles: RoleQueryResponse[]; + tags: TagResponse[]; } diff --git a/orion-ops-ui/src/views/system/menu/components/menu-table.vue b/orion-ops-ui/src/views/system/menu/components/menu-table.vue index 54e702ce..5f1ba5d3 100644 --- a/orion-ops-ui/src/views/system/menu/components/menu-table.vue +++ b/orion-ops-ui/src/views/system/menu/components/menu-table.vue @@ -260,7 +260,7 @@ setFetchLoading(true); const { data } = await getMenuList(formModel); tableRenderData.value = data as MenuQueryResponse[]; - cacheStore.updateMenus(tableRenderData.value); + cacheStore.set('menus', tableRenderData.value); } finally { setFetchLoading(false); } @@ -301,11 +301,6 @@ await loadMenuData(); }; - // 卸载时清除 menu cache - onUnmounted(() => { - cacheStore.resetMenus(); - }); -