+
+
知识库列表
+ } onClick={() => qc.invalidateQueries({ queryKey: ['knowledge-bases'] })}>刷新
+
+
`共 ${t} 条`, onChange: (p, ps) => { setPage(p); setPageSize(ps) } }}
+ />
+
+ )
+}
+
+export default function KnowledgeBasesPage() { return }
diff --git a/src/services/knowledge-api.ts b/src/services/knowledge-api.ts
new file mode 100644
index 0000000..3ec0e5c
--- /dev/null
+++ b/src/services/knowledge-api.ts
@@ -0,0 +1,15 @@
+import { api } from './http-client'
+
+export interface KnowledgeBase {
+ id: string; title: string; description: string | null; status: string; itemCount: number;
+ user?: { nickname: string | null; email: string };
+ createdAt: string; updatedAt: string;
+ sources?: any[]; _count?: { items: number };
+}
+
+export function getKnowledgeBases(page = 1, limit = 20): Promise<{ items: KnowledgeBase[]; total: number; page: number; limit: number; totalPages: number }> {
+ return api.get(`/admin-api/knowledge-bases?page=${page}&limit=${limit}`)
+}
+
+export function getKnowledgeBase(id: string): Promise { return api.get(`/admin-api/knowledge-bases/${id}`) }
+export function deleteKnowledgeBase(id: string): Promise { return api.delete(`/admin-api/knowledge-bases/${id}`) }