# Web 前端核心业务功能测试 > 测试工具: chrome-devtools MCP | 环境: Chrome, 1920x1080 > 测试账号: admin / Admin@2026 | 截图: `docs/qa/screenshots/` ## 1. 登录流程 — PASS | 测试项 | 结果 | 说明 | |--------|------|------| | 登录页渲染 | PASS | 双栏布局,品牌信息完整 | | 登录后跳转 | PASS | 跳转至工作台 `/#/` | | 侧边栏菜单 | PASS | 7 个一级菜单加载(工作台/患者中心/随访关怀/健康监测/运营管理/AI助手/系统管理) | | 用户信息显示 | PASS | 右上角"系统管理员" + 头像 | | 权限不足页面 | PASS | 403 页面清晰,含返回首页按钮 | | XSS 安全 | PASS | SQL 注入测试数据 `Robert"); DROP TABLE patients;--` 正确转义显示 | ## 2. 患者管理 — FAIL (2 issues) | 测试项 | 结果 | 说明 | |--------|------|------| | 患者列表加载 | PASS | 136 条记录,7 页分页 | | 分页切换 | PASS | 第 2 页数据正确 | | 创建表单打开 | PASS | 4 个分组(基本信息/联系方式/医疗信息/紧急联系人) | | 编辑表单 | PASS | 预填充已有数据 | | **空表单提交** | **FAIL** | 空表单成功提交创建患者(后端有校验但前端未拦截) | | **搜索功能** | **FAIL** | 输入 "Test" 搜索后列表仍显示全部 136 条 | ### H-01: 患者创建表单缺少前端必填校验 - **严重性:** HIGH - **证据:** 点击"保存"空表单后审计日志显示"创建 了 患者" - **根因:** Ant Design Form 未配置 `rules: [{ required: true }]` 或未调用 `form.validateFields()` - **修复:** 在 `PatientList.tsx` 的 DrawerForm 中添加 `rules` 配置,提交前调 `form.validateFields()` - **预计工时:** 1h ### M-01: 患者搜索不生效 - **严重性:** MEDIUM - **证据:** 搜索框输入 "Test" + 回车,列表无变化 - **根因:** 搜索框 `keyword` 参数可能未正确传递到 API 请求 - **修复:** 检查搜索输入与 API 参数绑定 - **预计工时:** 2h ## 3. 健康数据/实时监控 — PASS | 测试项 | 结果 | 说明 | |--------|------|------| | 实时监控页 | PASS | 危急/高危/中等/低危告警计数正确 | | 告警面板 | PASS | 1 个高危患者活跃告警 | | 告警列表 | PASS | 5 条告警记录,状态/严重程度正确 | | 筛选功能 | PASS | 患者下拉框存在 | ## 4. 预约管理 — FAIL (1 issue) | 测试项 | 结果 | 说明 | |--------|------|------| | 预约列表页渲染 | PASS | 表头正确(患者/医护/类型/日期/时段/状态/创建时间/备注/操作) | | **预约数据** | **FAIL** | 表格显示 "No data" + "网络连接异常,请检查网络" | | 新建预约按钮 | PASS | 按钮可见 | ### H-02: 预约列表 API 网络连接异常 - **严重性:** HIGH - **证据:** 页面显示"网络连接异常"No data"同时出现 - **根因:** 可能是后端 API 错误或前端 API 路径不匹配 - **修复:** 检查 `/api/v1/health/appointments` 端点状态和前端 API 路径 - **预计工时:** 2h ## 5. 咨询管理 — PASS | 测试项 | 结果 | 说明 | |--------|------|------| | 咨询列表加载 | PASS | 18 条咨询记录 | | 状态显示 | PASS | 已关闭/进行中/等待中正确 | | 操作按钮 | PASS | 进行中的会话显示"关闭"按钮 | | 未读消息计数 | PASS | 患者端/医护端分别显示 | | 筛选/导出 | PASS | 状态筛选、日期范围、导出按钮均存在 | ## 6. 工作台/仪表盘 — PASS_WITH_ISSUES | 测试项 | 结果 | 说明 | |--------|------|------| | 工作台首页 | PASS | 6 大状态卡片 + 统计 + 模块状态 + 活跃度 | | 系统状态 | PASS | PostgreSQL/API/定时任务/文件存储/消息队列/缓存 全绿 | | 统计数据 | PASS | 注册用户 27/今日活跃 4/本周 9/月活 18 | | 最近操作 | PASS | 实时显示登录/创建/删除操作 | | 通知面板 | PASS | 危急值告警和待办事项正常 | | 侧边栏折叠 | PASS | 折叠后仅图标,悬停展开子菜单 | | **Admin Dashboard** | **FAIL** | `/#/health/admin-dashboard` 显示 403 | ### M-02: Admin Dashboard URL 直接访问 403 - **严重性:** MEDIUM - **说明:** AdminDashboard 组件存在但路由未注册,该页面可能仅作为工作台内嵌组件使用 - **修复:** 移除直接访问路径或正确注册路由并配置权限 - **预计工时:** 1h ## 7. 主题切换 — PASS (4/4) | 主题 | 结果 | 说明 | |------|------|------| | 信任蓝(默认) | PASS | 蓝色系侧边栏 | | 深邃夜色 | PASS | 深色侧边栏和页头 | | 翡翠清雅 | PASS | 绿色系 | | 温润东方 | PASS | 暖色调 | | 持久化 | PASS | localStorage `hms-theme` 保存,刷新后保持 | ## 8. 控制台警告 | 类型 | 消息 | 严重性 | |------|------|--------| | WARN | `[antd: Drawer] width is deprecated. Please use size instead.` | LOW | | WARN | `[antd: List] component is deprecated. And will be removed in next major version.` | LOW | ## 小结 - **完全通过领域:** 5/8(登录/健康数据/咨询/工作台/主题) - **存在问题领域:** 3/8(患者管理/预约/仪表盘路由) - **HIGH 问题:** 2 个 | **MEDIUM 问题:** 2 个 | **LOW 问题:** 2 个