From 8e6ab6d1a7ca0a30f74799492ea62d13aece8a57 Mon Sep 17 00:00:00 2001 From: panxinying Date: Thu, 12 Nov 2026 16:01:31 +0800 Subject: [PATCH] feat: workspace homepage permission --- ui/src/permission/modules/homepage/homepage.ts | 15 +++++++++++++++ ui/src/permission/modules/homepage/index.ts | 10 ++++++++++ ui/src/permission/modules/index.ts | 8 +++++++- ui/src/router/admin/workspace/modules/home.ts | 3 ++- 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 ui/src/permission/modules/homepage/homepage.ts create mode 100644 ui/src/permission/modules/homepage/index.ts diff --git a/ui/src/permission/modules/homepage/homepage.ts b/ui/src/permission/modules/homepage/homepage.ts new file mode 100644 index 00000000000..2f557754c57 --- /dev/null +++ b/ui/src/permission/modules/homepage/homepage.ts @@ -0,0 +1,15 @@ +/** 工作空间「概览」按钮权限。* */ + +import { can } from '../../policy' +import { PermissionConstants as P } from '../../core' + +export default { + /** + * 工作空间「概览」只读权限 + */ + read: () => can(P.HOMEPAGE_READ), + /** + * 工作空间「概览」导出权限 + */ + edit: () => can(P.HOMEPAGE_EXPORT) +} diff --git a/ui/src/permission/modules/homepage/index.ts b/ui/src/permission/modules/homepage/index.ts new file mode 100644 index 00000000000..1620090378f --- /dev/null +++ b/ui/src/permission/modules/homepage/index.ts @@ -0,0 +1,10 @@ +/** 「概览」在各场景下的按钮权限。* */ + +import homepage from './homepage' + +export default { + /** + * 工作空间「概览」权限 + */ +homepage +} diff --git a/ui/src/permission/modules/index.ts b/ui/src/permission/modules/index.ts index ced1ab039dd..df02fd0b6ec 100644 --- a/ui/src/permission/modules/index.ts +++ b/ui/src/permission/modules/index.ts @@ -11,6 +11,7 @@ import tool from './tool' import model from './model' import system from './system' import trigger from './trigger' +import homepage from './homepage' export default { /** @@ -36,4 +37,9 @@ export default { /** * 「系统全局」按钮权限 * */ - system } + system, + /** + * 工作空间「概览」按钮权限 + */ + homepage, +} diff --git a/ui/src/router/admin/workspace/modules/home.ts b/ui/src/router/admin/workspace/modules/home.ts index 9bfd446ed4d..70f8c5edebb 100644 --- a/ui/src/router/admin/workspace/modules/home.ts +++ b/ui/src/router/admin/workspace/modules/home.ts @@ -1,3 +1,4 @@ +import perm from '@/permission' import type { RouteRecordRaw } from 'vue-router' export const homeRoutes: RouteRecordRaw[] = [ @@ -5,6 +6,6 @@ export const homeRoutes: RouteRecordRaw[] = [ path: '', name: 'workspace-home', component: () => import('@/views/home/index.vue'), - meta: { title: '概览', activeIcon: 'icon_screen_filled', icon: 'icon_screen_outlined', order: 10 }, + meta: { title: '概览', activeIcon: 'icon_screen_filled', icon: 'icon_screen_outlined', order: 10, permission: () => perm.homepage.homepage.read(), next: 'workspace-application',}, }, ]