Files
hms/apps/miniprogram/src/services/patient.ts
iven 0bf1822fa9
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
fix: QA 第二轮修复 — PatientDetail 重构/测试覆盖/id_number 列宽/小程序 URL 规范化
- refactor(web): PatientDetail.tsx 拆分为 4 个子组件(737→334行)
- refactor(web): 提取 usePaginatedData hook 消除重复分页状态
- feat(db): patient.id_number varchar(20)→varchar(255) 容纳加密值
- test(health): 添加预约模块集成测试(创建/列表/租户隔离)
- test(plugin): 添加 6 个 SQL 注入 sanitize 测试
- fix(miniprogram): 7 个 service 文件 URL 构建规范化(params 对象)
- fix(miniprogram): 跨平台字段名对齐(birth_date/start_time/end_time)
2026-04-25 10:22:44 +08:00

43 lines
907 B
TypeScript

import { api } from './request';
export interface Patient {
id: string;
name: string;
gender?: string;
birth_date?: string;
phone?: string;
id_number?: string;
relation?: string;
version: number;
}
export async function listPatients() {
return api.get<{ data: Patient[]; total: number }>('/health/patients', {
page: 1,
page_size: 100,
});
}
export async function createPatient(data: {
name: string;
gender?: string;
birth_date?: string;
phone?: string;
id_number?: string;
}) {
return api.post<Patient>('/health/patients', data);
}
export interface PatientUpdateInput {
name?: string;
gender?: string;
birth_date?: string;
phone?: string;
id_number?: string;
relation?: string;
}
export async function updatePatient(id: string, data: PatientUpdateInput, version: number) {
return api.put<Patient>(`/health/patients/${id}`, { ...data, version });
}