From dd924964e86aebac2e9666f0a80d277fe64f9e30 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Wed, 10 Jul 2024 12:22:41 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=9D=83=E9=99=90=20(#730)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ui/src/layout/components/sidebar/SidebarItem.vue | 2 +- ui/src/router/modules/setting.ts | 6 +++--- ui/src/stores/modules/user.ts | 10 ++++++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ui/src/layout/components/sidebar/SidebarItem.vue b/ui/src/layout/components/sidebar/SidebarItem.vue index 88fc898b6..93e49fb75 100644 --- a/ui/src/layout/components/sidebar/SidebarItem.vue +++ b/ui/src/layout/components/sidebar/SidebarItem.vue @@ -12,7 +12,7 @@ {{ menu.meta?.title as string }} import('@/views/theme/index.vue') }, @@ -86,7 +86,7 @@ const settingRouter = { activeMenu: '/setting', parentPath: '/setting', parentName: 'setting', - permission: new Role('ADMIN') + permission: new ComplexPermission(['ADMIN'], ['x-pack'], 'AND') }, component: () => import('@/views/authentication/index.vue') }, diff --git a/ui/src/stores/modules/user.ts b/ui/src/stores/modules/user.ts index 69399c835..03969108e 100644 --- a/ui/src/stores/modules/user.ts +++ b/ui/src/stores/modules/user.ts @@ -8,6 +8,7 @@ export interface userStateTypes { token: any version?: string accessToken?: string + XPACK_LICENSE_IS_VALID: false isXPack: false } @@ -18,11 +19,12 @@ const useUserStore = defineStore({ userInfo: null, token: '', version: '', + XPACK_LICENSE_IS_VALID: false, isXPack: false }), actions: { isEnterprise() { - return this.userInfo?.IS_XPACK && this.userInfo?.XPACK_LICENSE_IS_VALID + return this.isXPack && this.XPACK_LICENSE_IS_VALID }, getToken(): String | null { if (this.token) { @@ -40,7 +42,9 @@ const useUserStore = defineStore({ getPermissions() { if (this.userInfo) { - return this.userInfo?.permissions + return this.isXPack && this.XPACK_LICENSE_IS_VALID + ? [...this.userInfo?.permissions, 'x-pack'] + : this.userInfo?.permissions } else { return [] } @@ -59,6 +63,8 @@ const useUserStore = defineStore({ async asyncGetVersion() { return UserApi.getVersion().then((ok) => { this.version = ok.data?.version || '-' + this.isXPack = ok.data?.IS_XPACK + this.XPACK_LICENSE_IS_VALID = ok.data?.XPACK_LICENSE_IS_VALID }) },