This commit is contained in:
ygx
2026-03-29 15:32:25 +08:00
parent 9cee6f290d
commit 9343c110d3
2 changed files with 20 additions and 22 deletions

View File

@@ -192,19 +192,22 @@ export const fetchApprovedDocumentList = (params?: FetchDocumentListParams) => {
};
/** 收藏文档 */
export const favoriteDocument = (id: number) => {
return request.post<ApiResponse<string>>("/Kb/v1/favorite/create", { resource_type: 'document', resource_id: id });
export const favoriteDocument = (id: number, remarks?: string) => {
return request.post<ApiResponse<string>>("/Kb/v1/favorite/collect", {
resource_type: 'document',
resource_id: id,
remarks,
});
};
/** 取消收藏文档 */
export const unfavoriteDocument = (id: number) => {
return request.delete<ApiResponse<string>>("/Kb/v1/favorite/delete", { data: { resource_type: 'document', resource_id: id } });
return request.post<ApiResponse<string>>("/Kb/v1/favorite/uncollect", {
resource_type: 'document',
resource_id: id,
});
};
/** 检查文档是否已收藏 */
export const checkFavorite = (id: number) => {
return request.get<ApiResponse<{ is_favorited: boolean }>>(`/Kb/v1/favorite/check`, { params: { resource_type: 'document', resource_id: id } });
};
/** 下载文档 */
export const downloadDocument = (id: number) => {

View File

@@ -318,7 +318,6 @@ import {
moveToTrash,
favoriteDocument,
unfavoriteDocument,
checkFavorite,
} from '@/api/kb/document'
import { fetchCategoryList } from '@/api/kb/category'
import { documentTypeOptions } from './config/options'
@@ -454,12 +453,15 @@ const fetchData = async () => {
const loadCategories = async () => {
try {
const res: any = await fetchCategoryList({ type: 'document' })
if (res?.code === 0) {
categoryOptions.value = res.details.data.map((item: any) => ({
label: item.name,
value: item.id,
}))
// 兼容多种API响应格式
let categoryList: any[] = []
if (res?.code === 0 && Array.isArray(res.details)) {
categoryList = res.details
}
categoryOptions.value = categoryList.map((item: any) => ({
label: item.name,
value: item.id,
}))
} catch (error) {
console.error('加载分类失败:', error)
}
@@ -501,15 +503,8 @@ const handleSelectDocument = async (doc: Document) => {
const docData = res.details.resource || res.details
currentDocument.value = docData
// 检查收藏状态
if (docData.status === 'reviewed') {
try {
const favRes: any = await checkFavorite(doc.id)
isFavorited.value = favRes?.details?.is_favorited || false
} catch {
isFavorited.value = false
}
}
// 从文档详情中获取收藏状态
isFavorited.value = docData.is_favorited || false
}
} catch (error) {
console.error('获取文档详情失败:', error)