- 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)
- StatusTag: 通用状态标签(预约/随访/咨询/患者状态) - PatientSelect: 患者远程搜索选择器 - DoctorSelect: 医护远程搜索选择器 - VitalSignsChart: ECharts 趋势图(可切换指标) - CalendarView: 日历视图(排班展示) - ChatBubble: 聊天气泡(角色区分左右布局) - ImagePreview: 图片预览(Ant Design Image.PreviewGroup) - ExportButton: 导出按钮(blob 下载)