feat: 收口知识库分享链路
- 新增 shareKey 单参数 URL 分享页与失效页 - 新增知识库分享后端鉴权、审计与迁移脚本 - 在访问令牌中增加知识库分享授权入口
This commit is contained in:
@@ -20,6 +20,7 @@ import {
|
||||
import { api } from '#/api/request';
|
||||
import documentIcon from '#/assets/ai/knowledge/document.svg';
|
||||
import PageData from '#/components/page/PageData.vue';
|
||||
import { buildKnowledgePath } from '#/views/ai/documentCollection/share-path';
|
||||
|
||||
const props = defineProps({
|
||||
knowledgeId: {
|
||||
@@ -30,6 +31,14 @@ const props = defineProps({
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
requestClient: {
|
||||
type: Object as any,
|
||||
default: () => api,
|
||||
},
|
||||
endpointPrefix: {
|
||||
type: String,
|
||||
default: '',
|
||||
},
|
||||
});
|
||||
const emits = defineEmits(['viewDoc']);
|
||||
defineExpose({
|
||||
@@ -44,8 +53,11 @@ const handleView = (row: any) => {
|
||||
emits('viewDoc', row.id);
|
||||
};
|
||||
const handleDownload = async (row: any) => {
|
||||
const blob = await api.download(
|
||||
`/api/v1/document/download?documentId=${row.id}`,
|
||||
const blob = await props.requestClient.download(
|
||||
buildKnowledgePath(
|
||||
props.endpointPrefix,
|
||||
`/api/v1/document/download?documentId=${row.id}`,
|
||||
),
|
||||
);
|
||||
downloadFileFromBlob({
|
||||
fileName: row.title || 'document',
|
||||
@@ -62,12 +74,17 @@ const handleDelete = (row: any) => {
|
||||
cancelButtonText: $t('button.cancel'),
|
||||
type: 'warning',
|
||||
}).then(() => {
|
||||
api.post('/api/v1/document/removeDoc', { id: row.id }).then((res) => {
|
||||
if (res.errorCode === 0) {
|
||||
ElMessage.success($t('message.deleteOkMessage'));
|
||||
pageDataRef.value.setQuery({ id: props.knowledgeId });
|
||||
}
|
||||
});
|
||||
props.requestClient
|
||||
.post(
|
||||
buildKnowledgePath(props.endpointPrefix, '/api/v1/document/removeDoc'),
|
||||
{ id: row.id },
|
||||
)
|
||||
.then((res: any) => {
|
||||
if (res.errorCode === 0) {
|
||||
ElMessage.success($t('message.deleteOkMessage'));
|
||||
pageDataRef.value.setQuery({ id: props.knowledgeId });
|
||||
}
|
||||
});
|
||||
// 删除逻辑
|
||||
});
|
||||
};
|
||||
@@ -75,9 +92,12 @@ const handleDelete = (row: any) => {
|
||||
|
||||
<template>
|
||||
<PageData
|
||||
page-url="/api/v1/document/documentList"
|
||||
:page-url="
|
||||
buildKnowledgePath(props.endpointPrefix, '/api/v1/document/documentList')
|
||||
"
|
||||
ref="pageDataRef"
|
||||
:page-size="10"
|
||||
:request-client="props.requestClient"
|
||||
:extra-query-params="{
|
||||
id: props.knowledgeId,
|
||||
sort: 'desc',
|
||||
|
||||
Reference in New Issue
Block a user