From dbc9512c8bc6695a7885547aecf430c3de3b5068 Mon Sep 17 00:00:00 2001 From: Wenyan Date: Tue, 25 Nov 2025 20:20:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(rule-groups):=20=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E5=88=9B=E5=BB=BA/=E7=BC=96=E8=BE=91=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=B8=BA=20FastAPI=20v3=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更内容: 1. 补充重命名 getRuleGroup → getRuleGroup_legacy (rule-groups.ts) 2. 更新导入语句,使用新的 FastAPI v3 函数 (rule-groups.new.tsx) 3. 替换所有函数调用: - getRuleGroups → getEvaluationPointGroups (2处) - getRuleGroup → getEvaluationPointGroup - createRuleGroup → createEvaluationPointGroup - updateRuleGroup → updateEvaluationPointGroup 影响范围: - app/api/evaluation_points/rule-groups.ts (补充遗漏的重命名) - app/routes/rule-groups.new.tsx (创建/编辑页面) 功能: - 分组创建、编辑、编码唯一性验证 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app/api/evaluation_points/rule-groups.ts | 3 ++- app/routes/rule-groups.new.tsx | 28 ++++++++++++------------ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/api/evaluation_points/rule-groups.ts b/app/api/evaluation_points/rule-groups.ts index 0aab915..b7832c3 100644 --- a/app/api/evaluation_points/rule-groups.ts +++ b/app/api/evaluation_points/rule-groups.ts @@ -363,11 +363,12 @@ export async function getAllRuleGroups_legacy(token?: string): Promise<{data: Ru /** * 获取单个评查点分组详情(包含评查点数量统计) + * @deprecated 使用 getEvaluationPointGroup 代替(FastAPI v3) * @param id 分组ID * @param token JWT token (可选) * @returns 分组详情 */ -export async function getRuleGroup(id: string, token?: string): Promise<{data: RuleGroup; error?: never} | {data?: never; error: string; status?: number}> { +export async function getRuleGroup_legacy(id: string, token?: string): Promise<{data: RuleGroup; error?: never} | {data?: never; error: string; status?: number}> { try { if (!id) { return { error: '分组ID不能为空', status: 400 }; diff --git a/app/routes/rule-groups.new.tsx b/app/routes/rule-groups.new.tsx index ad59e11..f754ed2 100644 --- a/app/routes/rule-groups.new.tsx +++ b/app/routes/rule-groups.new.tsx @@ -6,13 +6,13 @@ import { Button } from "~/components/ui/Button"; import { Card } from "~/components/ui/Card"; import { toastService } from "~/components/ui/Toast"; import ruleGroupsNewStyles from "~/styles/pages/rule-groups_new.css?url"; -import { - getRuleGroups, - getRuleGroup, - createRuleGroup, - updateRuleGroup, +import { + getEvaluationPointGroups, + getEvaluationPointGroup, + createEvaluationPointGroup, + updateEvaluationPointGroup, type RuleGroup as ApiRuleGroup, - type RuleGroupCreateUpdateDto + type RuleGroupCreateUpdateDto } from "~/api/evaluation_points/rule-groups"; // 类型定义 @@ -100,13 +100,13 @@ export async function loader({ request }: LoaderFunctionArgs) { // console.log("获取到的ID参数:", id); // 获取一级分组列表 (用于选择父级分组) - // 🆕 使用增强的 getRuleGroups API,仅获取一级分组且已启用的分组 - const parentGroupsResponse = await getRuleGroups({ + // 🆕 使用 FastAPI v3 的 getEvaluationPointGroups API,仅获取一级分组且已启用的分组 + const parentGroupsResponse = await getEvaluationPointGroups({ pid: null, // 仅获取一级分组(pid为null表示顶级分组) is_enabled: true, // 仅获取已启用的分组 pageSize: 100, // 获取足够多的分组 token: frontendJWT - }); + }, frontendJWT); if (parentGroupsResponse.error) { console.error("获取父分组列表失败:", parentGroupsResponse.error); throw new Error(parentGroupsResponse.error); @@ -122,7 +122,7 @@ export async function loader({ request }: LoaderFunctionArgs) { // 如果有ID,获取分组详情 if (id) { - const groupResponse = await getRuleGroup(id, frontendJWT); + const groupResponse = await getEvaluationPointGroup(id, true, frontendJWT); if (groupResponse.error) { console.error("获取分组详情失败:", groupResponse.error); throw new Error(groupResponse.error); @@ -207,9 +207,9 @@ export async function action({ request }: ActionFunctionArgs) { // 根据是否有ID决定是创建还是更新 let response; if (id) { - response = await updateRuleGroup(id, saveData, frontendJWT); + response = await updateEvaluationPointGroup(id, saveData, frontendJWT); } else { - response = await createRuleGroup(saveData, frontendJWT); + response = await createEvaluationPointGroup(saveData, frontendJWT); } // 处理API响应 @@ -328,11 +328,11 @@ export default function RuleGroupNew() { try { setCodeValidating(true); - const response = await getRuleGroups({ + const response = await getEvaluationPointGroups({ code: code.trim(), pageSize: 10, token: data.frontendJWT - }); + }, data.frontendJWT); if (response.error) { console.error("验证编码唯一性失败:", response.error);