From 96367a1c722b15fe38fc3d2ed0655db99c9b8807 Mon Sep 17 00:00:00 2001 From: panxinying Date: Mon, 21 Sep 2026 15:30:54 +0800 Subject: [PATCH] feat: system menu permission annotations --- ui/src/permission/modules/system/appearance.ts | 3 +++ ui/src/permission/modules/system/chatUser.ts | 18 ++++++++++++++++++ .../permission/modules/system/chatUserGroup.ts | 17 +++++++++++++++-- ui/src/permission/modules/system/email.ts | 6 +++++- ui/src/permission/modules/system/loginAuth.ts | 3 +++ .../permission/modules/system/operationLog.ts | 10 +++++++++- ui/src/permission/modules/system/portal.ts | 6 +++++- ui/src/permission/modules/system/role.ts | 15 +++++++++++++++ ui/src/permission/modules/system/user.ts | 15 +++++++++++++++ ui/src/permission/modules/system/userGroup.ts | 15 +++++++++++++++ ui/src/permission/modules/system/workspace.ts | 15 +++++++++++++++ .../authentication/EditSCANDrawer.vue | 3 ++- .../authentication/components/CAS.vue | 3 ++- .../authentication/components/LDAP.vue | 3 ++- .../authentication/components/OAuth2.vue | 3 ++- .../authentication/components/OIDC.vue | 3 ++- .../portal-setting/PortalSettingView.vue | 3 ++- .../user-groups/GroupsListView.vue | 13 +++++++------ .../chat-management/users/UserListView.vue | 17 +++++++++-------- .../system/identity/groups/GroupsListView.vue | 13 +++++++------ .../system/identity/roles/RoleListView.vue | 7 ++++--- .../roles/components/RoleMemberList.vue | 7 ++++--- .../system/identity/users/UserListView.vue | 13 +++++++------ .../identity/workspaces/WorkspaceListView.vue | 13 +++++++------ .../system/operate-logs/OperateLogListView.vue | 5 +++-- .../settings/authentication/EditSCANDrawer.vue | 3 ++- .../settings/authentication/components/CAS.vue | 3 ++- .../authentication/components/LDAP.vue | 3 ++- .../authentication/components/LoginSetting.vue | 3 ++- .../authentication/components/OAuth2.vue | 3 ++- .../authentication/components/OIDC.vue | 3 ++- .../authentication/components/Saml2.vue | 3 ++- .../settings/email/EmailSettingsView.vue | 3 ++- .../system/settings/theme/ThemeSettingView.vue | 3 ++- 34 files changed, 196 insertions(+), 60 deletions(-) diff --git a/ui/src/permission/modules/system/appearance.ts b/ui/src/permission/modules/system/appearance.ts index 9a1b85760fe..1cd5525dad3 100644 --- a/ui/src/permission/modules/system/appearance.ts +++ b/ui/src/permission/modules/system/appearance.ts @@ -9,5 +9,8 @@ export default { * 系统「外观设置」只读权限 */ read: () => canSys(P.APPEARANCE_SETTINGS_READ) && hasEdition(Edition.PE), + /** + * 系统「外观设置」编辑权限 + */ edit: () => canSys(P.APPEARANCE_SETTINGS_EDIT) } diff --git a/ui/src/permission/modules/system/chatUser.ts b/ui/src/permission/modules/system/chatUser.ts index fe29812b8ae..9cbafd26927 100644 --- a/ui/src/permission/modules/system/chatUser.ts +++ b/ui/src/permission/modules/system/chatUser.ts @@ -8,10 +8,28 @@ export default { * 系统「对话用户」只读权限 */ read: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.CHAT_USER_READ],Compare.OR), + /** + * 系统「对话用户」创建权限 + */ create: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.CHAT_USER_CREATE],Compare.OR), + /** + * 系统「对话用户」同步权限 + */ sync: () => canSys(P.CHAT_USER_SYNC), + /** + * 系统「对话用户」编辑权限 + */ edit: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.CHAT_USER_EDIT],Compare.OR), + /** + * 系统「对话用户」删除权限 + */ delete: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.CHAT_USER_DELETE],Compare.OR), + /** + * 系统「对话用户」设置用户组权限 + */ userGroup: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.CHAT_USER_GROUP],Compare.OR), + /** + * 系统「对话用户」配额设置权限 + */ quotaSetting: () => canSys(P.CHAT_USER_QUOTA_SETTING), } diff --git a/ui/src/permission/modules/system/chatUserGroup.ts b/ui/src/permission/modules/system/chatUserGroup.ts index 5e55575044f..82561cfe084 100644 --- a/ui/src/permission/modules/system/chatUserGroup.ts +++ b/ui/src/permission/modules/system/chatUserGroup.ts @@ -1,6 +1,5 @@ /** 系统「对话用户组」按钮权限。$perm.chatUserGroup.* */ -import { canSys } from '../../policy' import { PermissionConstants as P, hasPermission, RoleConstants, Compare} from '../../core' export default { @@ -8,10 +7,24 @@ export default { * 系统「对话用户组」只读权限 */ read: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_READ],Compare.OR), + /** + * 系统「对话用户组」创建权限 + */ create: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_CREATE],Compare.OR), + /** + * 系统「对话用户组」编辑权限 + */ edit: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_EDIT],Compare.OR), + /** + * 系统「对话用户组」删除权限 + */ delete: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_DELETE],Compare.OR), + /** + * 系统「对话用户组」添加成员权限 + */ addMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_ADD_MEMBER],Compare.OR), + /** + * 系统「对话用户组」移除成员权限 + */ removeMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.USER_GROUP_REMOVE_MEMBER],Compare.OR), - authRead: () => canSys(P.CHAT_USER_AUTH_READ), } diff --git a/ui/src/permission/modules/system/email.ts b/ui/src/permission/modules/system/email.ts index 09bdc02ac84..e5c4f8b371d 100644 --- a/ui/src/permission/modules/system/email.ts +++ b/ui/src/permission/modules/system/email.ts @@ -7,4 +7,8 @@ export default { /** * 系统「邮箱设置」只读权限 */ - read: () => canSys(P.EMAIL_SETTING_READ), edit: () => canSys(P.EMAIL_SETTING_EDIT) } + read: () => canSys(P.EMAIL_SETTING_READ), + /** + * 系统「邮箱设置」编辑权限 + */ + edit: () => canSys(P.EMAIL_SETTING_EDIT) } diff --git a/ui/src/permission/modules/system/loginAuth.ts b/ui/src/permission/modules/system/loginAuth.ts index 9e33e8999f7..be6645d2446 100644 --- a/ui/src/permission/modules/system/loginAuth.ts +++ b/ui/src/permission/modules/system/loginAuth.ts @@ -9,5 +9,8 @@ export default { * 系统「用户认证」只读权限 */ read: () => canSys(P.LOGIN_AUTH_READ) && hasEdition(Edition.PE), + /** + * 系统「用户认证」编辑权限 + */ edit: () => canSys(P.LOGIN_AUTH_EDIT) } diff --git a/ui/src/permission/modules/system/operationLog.ts b/ui/src/permission/modules/system/operationLog.ts index 9e9d6aedefb..9803177d4c0 100644 --- a/ui/src/permission/modules/system/operationLog.ts +++ b/ui/src/permission/modules/system/operationLog.ts @@ -9,4 +9,12 @@ export default { * 系统「操作日志」只读权限 */ read: () => canSys(P.OPERATION_LOG_READ) && hasEdition(Edition.PE), - export: () => canSys(P.OPERATION_LOG_EXPORT), clearPolicy: () => canSys(P.OPERATION_LOG_CLEAR_POLICY) } + /** + * 系统「操作日志」导出权限 + */ + export: () => canSys(P.OPERATION_LOG_EXPORT), + /** + * 系统「操作日志」清除策略权限 + */ + clearPolicy: () => canSys(P.OPERATION_LOG_CLEAR_POLICY) +} diff --git a/ui/src/permission/modules/system/portal.ts b/ui/src/permission/modules/system/portal.ts index c0b42d88019..e2a12a95d70 100644 --- a/ui/src/permission/modules/system/portal.ts +++ b/ui/src/permission/modules/system/portal.ts @@ -7,4 +7,8 @@ export default { /** * 系统「门户访问设置」只读权限 */ - read: () => canSys(P.PORTAL_READ), edit: () => canSys(P.PORTAL_EDIT) } + read: () => canSys(P.PORTAL_READ), + /** + * 系统「门户访问设置」编辑权限 + */ + edit: () => canSys(P.PORTAL_EDIT) } diff --git a/ui/src/permission/modules/system/role.ts b/ui/src/permission/modules/system/role.ts index b5d3184be0b..92f21645946 100644 --- a/ui/src/permission/modules/system/role.ts +++ b/ui/src/permission/modules/system/role.ts @@ -9,9 +9,24 @@ export default { * 系统「角色管理」只读权限 * */ read: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.ROLE_READ],Compare.OR) && hasEdition(Edition.PE), + /** + * 系统「角色管理」创建权限 + */ create: () => canSys(P.ROLE_CREATE), + /** + * 系统「角色管理」编辑权限 + */ edit: () => canSys(P.ROLE_EDIT), + /** + * 系统「角色管理」删除权限 + */ delete: () => canSys(P.ROLE_DELETE), + /** + * 系统「角色管理」添加成员权限 + */ addMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.ROLE_ADD_MEMBER],Compare.OR), + /** + * 系统「角色管理」移除成员权限 + */ removeMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.ROLE_REMOVE_MEMBER],Compare.OR), } diff --git a/ui/src/permission/modules/system/user.ts b/ui/src/permission/modules/system/user.ts index 19916b45e59..68e422bcf6e 100644 --- a/ui/src/permission/modules/system/user.ts +++ b/ui/src/permission/modules/system/user.ts @@ -8,9 +8,24 @@ export default { * 系统「用户管理」只读权限 * */ read: () => canSys(P.USER_READ), + /** + * 系统「用户管理」创建权限 + */ create: () => canSys(P.USER_CREATE), + /** + * 系统「用户管理」编辑权限 + */ edit: () => canSys(P.USER_EDIT), + /** + * 系统「用户管理」删除权限 + */ delete: () => canSys(P.USER_DELETE), + /** + * 系统「用户管理」设置角色权限 + */ setRole: () => canSys(P.USER_SET_ROLE), + /** + * 系统「用户管理」导入权限 + */ import: () => canSys(P.USER_IMPORT), } diff --git a/ui/src/permission/modules/system/userGroup.ts b/ui/src/permission/modules/system/userGroup.ts index ea125023db4..83b04fc7c94 100644 --- a/ui/src/permission/modules/system/userGroup.ts +++ b/ui/src/permission/modules/system/userGroup.ts @@ -7,9 +7,24 @@ export default { * 系统「用户组」只读权限 * */ read: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_READ],Compare.OR), + /** + * 系统「用户组」创建权限 + */ create: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_CREATE],Compare.OR), + /** + * 系统「用户组」编辑权限 + */ edit: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_EDIT],Compare.OR), + /** + * 系统「用户组」删除权限 + */ delete: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_DELETE],Compare.OR), + /** + * 系统「用户组」添加成员权限 + */ addMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_ADD_MEMBER],Compare.OR), + /** + * 系统「用户组」移除成员权限 + */ removeMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.SYSTEM_USER_GROUP_REMOVE_MEMBER],Compare.OR), } diff --git a/ui/src/permission/modules/system/workspace.ts b/ui/src/permission/modules/system/workspace.ts index 944fb5c80ed..1722bea484a 100644 --- a/ui/src/permission/modules/system/workspace.ts +++ b/ui/src/permission/modules/system/workspace.ts @@ -9,9 +9,24 @@ export default { * 系统「工作空间」只读权限 * */ read: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.WORKSPACE_READ],Compare.OR) && hasEdition(Edition.PE), + /** + * 系统「工作空间」创建权限 + */ create: () => canSys(P.WORKSPACE_CREATE), + /** + * 系统「工作空间」编辑权限 + */ edit: () => canSys(P.WORKSPACE_EDIT), + /** + * 系统「工作空间」删除权限 + */ delete: () => canSys(P.WORKSPACE_DELETE), + /** + * 系统「工作空间」添加成员权限 + */ addMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.WORKSPACE_ADD_MEMBER],Compare.OR), + /** + * 系统「工作空间」移除成员权限 + */ removeMember: () => hasPermission([RoleConstants.ADMIN,RoleConstants.WORKSPACE_MANAGE,P.WORKSPACE_REMOVE_MEMBER],Compare.OR), } diff --git a/ui/src/views/system/chat-management/authentication/EditSCANDrawer.vue b/ui/src/views/system/chat-management/authentication/EditSCANDrawer.vue index ce3c33d0ab8..b49a6379128 100644 --- a/ui/src/views/system/chat-management/authentication/EditSCANDrawer.vue +++ b/ui/src/views/system/chat-management/authentication/EditSCANDrawer.vue @@ -6,6 +6,7 @@ import type { FormInstance, FormRules } from 'element-plus' import { LOGIN_METHOD_LABELS, SCAN_FIELD_LABELS } from '@/constants' import { LOGIN_METHOD } from '@/api/enums' import { MsgSuccess, MsgError } from '@/utils/message' +import perm from '@/permission' const emit = defineEmits<{ refresh: [] }>() const visible = ref(false) @@ -82,7 +83,7 @@ defineExpose({ open }) 校验 - 保存 + 保存 diff --git a/ui/src/views/system/chat-management/authentication/components/CAS.vue b/ui/src/views/system/chat-management/authentication/components/CAS.vue index 83412d7ed37..ec3cebf5974 100644 --- a/ui/src/views/system/chat-management/authentication/components/CAS.vue +++ b/ui/src/views/system/chat-management/authentication/components/CAS.vue @@ -5,6 +5,7 @@ import ChatUserAuthApi from '@/api/admin/system/chat-management/chat-user-auth' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'CasAuthenticationSetting' }) @@ -72,6 +73,6 @@ onMounted(() => loadSetting) - 保存 + 保存 diff --git a/ui/src/views/system/chat-management/authentication/components/LDAP.vue b/ui/src/views/system/chat-management/authentication/components/LDAP.vue index b75f873844c..4246a96ae40 100644 --- a/ui/src/views/system/chat-management/authentication/components/LDAP.vue +++ b/ui/src/views/system/chat-management/authentication/components/LDAP.vue @@ -5,6 +5,7 @@ import ChatUserAuthApi from '@/api/admin/system/chat-management/chat-user-auth' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'LdapAuthenticationSetting' }) const authFormRef = useTemplateRef('authFormRef') @@ -75,7 +76,7 @@ onMounted(() => loadSetting())
- 保存 + 保存 测试连接
diff --git a/ui/src/views/system/chat-management/authentication/components/OAuth2.vue b/ui/src/views/system/chat-management/authentication/components/OAuth2.vue index 6cb3b8a393e..853c50cf2a9 100644 --- a/ui/src/views/system/chat-management/authentication/components/OAuth2.vue +++ b/ui/src/views/system/chat-management/authentication/components/OAuth2.vue @@ -5,6 +5,7 @@ import ChatUserAuthApi from '@/api/admin/system/chat-management/chat-user-auth' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'OidcAuthenticationSetting' }) const defaultRedirectUrl = `${window.location.origin}${window.MaxKB?.prefix ?? ''}/api/oauth2` @@ -77,6 +78,6 @@ onMounted(() => loadSetting()) >
启用 OAuth2 认证
- 保存 + 保存 diff --git a/ui/src/views/system/chat-management/authentication/components/OIDC.vue b/ui/src/views/system/chat-management/authentication/components/OIDC.vue index 4f74c1412cd..fe65a2bcdcc 100644 --- a/ui/src/views/system/chat-management/authentication/components/OIDC.vue +++ b/ui/src/views/system/chat-management/authentication/components/OIDC.vue @@ -5,6 +5,7 @@ import ChatUserAuthApi from '@/api/admin/system/chat-management/chat-user-auth' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'OidcAuthenticationSetting' }) const defaultFieldMapping = '{"username":"preferred_username","email":"email"}' @@ -96,6 +97,6 @@ onMounted(() => loadSetting()) >
启用 OIDC 认证
- 保存 + 保存 diff --git a/ui/src/views/system/chat-management/portal-setting/PortalSettingView.vue b/ui/src/views/system/chat-management/portal-setting/PortalSettingView.vue index 2c5b9d484f1..d5036dc5c74 100644 --- a/ui/src/views/system/chat-management/portal-setting/PortalSettingView.vue +++ b/ui/src/views/system/chat-management/portal-setting/PortalSettingView.vue @@ -9,6 +9,7 @@ import PortalPreview from './components/PortalPreview.vue' import ButtonEditPortal from './components/ButtonEditPortal.vue' import ButtonPortalAuthSetting from './components/ButtonPortalAuthSetting.vue' import ButtonPortalCorsSetting from './components/ButtonPortalCorsSetting.vue' +import perm from '@/permission/index.ts' type AccessField = 'enable_public_access' | 'enable_api' | 'enable_knowledge_base_api' | 'enable_auth' | 'enable_cors' @@ -86,7 +87,7 @@ const previewLogo = computed(() => portalSetting.logo)

{{ previewName }}

- +
diff --git a/ui/src/views/system/chat-management/user-groups/GroupsListView.vue b/ui/src/views/system/chat-management/user-groups/GroupsListView.vue index 21d9a23387d..0b2ba1a4af9 100644 --- a/ui/src/views/system/chat-management/user-groups/GroupsListView.vue +++ b/ui/src/views/system/chat-management/user-groups/GroupsListView.vue @@ -8,6 +8,7 @@ import { MsgConfirm, MsgSuccess } from '@/utils/message' import MkSearchList from '@/components/mk-search-list/index.vue' import CreateGroupMemberDialog from './dialog/CreateGroupMemberDialog.vue' import CreateOrUpdateGroupDialog from './dialog/CreateOrUpdateGroupDialog.vue' +import perm from '@/permission/index.ts' /* 添加用户组表单dialog */ const groupDialogRef = useTemplateRef>('groupDialogRef') @@ -136,7 +137,7 @@ onMounted(() => loadChatUserGroups())

{{ title }}

- + @@ -144,12 +145,12 @@ onMounted(() => loadChatUserGroups()) diff --git a/ui/src/views/system/identity/groups/GroupsListView.vue b/ui/src/views/system/identity/groups/GroupsListView.vue index 44832838fa1..34b43726102 100644 --- a/ui/src/views/system/identity/groups/GroupsListView.vue +++ b/ui/src/views/system/identity/groups/GroupsListView.vue @@ -9,6 +9,7 @@ import MkSearchList from '@/components/mk-search-list/index.vue' import CreateOrUpdateGroupDialog from './dialog/CreateOrUpdateGroupDialog.vue' import CreateGroupMemberDialog from './dialog/CreateGroupMemberDialog.vue' import { useStore } from '@/stores' +import perm from '@/permission/index.ts' const { auth } = useStore() /* 选择工作空间列表 */ @@ -179,7 +180,7 @@ onMounted(() => {

{{ title }}

- + @@ -188,14 +189,14 @@ onMounted(() => { diff --git a/ui/src/views/system/identity/roles/components/RoleMemberList.vue b/ui/src/views/system/identity/roles/components/RoleMemberList.vue index 4771aacbcf0..6d883da43f1 100644 --- a/ui/src/views/system/identity/roles/components/RoleMemberList.vue +++ b/ui/src/views/system/identity/roles/components/RoleMemberList.vue @@ -5,6 +5,7 @@ import { ROLE_TYPE } from '@/api/enums' import type { Dict, OptionItem, RoleItem, RoleMember } from '@/api/types' import { MsgConfirm, MsgSuccess } from '@/utils/message' import AddMemberDrawer from '../AddMemberDrawer.vue' +import perm from '@/permission/index.ts' const props = defineProps<{ currentRole: RoleItem }>() const loading = ref(false) @@ -95,7 +96,7 @@ watch(
- 添加成员 + 添加成员
@@ -117,12 +118,12 @@ watch(
diff --git a/ui/src/views/system/identity/users/UserListView.vue b/ui/src/views/system/identity/users/UserListView.vue index 7aaa55594fa..c33949d29d1 100644 --- a/ui/src/views/system/identity/users/UserListView.vue +++ b/ui/src/views/system/identity/users/UserListView.vue @@ -12,6 +12,7 @@ import UserFromDrawer from './UserFromDrawer.vue' import ButtonImportUsers from './import-users/ButtonImportUsers.vue' import ButtonChangeUserPassword from './user-password/ButtonChangeUserPassword.vue' import ButtonBatchSetUserRole from './batch-set-user-role/ButtonBatchSetUserRole.vue' +import perm from '@/permission/index.ts' const { auth, user } = useStore() @@ -128,9 +129,9 @@ onMounted(() => loadSystemUsers())
- + - + 创建用户 @@ -222,7 +223,7 @@ onMounted(() => loadSystemUsers())
- + @@ -230,7 +231,7 @@ onMounted(() => loadSystemUsers()) - + @@ -242,12 +243,12 @@ onMounted(() => loadSystemUsers()) diff --git a/ui/src/views/system/identity/workspaces/WorkspaceListView.vue b/ui/src/views/system/identity/workspaces/WorkspaceListView.vue index 4e698b347da..87c56fe204c 100644 --- a/ui/src/views/system/identity/workspaces/WorkspaceListView.vue +++ b/ui/src/views/system/identity/workspaces/WorkspaceListView.vue @@ -7,6 +7,7 @@ import MkSearchList from '@/components/mk-search-list/index.vue' import { MsgConfirm, MsgSuccess } from '@/utils/message' import AddMemberDrawer from './AddMemberDrawer.vue' import CreateOrUpdateWorkspaceDialog from './dialog/CreateOrUpdateWorkspaceDialog.vue' +import perm from '@/permission/index.ts' /* 添加工作空间表单dialog */ const workspaceDialogRef = useTemplateRef>('workspaceDialogRef') @@ -177,7 +178,7 @@ onMounted(() => loadWorkspaceOptions())

{{ title }}

- + @@ -185,14 +186,14 @@ onMounted(() => loadWorkspaceOptions()) diff --git a/ui/src/views/system/settings/authentication/components/CAS.vue b/ui/src/views/system/settings/authentication/components/CAS.vue index ff557495bda..49f3a5943cb 100644 --- a/ui/src/views/system/settings/authentication/components/CAS.vue +++ b/ui/src/views/system/settings/authentication/components/CAS.vue @@ -5,6 +5,7 @@ import AuthSettingApi from '@/api/admin/system/settings/auth-setting' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'CasAuthenticationSetting' }) @@ -72,6 +73,6 @@ onMounted(() => loadSetting)
- 保存 + 保存 diff --git a/ui/src/views/system/settings/authentication/components/LDAP.vue b/ui/src/views/system/settings/authentication/components/LDAP.vue index 44a3e05fbb9..993ebdec17c 100644 --- a/ui/src/views/system/settings/authentication/components/LDAP.vue +++ b/ui/src/views/system/settings/authentication/components/LDAP.vue @@ -5,6 +5,7 @@ import AuthSettingApi from '@/api/admin/system/settings/auth-setting' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'LdapAuthenticationSetting' }) const authFormRef = useTemplateRef('authFormRef') @@ -75,7 +76,7 @@ onMounted(() => loadSetting())
- 保存 + 保存 测试连接
diff --git a/ui/src/views/system/settings/authentication/components/LoginSetting.vue b/ui/src/views/system/settings/authentication/components/LoginSetting.vue index 27945bd59d3..1a883697ecb 100644 --- a/ui/src/views/system/settings/authentication/components/LoginSetting.vue +++ b/ui/src/views/system/settings/authentication/components/LoginSetting.vue @@ -9,6 +9,7 @@ import { LOGIN_METHOD, ROLE_TYPE } from '@/api/enums' import { LOGIN_METHOD_LABELS } from '@/constants' import { MsgSuccess } from '@/utils/message' import { useStore } from '@/stores' +import perm from '@/permission' defineOptions({ name: 'AuthenticationSetting' }) const { auth } = useStore() @@ -244,6 +245,6 @@ onMounted(() => {
- 保存 + 保存 diff --git a/ui/src/views/system/settings/authentication/components/OAuth2.vue b/ui/src/views/system/settings/authentication/components/OAuth2.vue index e88f2a51db7..3c3728836cd 100644 --- a/ui/src/views/system/settings/authentication/components/OAuth2.vue +++ b/ui/src/views/system/settings/authentication/components/OAuth2.vue @@ -5,6 +5,7 @@ import AuthSettingApi from '@/api/admin/system/settings/auth-setting' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'OidcAuthenticationSetting' }) const defaultRedirectUrl = `${window.location.origin}${window.MaxKB?.prefix ?? ''}/api/oauth2` @@ -77,6 +78,6 @@ onMounted(() => loadSetting()) >
启用 OAuth2 认证
- 保存 + 保存 diff --git a/ui/src/views/system/settings/authentication/components/OIDC.vue b/ui/src/views/system/settings/authentication/components/OIDC.vue index 185faebdd37..4d58860cd07 100644 --- a/ui/src/views/system/settings/authentication/components/OIDC.vue +++ b/ui/src/views/system/settings/authentication/components/OIDC.vue @@ -5,6 +5,7 @@ import AuthSettingApi from '@/api/admin/system/settings/auth-setting' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'OidcAuthenticationSetting' }) const defaultFieldMapping = '{"username":"preferred_username","email":"email"}' @@ -96,6 +97,6 @@ onMounted(() => loadSetting()) >
启用 OIDC 认证
- 保存 + 保存 diff --git a/ui/src/views/system/settings/authentication/components/Saml2.vue b/ui/src/views/system/settings/authentication/components/Saml2.vue index 5c9b6695dee..f6b07d66f86 100644 --- a/ui/src/views/system/settings/authentication/components/Saml2.vue +++ b/ui/src/views/system/settings/authentication/components/Saml2.vue @@ -5,6 +5,7 @@ import AuthSettingApi from '@/api/admin/system/settings/auth-setting' import { LOGIN_METHOD } from '@/api/enums' import type { AuthProviderSettingPayload } from '@/api/types' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' defineOptions({ name: 'SamlAuthenticationSetting' }) const samlApiBaseUrl = `${window.location.origin}${window.MaxKB?.prefix ?? ''}/api/saml2` @@ -93,6 +94,6 @@ onMounted(() => loadSetting()) >
启用 SAML2 认证
- 保存 + 保存 diff --git a/ui/src/views/system/settings/email/EmailSettingsView.vue b/ui/src/views/system/settings/email/EmailSettingsView.vue index 0ce57f5c80f..95ca1fb5cc4 100644 --- a/ui/src/views/system/settings/email/EmailSettingsView.vue +++ b/ui/src/views/system/settings/email/EmailSettingsView.vue @@ -4,6 +4,7 @@ import type { FormInstance, FormRules } from 'element-plus' import type { EmailSettingPayload } from '@/api/types' import EmailSettingApi from '@/api/admin/system/settings/email-setting' import { MsgSuccess } from '@/utils/message' +import perm from '@/permission' const defaultEmailSetting: EmailSettingPayload = { email_host: '', @@ -93,7 +94,7 @@ onMounted(() => loadEmailSetting()) - 保存 + 保存 测试连接 diff --git a/ui/src/views/system/settings/theme/ThemeSettingView.vue b/ui/src/views/system/settings/theme/ThemeSettingView.vue index 334029751fd..9f7d18604ae 100644 --- a/ui/src/views/system/settings/theme/ThemeSettingView.vue +++ b/ui/src/views/system/settings/theme/ThemeSettingView.vue @@ -8,6 +8,7 @@ import { useStore } from '@/stores' import { MsgError, MsgSuccess } from '@/utils/message' import LoginPreview from './components/LoginPreview.vue' import PlatformPreview from './components/PlatformPreview.vue' +import perm from '@/permission/index.ts' type ThemeImageField = 'icon' | 'loginImage' | 'loginLogo' type ThemeImageValue = File | string @@ -281,7 +282,7 @@ onBeforeUnmount(() => theme.setTheme(toThemeInfo(savedThemeSetting.value))) 放弃更新 - 保存并应用 + 保存并应用