# 帮助中心 PC 接口对接计划
目标:把现有 `help.html` 的示例问答替换为后端正式 PC 帮助文章列表和详情,不混入官网文章、推广或家谱业务。
## 全局约束
- 只调用 `GET /genealogy/pc/help-articles` 和 `GET /genealogy/pc/help-articles/{helpId}`。
- 后端控制器未标记匿名访问,部署环境要求登录;两个接口发送当前 PC token。
- `helpCategory` 是唯一 Query 字段;`helpId` 只能来自列表响应。
- 展示字段仅为 `helpCategory`、`helpTitle`、`helpContent`、`viewCount`。
- `coverOssId`、`sortOrder`、`status`、`remark` 不展示,不允许用户输入 ID。
- 正文转义后展示,不执行响应中的 HTML。
- 后端项目只读。
## 任务 1:冻结客户端契约
- 在 `tests/api-client-contract.test.js` 先增加失败测试。
- 在 `utils/ApiClient.js` 增加 `helpArticles(query)` 与 `helpArticleDetail(helpId)`。
- 验证 method、path、Query 白名单、登录鉴权和长 ID 字符串。
## 任务 2:实现帮助文章边界
- 新增 `tests/help-pages.test.js` 并先观察失败。
- 新增 `public/js/help-pages.js`。
- 校验完整 `HelpArticleVo` 输入,只向页面返回安全展示字段。
- 列表任一元素非法时整批失败;详情必须与请求 ID 一致。
- 转义标题、分类和正文。
## 任务 3:开放帮助中心
- 先用页面契约测试证明现有示例内容不符合真实接口状态。
- 修改 `help.html`,提供加载、空、成功和失败状态。
- 展开文章时调用详情接口,不制造编辑、邀请或后台操作。
## 任务 4:规划与验证
- 更新 `docs/PC接口对接规划.md` 的字段来源、页面时机与阶段 7 进度。
- 运行帮助中心专项测试、全量测试、语法检查和 `diff --check`。
- 浏览器验证真实列表/空状态和控制台。