feat
This commit is contained in:
@@ -192,19 +192,22 @@ export const fetchApprovedDocumentList = (params?: FetchDocumentListParams) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/** 收藏文档 */
|
/** 收藏文档 */
|
||||||
export const favoriteDocument = (id: number) => {
|
export const favoriteDocument = (id: number, remarks?: string) => {
|
||||||
return request.post<ApiResponse<string>>("/Kb/v1/favorite/create", { resource_type: 'document', resource_id: id });
|
return request.post<ApiResponse<string>>("/Kb/v1/favorite/collect", {
|
||||||
|
resource_type: 'document',
|
||||||
|
resource_id: id,
|
||||||
|
remarks,
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/** 取消收藏文档 */
|
/** 取消收藏文档 */
|
||||||
export const unfavoriteDocument = (id: number) => {
|
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) => {
|
export const downloadDocument = (id: number) => {
|
||||||
|
|||||||
@@ -318,7 +318,6 @@ import {
|
|||||||
moveToTrash,
|
moveToTrash,
|
||||||
favoriteDocument,
|
favoriteDocument,
|
||||||
unfavoriteDocument,
|
unfavoriteDocument,
|
||||||
checkFavorite,
|
|
||||||
} from '@/api/kb/document'
|
} from '@/api/kb/document'
|
||||||
import { fetchCategoryList } from '@/api/kb/category'
|
import { fetchCategoryList } from '@/api/kb/category'
|
||||||
import { documentTypeOptions } from './config/options'
|
import { documentTypeOptions } from './config/options'
|
||||||
@@ -454,12 +453,15 @@ const fetchData = async () => {
|
|||||||
const loadCategories = async () => {
|
const loadCategories = async () => {
|
||||||
try {
|
try {
|
||||||
const res: any = await fetchCategoryList({ type: 'document' })
|
const res: any = await fetchCategoryList({ type: 'document' })
|
||||||
if (res?.code === 0) {
|
// 兼容多种API响应格式
|
||||||
categoryOptions.value = res.details.data.map((item: any) => ({
|
let categoryList: any[] = []
|
||||||
label: item.name,
|
if (res?.code === 0 && Array.isArray(res.details)) {
|
||||||
value: item.id,
|
categoryList = res.details
|
||||||
}))
|
|
||||||
}
|
}
|
||||||
|
categoryOptions.value = categoryList.map((item: any) => ({
|
||||||
|
label: item.name,
|
||||||
|
value: item.id,
|
||||||
|
}))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('加载分类失败:', error)
|
console.error('加载分类失败:', error)
|
||||||
}
|
}
|
||||||
@@ -501,15 +503,8 @@ const handleSelectDocument = async (doc: Document) => {
|
|||||||
const docData = res.details.resource || res.details
|
const docData = res.details.resource || res.details
|
||||||
currentDocument.value = docData
|
currentDocument.value = docData
|
||||||
|
|
||||||
// 检查收藏状态
|
// 从文档详情中获取收藏状态
|
||||||
if (docData.status === 'reviewed') {
|
isFavorited.value = docData.is_favorited || false
|
||||||
try {
|
|
||||||
const favRes: any = await checkFavorite(doc.id)
|
|
||||||
isFavorited.value = favRes?.details?.is_favorited || false
|
|
||||||
} catch {
|
|
||||||
isFavorited.value = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取文档详情失败:', error)
|
console.error('获取文档详情失败:', error)
|
||||||
|
|||||||
Reference in New Issue
Block a user