# 帮助中心 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`。 - 浏览器验证真实列表/空状态和控制台。