refactor(admin-web): 模型目录面板改走既有 API 层(adminGetLlmCatalog)
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled

- 新增 lib/api/admin.ts 的 adminGetLlmCatalog({refresh}) + 目录响应类型(lib/types/admin.ts),并由 lib/api.ts 再导出
- LlmCatalogPanel 不再直连 lib/api/core(它曾是全仓唯一这样做的 admin 模块),行为不变:
  五种状态判定、gzip 响应、离线粘贴导入均保持
- 复核:grep lib/api/core 全仓前端 0 命中;npx tsc --noEmit 0 错;npm run build 成功
This commit is contained in:
AskaEth committed 2026-10-04 12:45:36 +08:00
1 parent fa33c79e11
commit 3972ea4007
4 files changed
+51 -6

No files matched your search

@@ -1,10 +1,6 @@
import { useState } from "react";
import { useAsyncData } from "../../../lib/useAsyncData";
import { isNotImplemented } from "../../../lib/api";
// 目录端点是本页新引入的调用;按仓库惯例它本该落在 lib/api/admin.ts 里,
// 但本批次只允许改 Llm.tsx(+ 本文件),因此经 lib/api 的传输层直接调用
// (信封解包 / 401 处理与其余端点一致)。
import { request } from "../../../lib/api/core";
import { adminGetLlmCatalog, isNotImplemented } from "../../../lib/api";
import type { AdminLlmProvider } from "../../../lib/types";
import { Notice } from "../../components";
import { Button, Surface, Tag } from "../../../components/primitives";
@@ -382,7 +378,7 @@ export function CatalogPanel({ onPick }: { onPick: (draft: AdminLlmProvider) =>
const [refreshSeq, setRefreshSeq] = useState(0);
const force = refreshSeq > 0;
const { data, error, loading } = useAsyncData(
() => request<unknown>(force ? "/admin/llm/catalog?refresh=1" : "/admin/llm/catalog"),
() => adminGetLlmCatalog({ refresh: force }),
[refreshSeq]
);
const [pasted, setPasted] = useState<CatalogProvider[]>([]);