duoqi-admin/src/lib/api/knowledge-card-api.ts
Wang Zhuoxuan 2c2fc952f9 refactor: 对接 duoqi-api 文档规范
- API 路径前缀改为 /v1/admin
- 分类管理改用服务端分页(page/limit),移除未定义的 search/status 筛选
- 知识卡字段重命名:basic→summary、deep→deepDive
- 各页面移除不必要的 limit 参数
2026-04-11 15:10:44 +08:00

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>>()
}