Files
jiapuapp/design-qa.md
T
2026-07-14 17:36:43 +08:00

95 lines
7.2 KiB
Markdown
Raw 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.
# A02 账号登录 Design QA
## Comparison target
- Source visual truth: `docs/design/screens/runtime/2026-07-13/A01-360x800.png` and `docs/design/screens/runtime/2026-07-13/G01-360x800.png` are the user-approved brand references. They are not a user-approved A02 mockup.
- Earlier A02 implementation: `docs/design/screens/runtime/2026-07-13/A02-before-360x800.png`.
- Current implementation: `docs/design/screens/runtime/2026-07-13/A02-after-360x800.png`.
- Full-view comparison evidence: `docs/design/screens/runtime/2026-07-13/A02-before-after-360x800.png` at 360 × 800.
- Focused region review: full-view comparison is sufficient for this iteration because the corrected areas are the whole panel proportion, complete frame, button ratio and background treatment; no text or icon asset is too small to identify in the captured images.
## Comparison history
### Iteration 1: Before refactor
**Findings**
- [P1] The login form was a thin CSS rectangle rather than a complete genealogy panel.
Location: `pages/auth/a02-login.vue`, `.login-panel`.
Evidence: the left half of `A02-before-after-360x800.png` has a narrow plain outline, unlike A01s complete buttons and G01s complete title slips.
Fix: introduced `static/assets/modules/auth/opaque/a02-login-panel.png` as the full opaque paper, double-gold-frame and corner-ornament surface.
- [P1] The A01 primary button skin was vertically compressed.
Location: `pages/auth/a02-login.vue`, `.login-submit`.
Evidence: the earlier button had a noticeably flatter appearance than the A01 reference.
Fix: set the A02 display slot to 128rpx high and preserved the complete skin as the only button surface.
- [P2] The main task was visually weaker than the scenery below it.
Location: the A02 above-the-fold layout.
Evidence: the earlier card ended high in the viewport and left more visual weight to the empty mountain background.
Fix: aligned the header with A01 and expanded the panel so its lower paper landscape becomes a deliberate task-ending surface.
### Iteration 2: Current implementation
**Findings**
- [P3] The page uses one existing cloud asset at the heading while the new panel supplies additional pale clouds. This is visually coherent at 360 × 800, but user review should decide whether the heading cloud is one layer too many.
Location: A02 heading, right side.
Evidence: `A02-after-360x800.png`.
Follow-up: remove only the heading cloud if the user finds the top-right decoration busy; do not alter the panel frame or input structure.
### Iteration 3: A02 本页协议确认
**Findings**
- [P1] 直接进入 A02 时,协议确认以前只是一句“请先在登录引导页阅读并确认协议”,用户无法在当前任务页修正状态。
Location: `pages/auth/a02-login.vue`,原 `.agreement-reminder`
Evidence: `docs/design/screens/runtime/2026-07-14/A02-without-agreement-360x800.png`
Fix: 以 A02 卷轴面板内的可点击协议行替换提示;未选中与选中状态分别使用两枚 96×96 透明 PNG,文字和链接保留在 Vue 文字层。
- [P2] Chrome 捕获脚本在选择器出现 300ms 后就截图,A02 图层尚未加载时会产生黑块或过渡状态,不能作为视觉证据。
Location: `scripts/capture-chrome-page.js`
Evidence: 本轮已拒绝的半渲染截图;修复后截图均由 `tests/capture-chrome-page-contract.ps1` 约束为“图片资源加载完成且额外稳定等待后再采集”。
Fix: 截图脚本等待全部 `document.images` 加载完成,再等待 900ms;新截图逐张打开检查。
### Iteration 4: A02 注册入口与证据隔离
**Findings**
- [P2] 直接进入 A02 的新用户在账号密码与验证码登录之外没有注册路径,页面功能感不完整。
Location: `pages/auth/a02-login.vue`,协议行下方。
Evidence: 用户审视的 412×915 运行截图与本轮 `A02-register-entry-412x915.png`
Fix: 在协议行下方的既有留白内增加“还没有账号? 注册账号”;仅朱砂色“注册账号”可点,真实跳转到既有 A04 路由,不新增按钮资产或重做 A04。
- [P1] Chrome 对同一路由的 hash 导航会复用 Vue 实例;直接进入 URL 的截图可能继承上一次勾选协议的状态,不能证明初始态。
Location: `scripts/capture-chrome-page.js`
Evidence: 导航后 URL 已是无参数 A02,但实际图标仍为 `a02-agreement-checked.png`;整页刷新后才回到未选中图标。
Fix: 截图脚本在到达目标 URL 后刷新,并等待 `performance.timeOrigin` 变化,再检查选择器、图片和稳定时间。该顺序由 `tests/capture-chrome-page-contract.ps1` 约束。
## Required fidelity surfaces
- Fonts and typography: A02 uses the projects existing STKaiti/KaiTi hierarchy; current capture keeps the title above form labels and retains readable body copy.
- Spacing and layout rhythm: the larger panel establishes a clear header → title → tab → form → action cadence; 320 × 568 and 360 × 640 intentionally scroll rather than clip the action.
- Colors and visual tokens: cinnabar remains limited to the header, selected Tab, helper action and primary button; antique gold frames and ink-brown body text follow A01/G01.
- Image quality and asset fidelity: the panel is a complete opaque PNG with no generated text, placeholder controls, or CSS-drawn frame; the button remains the approved complete A01 asset.
- Agreement control: the 96×96 unchecked and checked icons are separate transparent PNGs with transparent corners; A02 does not draw the circle, fill, or checkmark with CSS.
- Registration entry: the low-emphasis text path follows the agreement row and uses only the existing panel whitespace; it does not compete with the full-surface cinnabar login button or invent a second button asset.
- Copy and content: account and SMS flows retain their original Chinese copy and real input controls; no visible workflow was invented.
## Primary interactions checked
- Account/password state captured at 320 × 568, 360 × 640, 360 × 800 and 412 × 915.
- SMS Tab was clicked through the Chrome debugging session and captured at 360 × 800: `docs/design/screens/runtime/2026-07-13/A02-sms-360x800.png`.
- Form submission behavior is covered by the existing A01/A02 contract and was not changed in this visual pass.
- Direct A02 now opens unchecked at 320×568, 360×640, 360×800 and 412×915; `?agreed=1` opens checked at 360×800. A real Chrome click changed the checked icon back to the unchecked PNG, and an unchecked submit displayed the current-page agreement message.
- Registration entry was captured at 360×800 and 412×915 after a fresh-document reload; a real Chrome click reached `http://localhost:5173/#/pages/auth/a04-register`.
- A03 重复验证码页已删除;删除后重新捕获 A02 的手机验证码 Tab(360×800),手机号、验证码、获取验证码、登录、协议和注册入口均完整显示,作为唯一验证码登录入口的运行证据。
## Acceptance
用户已于 2026-07-14 确认 A02 账号密码登录、协议确认和注册入口的视觉结果。本页从待验收样板转为冻结的认证模块参考;后续页面可继承其视觉语言,但不能改动 A02 可见效果。
## Final result
final result: accepted