文件
hyb-oa/issues/2026-05-11_08-56-44-wecom-personal-app-message-r5-closeout.csv
T

7 行
5.9 KiB
CSV
原始文件 Blame 文件历史

此文件含有模棱两可的 Unicode 字符
此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
W1,合同建档与现状确认,固定本轮目标为企业微信个人应用消息推送并确认当前公网仍只有 mock 通知渠道;本 Issue 不改业务数据。,1) 新合同 CSV 校验通过;2) 当前 mock 渠道与 R5 阻断原因记录清晰;3) 明确不使用群机器人作为正式审批通知口径。,流程级验证:git status --short;只读查询公网通知渠道摘要;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-11_08-56-44-wecom-personal-app-message-r5-closeout.csv。,git|python3|node|manual,DONE,DONE,DONE,issues/2026-05-11_08-56-44-wecom-personal-app-message-r5-closeout.csv,[],回滚路径:删除本 CSV;不涉及代码或远端数据。已确认 W1 合同存在,公网当前仍以 mock 渠道阻断真实企微个人消息验收。
W2,后端企业微信个人应用消息适配器,新增 wecom_app_message 通知渠道模式,复用现有 WECOM_* 应用配置向绑定成员发送企业微信应用消息。,1) 渠道模式支持 wecom_app_message;2) textcard 带 deeplink,缺 deeplink 时降级 text;3) 仅向已绑定且启用通知的收件人发送;4) 无绑定不阻断业务并记录 wecom_app_no_bound_recipients;5) delivery 不记录 secret/token。,流程级验证:cd server && npm run prisma:validate;cd server && node --check src/services/integrations/im/wecom.js;cd server && node --check src/services/notificationDispatcher.js;cd server && npm test -- tests/unit/routes/notifications.test.js tests/unit/services/notificationDispatcher.test.js tests/unit/services/integrations/dispatcher.test.js tests/unit/routes/wecomAuth.test.js。,node|npm,DONE,DONE,DONE,server/src/services/integrations/im/wecom.js|server/src/services/notificationDispatcher.js|server/src/routes/notifications.js,"[""W1""]",不新增 Prisma migration;如企业微信 API 权限错误,记录错误码并停止 R5 完成。已通过 Prisma validate、node --check 和 4 组通知/企微单测。
W3,管理端通知渠道支持个人应用消息,通知渠道管理页新增企微应用消息个人模式,隐藏 webhook 必填和 secret 要求,保留路由与模板配置。,1) 管理页模式可选 wecom_app_message;2) 该模式不要求 Webhook URL/Secret;3) Mock 和 webhook 旧配置不回归;4) typecheck/build 通过。,流程级验证:cd client && npm run typecheck;cd client && npm run build;人工或 Playwright 打开 /system/notification-channels 确认模式选项和字段可理解。,npm|playwright,DONE,DONE,DONE,client/src/pages/NotificationChannelsPage.tsx|client/src/api/notificationChannels.ts,"[""W2""]",仅管理端配置 UI;不改变普通用户页面。已通过前端 typecheck 与生产 build。
W4,公网部署与真实个人消息渠道配置,部署当前 RC,完成 R4 复检,并将公网通知渠道从 mock 切到 wecom_app_message 个人应用消息模式。,1) deploy/trialrun/deploy.sh 成功;2) R4 只读复检通过;3) R5-WECOM-APP-PERSONAL enabled=true mode=wecom_app_message;4) R50-MOCK-007334 不再参与投递;5) 不修改远端 .env。,流程级验证:bash deploy/trialrun/deploy.sh;curl https://oa.hyinda.com/ready;Prisma migrate status;公网 bundle 扫描;管理员 API 或远端受控脚本 upsert 通知渠道后只读复核。,bash|ssh|node|manual,DONE,DONE,DONE,deploy/trialrun/deploy.sh|server/src/*|client/src/*,"[""W3""]",远端写操作仅限 notification_channels 配置;回滚:禁用 R5-WECOM-APP-PERSONAL 并恢复/启用 R50-MOCK-007334。完成 2026-05-11:部署 b1ae41f,SYNC_ENV=0 未同步远端 .env;公网 /ready 200;关键文件哈希本地/远端一致;Prisma migrate status up to date;Caddy active;external deps smoke PASS;公网 bundle 扫描 findings=0;R5-WECOM-APP-PERSONAL enabled=true mode=wecom_app_message,R50-MOCK-007334 enabled=false。
W5,R5 真实企微消息与 deeplink 收口,触发 SMOKE002->SMOKE101 新待办,自动验证企业微信应用消息 delivery、站内通知、移动 deeplink 和视觉,并记录用户真机确认消息到达。,1) 最新待办 delivery resultCode=wecom_app_sent 且 errcode=0;2) 无 invaliduser;3) 移动通知和 deeplink 自动视觉通过;4) run-live-smoke-readiness.sh 通过;5) 用户确认 oa_smoke_02 手机企业微信收到并可点击回流后,S5/R5 才可 DONE。,流程级验证:source ~/.hyb-oa/live-smoke.env;触发测试单据;查询 /api/notifications/deliveries;Playwright 企业微信 UA 覆盖 iPhone 11 和 Redmi K60;LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;校验主 R5/S5/Q 合同并 git diff --check。,node|bash|playwright|manual,DONE,DONE,DONE,docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_20-33-04-formal-smoke-test-accounts.csv,"[""W4""]",若 delivery 成功但手机无提醒,先记录为企业微信客户端通知权限/应用可见范围待确认,不伪造 R5 DONE。自动化完成 2026-05-11:strict 准入通过;live smoke 3 passed;真实 PDF OCR 不 SKIP,终态为重复票据可解释;报告 artifacts/qa-flow/live-smoke-readiness-20260511-092236。SMOKE002 创建请假单 a8473c1b-bcb4-45b9-ab96-929afe346615 并生成 SMOKE101 待办 936362d8-c4e0-454f-a589-9c9653bcbfda;通知 9ee0602e-66a5-4a6e-81e5-04d41908c782 delivery=wecom_app_sent,errcode=0,无 invaliduser;移动通知和审批 deeplink 视觉通过,截图 output/playwright/r5-wecom-app-message-live/。Regression completed:用户确认 oa_smoke_02 手机企业微信收到“海音达工作台”个人应用消息,标题正确;点击后首次进入提示进入工作台,进入后可看到移动审批,后续再次进入可直接看到移动审批;有消息通知但未观察到系统弹窗,不影响应用消息到达与回流结论。