fix: 联合调试问题修复 — 预约错误提示 + request 错误提取 + copilot 解包

- ISSUE-APPOINTMENT-001: 后端 DoctorNotFound 改为 Validation 错误(400)
  + 改善错误消息"所选医生暂无医护档案,请联系管理员"
  + 小程序预约创建 catch 传递实际错误消息(不再硬编码"预约失败")
  + 小程序 request.ts 提取后端 message 字段作为用户提示
- copilot API: listInsights/listRules/getPatientRisk 补齐 data.data 解包
- 移除 error.rs 重复的 AppointmentNotFound 分支
This commit is contained in:
iven
2026-05-15 15:25:26 +08:00
parent 057d9b5896
commit 4ca9027cd6
4 changed files with 21 additions and 14 deletions

View File

@@ -36,18 +36,20 @@ export interface CopilotInsight {
// --- API Functions ---
export function getPatientRisk(patientId: string) {
return client.get<RiskScore>(`/copilot/patients/${patientId}/risk`);
export async function getPatientRisk(patientId: string) {
const { data } = await client.get<{ success: boolean; data: RiskScore }>(`/copilot/patients/${patientId}/risk`);
return data.data;
}
export function listInsights(params: {
export async function listInsights(params: {
patient_id?: string;
insight_type?: string;
severity?: string;
page?: number;
page_size?: number;
}) {
return client.get<PaginatedResponse<CopilotInsight>>('/copilot/insights', { params });
const { data } = await client.get<{ success: boolean; data: PaginatedResponse<CopilotInsight> }>('/copilot/insights', { params });
return data.data;
}
export function dismissInsight(id: string) {
@@ -58,6 +60,7 @@ export function listAlerts(params?: { severity?: string; page?: number; page_siz
return listInsights({ insight_type: 'anomaly', ...params });
}
export function listRules(params?: { page?: number; page_size?: number }) {
return client.get<PaginatedResponse<Record<string, unknown>>>('/copilot/rules', { params });
export async function listRules(params?: { page?: number; page_size?: number }) {
const { data } = await client.get<{ success: boolean; data: PaginatedResponse<Record<string, unknown>> }>('/copilot/rules', { params });
return data.data;
}