Files
kefu/deploy/review-picker-20260918/FRONTEND-VALIDATION.md
T
2026-09-21 10:34:06 +08:00

2.3 KiB
Raw Blame History

已配置助理收件人显示

两目录均完成:

  • 单独展示“已配置收件人”卡片,突出已读取的 displayName;兼容旧字段 name。
  • nameKnown=false、空昵称,或旧对象通用名“微信联系人”时,明确显示“昵称未读取,请核对联系编号”。不从编号或标签推断姓名。
  • 单列显示完整联系编号,支持换行;不使用省略号或隐藏溢出。未选择时明确显示“未配置收件人”。
  • 保留原提醒开启状态、不可用原因、刷新/选择/开关按钮状态及桥接调用。
  • 名称和编号均通过现有 esc 转义。
  • 两份 HTML 仅将 JS/CSS query 更新为 review-picker2。

范围核验:JS 除 reviewAssistantPanel 函数外的内容完全一致;CSS 仅追加收件人专用规则;HTML 字节差异仅为两处 cache query。备份位于 frontend-before,最终 SHA-256 和差异位于 frontend-files.json、*-console-*.diff。

离线验证使用 Chromium 与模拟 bridge,阻断网络:

  • 默认两目录共 128 项 DOM 断言通过,生成 8 张截图。
  • 1x:1280×1000 CSS 视口;2x:960×850 CSS 视口,各覆盖可识别姓名和未知昵称。
  • 验证完整编号、200 位长编号换行、恶意 HTML 字符串转义、旧对象兼容、显式未知标记、未选择/busy/不可用状态、按钮真实触发原 bridge 名称与账号参数。
  • 已查看命名 1x、未知昵称 2x 截图;姓名和编号层级明确、没有裁切。
  • 自定义资源根目录入口额外 64 项通过,可复用到冻结包 _internal。

入口:test-review-panel.cjs。默认报告:panel-dom-results.json(status=passed、checks=128、screenshots=8)。

冻结包测试设置环境变量 REVIEW_PANEL_ROOT 为包含 assets/ui 的目录,REVIEW_PANEL_TAG=frozen;报告输出 panel-dom-results-frozen.json,预期 64 项断言及 4 张截图。

主要截图:

  • recipient-production-named-1x.png
  • recipient-production-named-2x.png
  • recipient-production-unknown-1x.png
  • recipient-production-unknown-2x.png
  • recipient-source-named-1x.png
  • recipient-source-named-2x.png
  • recipient-source-unknown-1x.png
  • recipient-source-unknown-2x.png

未启动真实主程序、未发送消息、未修改用户配置。