WCM6 收口企业微信多手机移动渲染稳定化

这个提交包含在:
2026-05-11 21:45:49 +08:00
父节点 bded569d92
当前提交 e6c739ddd6
共修改 15 个文件,包含 664 行新增和 44 行删除
@@ -36,7 +36,7 @@
## 移动统一体验验收
- 移动验收不再只按 iPhone 11 和 Redmi K60 两个固定机型判断;先通过 320、360、375、390、393、414、430px 跨视口自动化证明响应式基线,再用代表性真机确认企业微信 WebView 行为。
- 移动验收不再只按单个固定机型判断;先通过 320、360、375、390、393、414、430px 跨视口自动化证明响应式基线,再用代表性真机确认企业微信 WebView 行为。当前 iOS 代表设备修正为 iPhone 12 / iOS 14.1 / 企业微信,Android 代表设备为 Redmi K60 / 企业微信。
- 所有移动页面使用同一套响应式体系:底部一级 Tab、首页图标宫格、卡片列表、深层 Push 页、顶部返回、吸底主操作和安全区预留。
- 深层页如报销详情、审批详情隐藏底部 Tab;一级页才显示“首页、审批、报销、我的”底部导航。
- 底部四项 Tab 必须等宽、可见、可点;不能被滚动层、卡片、安全区或遮罩覆盖。
@@ -96,7 +96,7 @@
| 工作台入口与免登录 | `oa_smoke_01` | `SMOKE002` | 从企业微信工作台进入 OA,已绑定后免登录 | 通过 | 用户确认;截图/录屏不提交仓库 |
| 提交人移动报销体验 | `oa_smoke_01` | `SMOKE002` | 移动首页、报销页、详情页、PDF 发票入口可用 | 公网自动视觉通过;真机核心链路通过 | `output/playwright/r5-live-mobile-wecom-visual/` |
| 审批人移动待办体验 | `oa_smoke_02` | `SMOKE101` | 移动审批待办、审批详情、结果反馈可用 | 公网自动视觉通过;真机审批与消息回流通过 | `output/playwright/r5-live-mobile-wecom-visual/` |
| 移动底部导航与深层页 | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 首页、审批、报销、我的固定可见;报销详情隐藏底部 Tab,吸底双按钮不遮挡 | `PAUSED`:公网自动视觉通过;用户反馈仍需系统性规约治理,真机验收暂缓 | `output/playwright/r6-mobile-responsive-system-hotfix/` |
| 移动底部导航与深层页 | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 首页、审批、报销、我的固定可见;报销详情隐藏底部 Tab,吸底双按钮不遮挡 | `PAUSED`:WCM6 本地自动视觉通过;公网部署和代表性真机确认待补 | `output/playwright/r6-wecom-mobile-rendering-hardening/` |
| 通知与 deeplink | `oa_smoke_01` / `oa_smoke_02` | `SMOKE002` / `SMOKE101` | 通知能回到移动待办或详情页 | 真机通过:收到个人应用消息,点击后首次需点进入工作台,后续可直达移动审批 | `output/playwright/r5-wecom-app-message-live/` |
自动化补充证据(用于审批链业务验收):
@@ -106,12 +106,12 @@
- `SMOKE001` 仅凭 `admin` 审批业务待办被拒绝,HTTP `403/PERM_002`。
- 小额报销经 `SMOKE101` 后进入 `finance` role;大额报销进入 `SMOKE101 -> ceo -> finance_mgr`,由 `SMOKE301/SMOKE302` 测试角色验证。
- 企业微信工作台、OAuth 绑定和提交人/审批人核心移动链路已有 `oa_smoke_01/oa_smoke_02` 真机通过;移动布局、PDF 上传、通知 deeplink 已完成公网自动视觉和真机确认,R5/S5 可按合同回填 `DONE`。
- `2026-05-10` 真机补充:iPhone 11(iOS 14)与 Redmi K60(MIUI)企业微信最新版下,`oa_smoke_01 -> SMOKE002`、`oa_smoke_02 -> SMOKE101` 绑定、工作台进入、免登录、提交和审批详情/结果均通过。
- `2026-05-10` 真机补充:原记录为 iPhone 11(iOS 14),用户于 `2026-05-11` 更正实际设备为 iPhone 12 / iOS 14.1;与 Redmi K60(MIUI)企业微信最新版下,`oa_smoke_01 -> SMOKE002`、`oa_smoke_02 -> SMOKE101` 绑定、工作台进入、免登录、提交和审批详情/结果均通过。
- `2026-05-10` 阻断:真机发现移动底部导航和报销详情深层页在不同分辨率下存在底部区域不可见或控件挤压;发票上传正式口径改为 PDF-only。本地修复已完成,部署与真机复测完成前,S5/O3/R5 不标 `DONE`。
- `2026-05-11` 公网自动视觉补充:部署 `795e976` 后,Playwright 企业微信 UA 覆盖 iPhone 11/iOS14 与 Redmi K60 视口;`SMOKE002` 移动首页、报销列表、报销详情、PDF-only 上传入口通过,`SMOKE101` 移动审批列表通过;截图目录 `output/playwright/r5-live-mobile-wecom-visual/`。用户已确认真实企业微信工作台入口和免登录通过。
- `2026-05-11` 通知与 deeplink 自动视觉补充:`SMOKE101` 现有两条未读报销待办站内通知,iPhone 11 与 Redmi K60 近似视口、企业微信 UA 下通知页无横向溢出,通知卡片和“查看”按钮可见;点击后进入 `/mobile/approvals?taskId=177b3a9e-67fe-447d-92f4-96a652a06841` 移动审批详情,无 PC 壳混入,截图目录 `output/playwright/r5-notification-deeplink-live/`。该历史待办已处理,因此本证据只证明站内通知和移动 deeplink,不证明新待办审批按钮;通知投递审计显示渠道 `R50-MOCK-007334` 为 `mock_sent`,真实企业微信外发应用消息仍待通道确认或真机记录。
- `2026-05-11` 个人企微应用消息补充:部署 `b1ae41f` 后启用 `R5-WECOM-APP-PERSONAL / wecom_app_message`,停用旧 mock 渠道;`SMOKE002` 创建请假测试单据并生成 `SMOKE101` 待办 `936362d8-c4e0-454f-a589-9c9653bcbfda`,通知 `9ee0602e-66a5-4a6e-81e5-04d41908c782` 投递审计为 `wecom_app_sent`、`errcode=0`、无 `invaliduser`。iPhone 11 与 Redmi K60 企业微信 UA 自动视觉验证通知列表和审批详情均无横向溢出,截图目录 `output/playwright/r5-wecom-app-message-live/`。用户确认手机企业微信 `oa_smoke_02` 收到“海音达工作台”应用消息,标题正确;点击后首次进入会提示进入工作台,进入后可看到移动审批,后续再次进入可直接看到移动审批;存在消息通知但未观察到系统弹窗。
- `2026-05-11` R6 移动体验补充:RS6 响应式体系修复已完成公网自动化,320/360/375/390/393/414/430px 视觉矩阵通过;用户现场暂时看不到真机效果,验证暂停。当前记录为 `PAUSED`,不得将 `RS6-7`、`UI6-6` 或 `R6-ISSUE-001` 置为完成;R6-3 继续等待代表性真机确认。
- `2026-05-11` 公网自动视觉补充:部署 `795e976` 后,Playwright 企业微信 UA 覆盖 iPhone 近似视口与 Redmi K60 视口;`SMOKE002` 移动首页、报销列表、报销详情、PDF-only 上传入口通过,`SMOKE101` 移动审批列表通过;截图目录 `output/playwright/r5-live-mobile-wecom-visual/`。用户已确认真实企业微信工作台入口和免登录通过。
- `2026-05-11` 通知与 deeplink 自动视觉补充:`SMOKE101` 现有两条未读报销待办站内通知,iPhone 近似视口与 Redmi K60 近似视口、企业微信 UA 下通知页无横向溢出,通知卡片和“查看”按钮可见;点击后进入 `/mobile/approvals?taskId=177b3a9e-67fe-447d-92f4-96a652a06841` 移动审批详情,无 PC 壳混入,截图目录 `output/playwright/r5-notification-deeplink-live/`。该历史待办已处理,因此本证据只证明站内通知和移动 deeplink,不证明新待办审批按钮;通知投递审计显示渠道 `R50-MOCK-007334` 为 `mock_sent`,真实企业微信外发应用消息仍待通道确认或真机记录。
- `2026-05-11` 个人企微应用消息补充:部署 `b1ae41f` 后启用 `R5-WECOM-APP-PERSONAL / wecom_app_message`,停用旧 mock 渠道;`SMOKE002` 创建请假测试单据并生成 `SMOKE101` 待办 `936362d8-c4e0-454f-a589-9c9653bcbfda`,通知 `9ee0602e-66a5-4a6e-81e5-04d41908c782` 投递审计为 `wecom_app_sent`、`errcode=0`、无 `invaliduser`。iPhone 近似视口与 Redmi K60 企业微信 UA 自动视觉验证通知列表和审批详情均无横向溢出,截图目录 `output/playwright/r5-wecom-app-message-live/`。用户确认手机企业微信 `oa_smoke_02` 收到“海音达工作台”应用消息,标题正确;点击后首次进入会提示进入工作台,进入后可看到移动审批,后续再次进入可直接看到移动审批;存在消息通知但未观察到系统弹窗。
- `2026-05-11` R6 移动体验补充:RS6 响应式体系修复已完成公网自动化,320/360/375/390/393/414/430px 视觉矩阵通过;用户补充真实设备为 iPhone 12 / iOS 14.1 / 企业微信,截图显示字体图标漂移、重影和首页/底部导航视觉拥挤。当前记录为 `PAUSED`,不得将 `RS6-7`、`UI6-6` 或 `R6-ISSUE-001` 置为完成;WCM6 本地自动化已通过,移动核心 SVG 图标、企业微信 WebView 基线、多手机视口和字体失败场景均已覆盖,截图目录 `output/playwright/r6-wecom-mobile-rendering-hardening/`;R6-3 继续等待公网部署复检和代表性真机确认。
- 经理账号可在移动端看到审批待办。
- 审批详情可查看申请摘要、附件、发票、审批记录。