Files
prop-ai-hr/docs/FIGMA需求覆盖与版本偏差审计-20260717.md

272 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Figma 需求覆盖与版本偏差审计
> 生产状态更新(2026-07-18):本文记录的 Figma 修复、代码恢复和新增学习能力已随 `32fa376d` 发布。管理端/H5/后端产物、21 个迁移、目标 schema 与关键生产页面已经验证;正式 OTP 写链路、真实手机权限、外部模型和严格试点仍未验收。文中带日期的“本轮未发布”仅描述当时批次,不再代表当前现网。
>
> 后续边界更新(2026-07-21):工作助手确认式采集已实现并部署;本文“个人 AI 助理未实现”仅继续适用于个人文件/网页、独立个人知识空间、分享和 PPT 等完整页面。项目名称选择、今日工作成果和主管项目汇总仍按[后续迭代计划](工作助手与今日工作成果迭代计划-20260721.md)管理。
>
> 历史快照说明(2026-07-24):本文关于管理端常见难题等页面的浏览器证据仅指当时批次;当前“练”模块的入口和身份边界以[《AI陪练完整交付计划》](AI陪练完整交付计划-20260724.md)和[API 集成契约](API_INTEGRATION.md)为准。
> 日期:2026-07-17
> Figma 文件:[银城员工端与个人 AI 助理设计](https://www.figma.com/design/30hFiKtieGYraOZvJPJcPd)
> 对照范围:历史可运行移动端 `mobile/`、已确认业务文档、Figma 实际画板、当前权威工程 `mobile-uni/`。
> 验证边界:本轮通过 Figma 插件只读检查实际节点,没有修改设计稿;代码结论来自当前工作树,不代表已经发布到线上。
## 1. 审计结论
客户对问题原因的判断**基本成立,但根因不只是“Figma 少画了功能”**。真正的问题是此前没有规定功能事实源、视觉事实源和实现事实源的优先级,导致“对标 Figma”被错误理解成“Figma 画了什么就只做什么”。
Figma 当前存在五类风险:
1. **需求遗漏导致版本回退**:历史可运行版已有的问师傅语音输入、回答播报、总结卡播报,没有在对应 Figma 闭环中完整表达。若只照画板开发,旧能力会自然消失。
2. **视觉完成被误当成功能完成**:Figma 索引写着“设计冻结完成”,但该冻结只覆盖页面、图层、字体、越界和颜色一致性,不代表历史需求全部进入画板,也不代表接口和业务闭环完成。
3. **阶段混放导致范围误判**:阶段一陪练、阶段二个人 AI 助理/开放问题榜、三期量化和游戏化共存于同一文件和同一索引,缺少醒目的阶段、批准状态和本期状态标记。Codex 既可能漏做旧功能,也可能把后续页面提前拉入当前主线。
4. **同页变体已经发生结构漂移**:同一个页面的“可编辑/标准/大字/超大字”并非相同内容的字号变化,而是模块、数据、顺序和导航状态不同,无法判断哪张才是开发基线。
5. **设计审计结论自身已经失真**:索引页数和画板数无法复算,默认图层名、小字号、越界与遮挡并未清零,连“页面对照审计”画板本身也发生裁切,因此“设计冻结完成”不能继续作为研发放行结论。
所以,今后不能再把 Figma 单独作为功能需求真值。正确口径是:**业务文档决定做什么,Figma 决定怎么呈现,代码和运行证据决定实际做到了什么。**
## 2. Figma 实际证据
本轮直接读取了以下正式节点:
| Figma 节点 | 实际内容 | 审计判断 |
|---|---|---|
| `4:16` 页面|我 | 包含 `7:2` 可编辑版和标准/大字/超大字三张字号版;可编辑版与字号版信息架构不同,超大字版与底栏重叠 | 字号需求已经进入 Figma,但四张画板不能视为同一页面的有效变体;详见第 9 节 |
| `101:3` 设计索引与一致性审计 | 标注“78 原页面、70 正式画板、0 空业务页、设计冻结完成”;冻结说明集中在页面、图层、字体、溢出和颜色 | 这是**视觉与文件卫生审计**,不是需求覆盖审计;没有需求 ID、来源版本、阶段和实现状态 |
| `23:3` 员工端今日 | 明确同时展示“问老师傅·语音提问,快速解答”和“打字问”;还展示学习中心、工作上报 | Figma 明确承诺了语音入口;同时把阶段二/三入口放进阶段一首页,容易造成范围混淆 |
| `54:2` 正式语音对练 | 有“按住说话”和切换文字输入,包含情绪/信任、SOP 求助、红线和风格重生成 | 训练语音设计较完整,但不能代替问师傅、题目、点评等其他页面的语音覆盖 |
| `61:530` 主管训练任务派发 | 明确显示 3 名员工、多选删除、训练类型、专项包、截止时间、任务目标和“确认派发给 3 人” | 多人派发和截止时间已经是明确 Figma 要求;当前实现只有单人、场景和原因 |
| `79:11` SOP 回答结果 | 有问题、结论、三步操作、可用话术、引用、视频、有帮助/没解决/收藏 | 对应画板没有回答播报、总结卡播报和下载图片控件;只照此画板会遗漏历史语音优势和新增下载要求 |
| `95:6` 开放问题榜 | 有“今天遇到什么难题了”“有奖征问题”、热门/待回答/有悬赏/我参与的和奖励规则 | 原属阶段二,不能仅因 Figma 已画就算阶段一缺陷;2026-07-17 客户明确要求一并实现后,已作为批准的范围例外开发并发布 |
还有两处文件内部口径冲突:
- `FIGMA_DESIGN_INVENTORY.md` 顶部仍把员工端“问”和“我”标记为 `[-]`,说明业务状态不完整;同一文件后部却写“设计冻结完成”。
- `FIGMA_IMPLEMENTATION_MATRIX.md` 曾把训练任务派发行标为“已实现”,当时 `mobile-uni/src/pages/supervisor/assign/index.vue` 只有单员工选择、没有截止时间。2026-07-17 晚间补齐多人、截止快捷项和批量接口,2026-07-18 已随当前版本发布;生产正式团队仍待验收。
## 3. 四方功能对照
| 功能 | 历史可运行版/文档要求 | Figma 表达 | 当前实现 | 客观结论与动作 |
|---|---|---|---|---|
| 问师傅语音输入 | 旧 `mobile/src/App.vue` 有语音录制/选择音频并转写;产品方案也明确“语音提问” | 首页 `23:3` 明确写“语音提问”,但未形成完整提问、转写、失败和重试状态画板 | 已恢复录音、转写、选择音频兜底,继续复用 `speech.ts` 与 `/api/ai/asr` | **确认回退已恢复并部署**:Figma 仍需补录音、识别、失败和文件兜底状态;真机权限待验收 |
| SOP 回答播报 | 旧版有“听一遍” | `79:11` 无播报控件 | 已补回答播报并发布 | **Figma 遗漏、代码已恢复**:保留功能并补设计,不得为了贴图删掉 |
| 总结卡播报 | 旧版有总结卡 TTS;总纲写“语音播报(能力已有)” | 对应清单/画板未体现完整播报状态 | 已补总结卡播报并发布 | **Figma 遗漏、代码已恢复**:补播放/停止/生成失败状态 |
| 总结卡下载图片 | 旧版无充分证据;本轮客户新增 | Figma 未体现下载控件 | 已补 PNG 下载,无聊天模型时按真实 SOP 原文降级生成;浏览器已触发下载成功提示 | **已实现并部署**:仍需补 iOS/Android H5 下载状态设计与真机验收 |
| 全局字号调节 | 未找到旧版开关;客户为老年员工新增明确要求 | `4:16` 已修为标准/大字/超大字三张同构画板 | 已实现全局三档、持久化与响应式自增高;400×900 已逐档截图复核 | **已实现、视觉验证并部署**:继续做真机触控、键盘和读屏验收 |
| 主管多人派发 | 未证明旧版可运行;客户本轮再次明确 | `61:530` 明确选择 3 人并批量确认 | 已支持姓名多选、最多 100 人、逐人结果、幂等请求与失败隔离;本地真实提交 2/2 成功 | **已实现并部署**:生产继续验证大团队权限与超时重试 |
| 截止时间/快捷日期 | 历史计划要求训练任务有截止时间;客户细化为今天/明天/3天/7天 | `61:530` 有精确截止时间,没有快捷日期控件 | 已增加 `dueDate` 及当天/明天/3天/7天快捷项,并在逐人结果显示到期日 | **已实现并部署**:补设计状态并复验生产时区边界 |
| 每日题每日变化/专项不重复 | 文档要求覆盖岗位常见场景和动态训练 | Figma 主要画页面结果,没有内容版本、日期派发、去重和降级规则 | 五岗位题库按日期、岗位和员工身份轮换,并保存内容版本、快照和哈希 | **非视觉型缺口已实现并部署**:继续做正式内容审核和长期样本审计 |
| 生成题目、AI 回复、点评播报 | 语音优先原则支持;不能证明旧版全部覆盖 | 对应画板没有形成全链路播报覆盖表 | 已覆盖每日题、AI 回复、点评、参考答案、训练结果与候选面试;无 TTS 模型时 H5 可降级设备语音 | **已实现并部署**:Figma 仍需形成内容类型/播放状态矩阵,真机待验收 |
| 主管切换学习端 | 客户明确主管也要学习;历史目标支持角色兼任 | Figma 分别画员工端和主管端,没有双模式切换入口及权限说明 | 已实现“工作台/学习端”双向切换,显示模式变化但组织角色保持主管 | **已实现并部署,Figma 仍未覆盖**:补入口、返回路径与权限说明画板 |
| 岗位差异化内容 | 总纲要求岗位→SOP→场景→学习内容映射 | Figma 有多个岗位/角色页面,但没有展示内容分发规则和岗位覆盖表 | 五岗位场景和题库已发布,正式 SOP/资格规则仍未完整配置 | **部分实现**:用岗位内容矩阵和正式内容验收,不用“页面不同”代替“内容不同” |
| 问 AI(全网) | 旧版无;会议基线是企业内部知识 | 原设计索引未见独立外部 AI 入口、来源和免责声明 | 已与问师傅分入口/接口/来源并发布,提供方须测试后启用 | **新增范围已批准并实现**:Figma 仍需补来源、禁用、错误和免责声明状态;正式提供方待验收 |
| 图片/视频提问 | 历史文档列为新增/后置情境能力 | `79:11` 有回答侧视频内容,但没有提问附件上传流程 | 已补本次查询的图片/视频附件分析并发布 | **设计仍需追齐**:补权限、PII 外发、大小/失败状态,真机待验收 |
| 开放问题榜/有奖问答 | 原总纲列阶段二,2026-07-17 客户明确要求一并实现 | `95:6` 等画板已完整设计 | 提问、回答、审核、最佳答案、积分/学分已实现并发布 | **范围例外已落地**:正式运营规则和认证写链路待验收;不含现金/提现 |
| 个人 AI 助理/个人资料库 | 2026-07-11 新增,明确阶段二;2026-07-19 增加确认式采集 | Figma 已有完整画板组 | “记一下”确认式采集已实现并部署;个人文件/网页资料库、发布审核、汇报/PPT 未实现 | **阶段混放风险**:不得用整组“已实现”或“未实现”概括;当前能力按专项 TechSpec 验收,后续能力另建阶段二验收表 |
## 4. 根因判断
问题链路更准确地描述为:
```text
历史需求和旧版能力没有先形成可追踪清单
→ Figma 主要完成视觉与页面状态,遗漏非视觉规则和部分旧交互
→ Figma 又把多个阶段放在同一索引,且标记“设计冻结完成”
→ 给 Codex 的指令只写“对标 Figma”
→ Codex 把 Figma 当成功能全集
→ 已画但后置的能力被误判为当前范围,没画的旧能力被误判为可以删除
```
因此,本次问题属于**需求追踪和指令约束失败**,不是单一前端页面实现失误。
## 5. 今后的事实源优先级
| 决策问题 | 第一事实源 | 第二事实源 | 禁止做法 |
|---|---|---|---|
| 本期做什么、哪些不能做 | 已确认 BRD、分阶段总纲、版本功能对比清单 | 客户确认的变更单 | 看到 Figma 画板就自动纳入当前阶段 |
| 功能怎么交互、页面怎么呈现 | 已标注需求 ID 和阶段的 Figma 正式画板 | 现有设计变量与组件 | 用 Figma 缺失作为删除旧功能的依据 |
| 当前代码有什么 | `mobile-uni/`、后端接口和测试 | 历史 `mobile/` 仅作版本回溯 | 用旧版截图代替当前实现判断 |
| 线上是否生效 | 生产包、真实账号、真实接口和浏览器回归 | 发布记录与构建 hash | 把“本地已写”表述成“客户已可用” |
发生冲突时:
- 功能范围:已确认业务文档和变更单高于 Figma。
- 视觉交互:本期正式 Figma 高于开发者自由发挥,但不能覆盖已确认功能。
- 线上状态:真实运行证据高于源码、文档和设计稿。
- 无法判断时:标记冲突并请求产品确认,不允许自行删功能或跨阶段扩张。
## 6. Figma 必须补的需求追踪层
不要求重画全部页面,先在索引和关键画板增加以下字段:
| 字段 | 示例 | 用途 |
|---|---|---|
| 需求 ID | `ASK-VOICE-001` | 与版本功能清单和验收用例一一对应 |
| 来源 | 旧版可运行 / BRD §4.3 / 2026-07-17 客户新增 | 防止把客户记忆、规划和已交付混为一谈 |
| 阶段 | 阶段一 P0 / 阶段二 / 三期 | 防止 Codex 把后续画板拉入当前主线 |
| 状态 | 已批准 / 待确认 / 已取消 | 区分正式需求和概念设计 |
| 功能覆盖 | 完整 / 部分 / 未覆盖 | “画板完成”不能代替“需求完整” |
| 实现状态 | 未开发 / 本地已实现 / 已发布 / 生产已验证 | 避免设计状态与工程状态串线 |
| 依赖 | ASR、TTS、组织身份、正式内容 | 让页面背后的接口和业务数据可验收 |
需要优先补画或补状态的页面:
1. 问师傅语音录制、识别中、失败、选择音频兜底。
2. SOP 回答和总结卡的播放、停止、失败、下载状态。
3. 主管多人选择、截止快捷项、逐人派发结果。
4. 修正已有标准/大字/超大字画板:保持模块、数据语义、顺序和 Tab 状态一致,只允许字号、行高和容器高度变化。
5. 主管“工作台/学习端”双模式。
6. “问师傅(企业知识)”与“问 AI(外部信息)”的来源、权限和风险区分。
## 7. 给 Codex 的新指令模板
后续每轮 UI 开发至少带上以下约束:
```text
功能事实源:<BRD/版本功能清单的章节与需求 ID>
视觉事实源:<Figma 文件与 node id>
本次阶段:<阶段一/P0 等>
本次必须保留的历史能力:<语音输入、播报、降级链等>
本次明确不做:<阶段二/三页面>
冲突规则:Figma 未画不等于可以删除;Figma 已画不等于本期必须开发。
验收:功能、视觉、接口、真实账号、发布状态分别记录。
```
仅写“按照 Figma 还原”是不合格指令,因为它无法约束版本连续性、接口规则、阶段边界和线上状态。
## 8. 立即执行顺序
1. 给已确认项补齐需求 ID、来源、阶段和功能覆盖状态,并回写 Figma 索引。
2. 用正式 OTP 完成员工、主管、候选人和后台角色正反例,不用开发固定验证码替代。
3. 在真实手机复验语音、附件、下载、三级字号、键盘和读屏。
4. 由业务审核五岗位题库/SOP/资格、问题榜积分规则和全网 AI 正式提供方。
5. 个人 AI 助理、完整徽章荣誉和完整偏好仍按后续阶段管理。
6. 每批分别记录“本地实现、功能验证、视觉验证、已发布、生产验证、正式业务验收”。
## 9. 补充抽查:`页面|我` 不是有效的字号变体组
客户抽查的 Figma 页面为 `4:16`。插件读取后确认以下问题:
| 问题 | 可编辑版 `7:2` | 字号版 `178:959` / `196:45` / `196:104` | 严重性 |
|---|---|---|---|
| 信息架构不同 | 显示与辅助 → 成长摘要 → 成长路径 → 成长证据包 → 最近练过 | 成长摘要 → 成长记录 → 显示与辅助 → 账号与安全 | **阻塞**:不是同一页面的字号变体 |
| 指标语义不同 | 4 个指标实例全部显示“综合能力”,截图值均为 86 | 成长分 81、训练次数 3、主管建议 1 | **阻塞**:组件属性未正确覆盖,示例数据也不一致 |
| 功能数量不同 | 有成长路径、证据包、最近训练 | 三项全部消失,新增成长记录和账号安全 | **阻塞**:切换字号不能改变功能集合 |
| 超大字布局 | 无对应等价结构 | 账号卡 `y=728, h=104`,底栏从 `y=802` 开始,垂直重叠 30px | **阻塞**:与“字号调整后无裁切和越界”的审计结论冲突 |
| 底栏状态 | “我”高亮 | 字号版截图出现“今日”图标红色、“我”文字红色 | **高**:两个 Tab 同时呈现 active 状态 |
| 水平网格 | 主要卡片 `x=20, w=368`,左右留白为 20/12 | 主要卡片 `x=20, w=360`,左右留白为 20/20 | **中**:同页网格不一致 |
| 长内容承载 | 画板已设为纵向滚动且固定 2 个底栏节点,但最后一张卡片到底部没有预留 92px 安全区,最大滚动位置仍会被底栏覆盖 | 字号版同样是纵向滚动;超大字内容本身未超过画板高度,因而无法滚动消除账号卡与底栏的 30px 覆盖 | **高**:滚动属性存在,但底部安全区和超大字初始布局仍错误 |
当前 `mobile-uni/src/pages/user/profile/index.vue` 又是第三套结构:账号、岗位身份、成长摘要、成长证据包和最近练过均来自真实接口,但没有字号选择。这意味着现在不能任选 Figma 四张画板中的一张强行还原,否则必然删除现有功能或产生新的布局回退。
该页应立即标记为 **设计阻塞/不可开发**,整改只需要一个最小方案:
1. 先确认唯一功能结构,保留所有已批准且当前真实可用的模块。
2. 只维护一套 Auto Layout/组件结构,三档字号通过文本样式或变量模式切换,不再复制三张独立页面。
3. 三档字号使用相同字段、相同示例数据、相同模块顺序和唯一 active Tab。
4. 内容区允许滚动,固定底栏前预留底栏高度和安全区;以超大字版无重叠作为验收下限。
5. 修正后再让 Codex实现;修正前不得把 `4:16` 写进“正式视觉基线”。
### 9.1 `页面|我` 修复结果(2026-07-17)
已按当前真实功能和新增字号需求修复 Figma 正式画板,不再保留四张互相冲突的开发基线:
- 标准 `7:2`、大字 `253:131`、超大字 `253:188` 均包含账号、岗位身份、显示与辅助、成长摘要、训练画像、成长路径、成长证据包和最近训练,模块名称、字段语义和顺序一致。
- 三张画板统一为 400×886、左右 20px、卡片宽 360px;摘要示例值统一为训练综合分 78、已训练 3、待复盘 2、分钟 0。
- 三档分别应用“员工端字号”变量的标准/大字/超大字模式;字号选择卡的当前值和选中项同步切换,不再局部保留标准字号。
- 三张画板均为纵向滚动、固定 2 个底部节点,并在内容末尾增加 108px 安全占位;超大字不再与底栏重叠,底栏只高亮“我”。
- 修复前四张画板已复制为隐藏备份,根节点为 `251:119`、`251:299`、`251:358`、`251:417`。
- 修复后逐张重新生成 400×886 截图并人工查看,同时复核直接子节点网格、文字越界、字体族、最小字号和固定层;三稿首屏均未发现重叠或裁切。
因此 `4:16` 的状态由“设计阻塞”调整为 **Figma 视觉已修**;随后代码实现全局字号和持久化并完成本地视觉复核,2026-07-18 已随当前 H5 发布。真实设备触控、键盘和读屏仍是独立验收项。
## 10. 全文件批量质量审计(2026-07-17)
本轮不是继续抽样,而是先枚举根级页面,再逐页切换以绕过 Figma 跨页懒加载,最终确认当前文件包含 **81 个顶层页面、78 张以 `Screen/` 命名的顶层正式画板**。修复“我”页时已删除 1 张冗余冲突稿;随后为当前 78 张画板重新生成当次截图并逐张做人工视觉复核。检查项包括信息架构、栅格、字号与换行、固定底栏与安全区、长文案裁切、组件缩放、示例数据可信度、active/disabled 状态和管理端字符级换行。
### 10.1 文件级数字不一致
| 项目 | 索引 `101:3` 声明 | 插件逐页实测 | 判断 |
|---|---:|---:|---|
| 顶层页面 | 78 | 81 | 索引已过期,少计 3 页 |
| 正式画板 | 70 | 78 张当前 `Screen/` 画板 | 索引排除规则仍未写明,但当前总数可复算 |
| 默认图层名 | 0 | 修复前当前全量复扫为 10 个;重命名后为 0 | 当前已清零,早期“25 个/5 页”来自过期中间快照 |
| 可见文字最低字号 | 12px | 修复后 78 张画板中小于 12px 的可见文本为 0 | 当前达成;同时修复了头像缩放引入的 11.8px 文本 |
| 根级内容越界 | 0 | 修复后不可滚动根画板的直接内容越界为 0 | 当前达成;仍需在真实实现中验证滚动、键盘和动态数据 |
已修正的 6 处 11px 文字分别位于:
- `178:960` 主管端“我的工作台”:团队成员、待复盘、风险预警。
- `178:2` 员工端“学习首页”:待完成、今日完成、知识引用。
### 10.2 已确认的真实视觉缺陷
| 页面 / 节点 | 插件与截图证据 | 分级 | 处理 |
|---|---|---|---|
| 页面|我 `4:16` | 修复前四张字号画板结构漂移、指标错误、双 active、超大字重叠和末尾安全区不足;2026-07-17 已修为 `7:2` / `253:131` / `253:188` 三张同构稿并逐张截图复核 | **Figma 已修;代码已实现、部署** | 补真实设备触控、键盘、读屏和长数据回流验证,不再使用隐藏旧稿 |
| 页面|问 `21:3` | 修复前空回答态被固定底栏遮住 | **Figma 已修** | 内容末尾已增加 108px 安全占位并重新截图;真实实现仍验证长回答、键盘与滚动末尾 |
| SOP 反馈 `79:674` | 修复前底部说明被裁 6px | **Figma 已修** | 画板高度由 832 增至 860,完整说明已重新截图复核 |
| 案例语音上传 `79:706` | 修复前上传表单被裁 48px | **Figma 已修** | 画板高度由 860 增至 932,上传区完整显示并重新截图复核 |
| 工作积分排行榜 `90:91` | 修复前 6 行头像压住姓名,且全部使用“银城一号” | **Figma 已修;三期未实现** | 主行组件头像已按真实尺寸缩放,姓名改为可区分示例并重新截图复核 |
| 页面对照审计 `115:210` | 修复前末节被裁 116px | **Figma 已修** | 画板高度由 2200 增至 2364,末节完整显示并重新截图复核 |
逐图检查还发现并修正了:`87:770` / `87:815` / `87:865`、`90:867`、`93:824`、`95:782` / `95:826`、`97:5` / `97:823` 的横向裁切或错误换行;`90:2`、`91:2`、`93:940`、`95:858` 的指标、状态与表格元数据字符级换行;`91:765`、`97:823` 的徽章占位文案和荣誉页标签换行;`97:5` 周节奏列表的 100px 异常行高已收紧为 56px,画板高度由 1346px 收紧为 1056px。其余重复状态词(如“待复盘”“查看详情”)经截图复核属于正常列表结构,没有按缺陷计数。
### 10.3 对研发排期的影响
- **可以继续按业务文档开发**:没有列入上表的当前阶段页面;Figma 仍只负责视觉,不负责补齐算法、权限和接口规则。
- **已作为视觉实现基线并部署**:`4:16` 字号三档已修为同构稿,代码已补全局字号切换和持久化;真实设备的长内容、键盘、底栏与读屏仍待验收。
- **当前阶段 Figma 截断缺陷已修**:`21:3`、`79:674`、`79:706` 可作为新的视觉参考,但代码仍须以真实同尺寸截图和交互状态完成二次验收。
- **后续阶段边界**:开放问题榜和积分基础能力已按客户确认提前发布;工作积分排行榜、完整荣誉中心、个人 AI 助理等仍按阶段二/三管理。
- **索引必须更新后才能重新冻结**:当前真实口径为 81 页/78 张 `Screen/` 画板,结构复扫结果为默认 `Frame` 0、小于 12px 文本 0、根级越界 0;索引仍写 78/70,不能继续作为文件总数事实源。
### 10.4 修复后的再次复检边界
本轮将逐页视觉验收标准提升为“当次截图 + 版面 + 状态 + 可访问性风险”联合检查,不再把节点存在或图层数量当成视觉通过。调用额度恢复后,已重新枚举 81 个顶层页面、78 张当前 `Screen/` 画板,为 78 张画板逐一生成截图并人工检查;确定性缺陷修正后,又对 20 张受影响画板生成修复后截图复核,并对排行榜、荣誉墙和积分荣誉中心做第二轮细节截图复核。
当前完成层级必须严格区分:
- **Figma 结构复核**:78 张画板,默认 `Frame` 0、小于 12px 文本 0、不可滚动根级越界 0。
- **Figma 视觉复核**:78 张当次截图已逐张查看;本轮发现的裁切、头像重叠、占位数据和字符级换行已修并复截图。
- **代码实现/浏览器复核**:本轮没有修改移动端或管理端代码,不能把 Figma 修复写成代码已对齐;同尺寸实现截图、滚动、键盘、长数据、触控和读屏仍需单独验证。
- **当时的发布状态**:本段所述 Figma 批次当日没有发布;其后代码批次已于 2026-07-18 发布,当前状态以本文开头和 11.1 为准。
### 10.5 后续代码恢复与浏览器复核(2026-07-17 晚间)
上述“本轮没有修改代码”仅描述 Figma 设计修复批次。随后已完成一轮独立的代码恢复和浏览器复核:
- 以 400×900 视口对登录、员工今日、问师傅、练习、我的三级字号、主管工作台/学习端和专项派发进行当次截图检查;同时实际操作登录、身份模式切换、姓名多选、快捷日期、批量提交、SOP 查询、设备语音降级、总结卡生成与图片下载。
- “我”页三级字号保持同一功能结构,页面通过全局模式缩放和响应式布局自增高;超大字下关键页未见横向溢出、底栏遮挡或卡片重叠。
- 主管派发已用 2 名真实团队成员完成 2/2 成功提交;主管学习端已由主管登录态进入员工首页并可返回工作台。
- 总结卡在无聊天模型配置时只摘录相关 SOP 原文并标注来源,排除低相关片段;浏览器已显示下载成功提示。
- TTS 模型未配置时,H5 已从后端 TTS 自动切换到设备语音,按钮从“语音播报”进入“停止播报”,随后可手动停止。
该批次当时完成到 **本地实现、自动化验证、浏览器交互验证和视觉验证**;2026-07-18 已继续完成发布和生产基础验证,但真实手机上的麦克风/相册权限与读屏仍未验收。
## 11. 代码实现的逐页视觉复核(2026-07-18)
本轮在 Figma 文件质量审计之后,又对真实运行代码执行了独立视觉和交互验收,避免把“画板已修”误写成“代码已对齐”:
- 员工端覆盖今日、练习、问师傅、个人页、学习、全网 AI、问题榜/详情/发布、积分和考试;另覆盖超大字及 430px 宽度状态。
- 主管端覆盖工作台、团队、专项派发、个人页、考试列表、组卷和成绩页。
- 管理端使用真实登录后覆盖常见难题、问题榜运营抽屉和全网 AI 配置页,并实际点击问题记录打开审核详情。
- 运行结果共 24 个移动端状态和 3 个管理端页面:均无页面级横向溢出、控制台错误、失败请求或可见加载错误。
- 人工截图复核发现并修复了代码中的确定性问题:11px 业务文字、SOP 步骤号/问答徽标 8–10px、输入框盒模型溢出,以及问题榜四个筛选标签在标准/超大字下被裁切。
- Figma `95:6`、`95:782`、`95:826`、`95:858` 的问题榜/详情/最佳答案/管理稿已与真实实现逐项对照;代码保留相同信息层级,同时以当前组织身份、积分分账和审核接口为功能事实源。
当次证据保存在 `.data/visual-audit-20260718/runtime/`:`contact-employee-standard.png`、`contact-employee-accessibility.png`、`contact-supervisor.png` 和 `contact-admin.png`。这些证据只证明本地运行与视觉验证,仍不等于发布和生产验证。
### 11.1 生产发布复核(2026-07-18)
- 当前提交 `32fa376d` 的管理端、H5、后端和 21 个迁移已发布,目标 schema `34/34`、新增表排序规则兼容 `18/18`。
- 生产浏览器已查看管理端首页、常见难题、问题榜运营、知识空间、全网 AI 配置和 390×844 H5;最终无控制台或请求错误。
- 本次只完成生产包、schema、公开接口和关键页面验证。正式 OTP 下的移动端写操作、真机麦克风/文件/下载/读屏、外部模型和严格试点仍需单独验收。
## 12. 关联文档
- [员工端版本功能对比与功能对齐清单-20260717.md](员工端版本功能对比与功能对齐清单-20260717.md)
- [FIGMA_DESIGN_INVENTORY.md](FIGMA_DESIGN_INVENTORY.md)
- [FIGMA_IMPLEMENTATION_MATRIX.md](FIGMA_IMPLEMENTATION_MATRIX.md)
- [银城员工端APP分阶段实施总纲.md](银城员工端APP分阶段实施总纲.md)
- [20260708/数字师傅学练问报整合方案.md](20260708/数字师傅学练问报整合方案.md)