diff --git a/ui/src/components/generate-related-dialog/index.vue b/ui/src/components/generate-related-dialog/index.vue index 6c7e87ad3..6a3f278b6 100644 --- a/ui/src/components/generate-related-dialog/index.vue +++ b/ui/src/components/generate-related-dialog/index.vue @@ -80,7 +80,7 @@ import type { FormInstance } from 'element-plus' import { loadSharedApi } from '@/utils/dynamics-api/shared-api' const props = defineProps<{ - apiType: 'systemShare' | 'workspace' | 'systemManage' + apiType: 'systemShare' | 'workspace' | 'systemManage' | 'workspaceShare' }>() const route = useRoute() diff --git a/ui/src/permission/knowledge/index.ts b/ui/src/permission/knowledge/index.ts index c83e9beb8..2a678d8ae 100644 --- a/ui/src/permission/knowledge/index.ts +++ b/ui/src/permission/knowledge/index.ts @@ -1,9 +1,11 @@ import systemShare from './system-share' import workspace from './workspace' import systemManage from './system-manage' +import workspaceShare from './workspace-share' const permission = { systemShare, workspace, systemManage, + workspaceShare } export default permission diff --git a/ui/src/permission/knowledge/system-manage.ts b/ui/src/permission/knowledge/system-manage.ts index ffeec63cb..848f67a0c 100644 --- a/ui/src/permission/knowledge/system-manage.ts +++ b/ui/src/permission/knowledge/system-manage.ts @@ -1,7 +1,7 @@ import { hasPermission } from '@/utils/permission/index' import { ComplexPermission } from '@/utils/permission/type' import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' -const workspace = { +const systemManage = { is_share: () => hasPermission( new ComplexPermission( @@ -37,4 +37,4 @@ const workspace = { problem_delete: () => false, } -export default workspace +export default systemManage diff --git a/ui/src/permission/knowledge/workspace-share.ts b/ui/src/permission/knowledge/workspace-share.ts new file mode 100644 index 000000000..5d70c33d1 --- /dev/null +++ b/ui/src/permission/knowledge/workspace-share.ts @@ -0,0 +1,31 @@ +import { hasPermission } from '@/utils/permission/index' +import { ComplexPermission } from '@/utils/permission/type' +import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' +const workspaceShare = { + is_share: () => true, + create: () => false, + sync: () => false, + vector: () => false, + generate: () => false, + setting: () => false, + export: () => false, + delete: () => false, + + doc_create: () => false, + doc_vector: () => false, + doc_generate: () => false, + doc_migrate: () => false, + doc_edit: () => false, + doc_sync: () => false, + doc_delete: () => false, + doc_export: () => false, + doc_download: () => false, + + knowledge_chat_user_edit: () => false, + + problem_create: () => false, + problem_relate: () => false, + problem_delete: () => false, +} + +export default workspaceShare \ No newline at end of file diff --git a/ui/src/permission/model/system-manage.ts b/ui/src/permission/model/system-manage.ts index 911cfebb6..076345511 100644 --- a/ui/src/permission/model/system-manage.ts +++ b/ui/src/permission/model/system-manage.ts @@ -1,7 +1,7 @@ import { hasPermission } from '@/utils/permission/index' import { ComplexPermission } from '@/utils/permission/type' import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' -const workspace = { +const systemManage = { is_share: () => hasPermission( new ComplexPermission( @@ -18,4 +18,4 @@ const workspace = { delete: () => false, } -export default workspace +export default systemManage diff --git a/ui/src/permission/tool/system-manage.ts b/ui/src/permission/tool/system-manage.ts index 43396e6b1..0cddcbede 100644 --- a/ui/src/permission/tool/system-manage.ts +++ b/ui/src/permission/tool/system-manage.ts @@ -1,7 +1,7 @@ import { hasPermission } from '@/utils/permission/index' import { ComplexPermission } from '@/utils/permission/type' import { EditionConst, PermissionConst, RoleConst } from '@/utils/permission/data' -const workspace = { +const systemManage = { is_share: () => hasPermission( new ComplexPermission( @@ -22,4 +22,4 @@ const workspace = { } -export default workspace +export default systemManage diff --git a/ui/src/utils/dynamics-api/shared-api.ts b/ui/src/utils/dynamics-api/shared-api.ts index e5aa458dd..6978e4a64 100644 --- a/ui/src/utils/dynamics-api/shared-api.ts +++ b/ui/src/utils/dynamics-api/shared-api.ts @@ -15,6 +15,7 @@ import problemSystemShareApi from '@/api/system-shared/problem' import chatUserSystemShareApi from '@/api/system-shared/chat-user' import workspaceApi from '@/api/workspace/workspace' import systemUserApi from '@/api/user/user' +import workspaceShare from '@/permission/knowledge/workspace-share' // 普通 API const workspaceApiMap = { @@ -51,6 +52,7 @@ const data = { systemShare: systemShareApiMap, workspace: workspaceApiMap, systemManage: systemManageApiMap, + workspaceShare: workspaceApiMap } /** 动态导入 API 模块的函数 * loadSharedApi('knowledge', true,'systemShare') @@ -62,7 +64,7 @@ export function loadSharedApi({ }: { type: string isShared?: boolean | undefined - systemType?: 'systemShare' | 'workspace' | 'systemManage' + systemType?: 'systemShare' | 'workspace' | 'systemManage' | 'workspaceShare' }) { if (isShared) { // 共享 API diff --git a/ui/src/views/chat-user/index.vue b/ui/src/views/chat-user/index.vue index 5b92d0d4c..1128a677b 100644 --- a/ui/src/views/chat-user/index.vue +++ b/ui/src/views/chat-user/index.vue @@ -56,7 +56,8 @@ :disabled="current?.is_auth" @click="handleSave" v-if=" - hasPermission( + route.path.includes('share/') ? false + : hasPermission( permissionObj[ route.path.includes('shared') ? 'SHAREDKNOWLEDGE' @@ -87,7 +88,8 @@