- API 路径前缀改为 /v1/admin - 分类管理改用服务端分页(page/limit),移除未定义的 search/status 筛选 - 知识卡字段重命名:basic→summary、deep→deepDive - 各页面移除不必要的 limit 参数
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { apiClient } from "@/lib/api-client"
|
|
import type { ApiResponse } from "@/types/api"
|
|
|
|
export interface KnowledgeCardItem {
|
|
id: string
|
|
questionId: string
|
|
questionStem: string
|
|
categoryId: string
|
|
summary: string
|
|
deepDive?: string
|
|
sourceRef?: string
|
|
updatedAt: string
|
|
}
|
|
|
|
export interface FetchKnowledgeCardsParams {
|
|
page?: number
|
|
limit?: number
|
|
search?: string
|
|
status?: "all" | "complete" | "incomplete"
|
|
}
|
|
|
|
export async function fetchKnowledgeCards(
|
|
params: FetchKnowledgeCardsParams = {}
|
|
): Promise<ApiResponse<KnowledgeCardItem[]>> {
|
|
const searchParams = new URLSearchParams()
|
|
if (params.page) searchParams.set("page", String(params.page))
|
|
if (params.limit) searchParams.set("limit", String(params.limit))
|
|
if (params.search) searchParams.set("search", params.search)
|
|
if (params.status && params.status !== "all") searchParams.set("status", params.status)
|
|
|
|
return apiClient
|
|
.get("knowledge-cards", { searchParams })
|
|
.json<ApiResponse<KnowledgeCardItem[]>>()
|
|
}
|
|
|
|
export interface UpdateKnowledgeCardData {
|
|
summary: string
|
|
deepDive?: string
|
|
sourceRef?: string
|
|
}
|
|
|
|
export async function updateKnowledgeCard(
|
|
id: string,
|
|
data: UpdateKnowledgeCardData
|
|
): Promise<ApiResponse<KnowledgeCardItem>> {
|
|
return apiClient
|
|
.put(`knowledge-cards/${id}`, { json: data })
|
|
.json<ApiResponse<KnowledgeCardItem>>()
|
|
}
|