部署并复检统一页面改造(05-30-deploy-unified-page-design-public-check)

这个提交包含在:
2026-05-30 20:18:21 +08:00
父节点 74db53b131
当前提交 f9e127ca56
共修改 8 个文件,包含 173 行新增和 12 行删除
+4 -4
查看文件
@@ -107,7 +107,7 @@ SYNC_ENV=0 bash deploy/trialrun/deploy.sh
### 3. Contracts
- `assertPortalLoaded(page)` must assert route and page content first:
`/portal` URL and the `今日任务` heading.
`/portal` URL and the `今日待处理` heading.
- Navigation-label assertions for the workbench link must accept both `工作台`
and `Portal` while older mocks still use English labels.
- Navigation assertions must be role-aware. Admin/manager smoke may assert
@@ -121,11 +121,11 @@ SYNC_ENV=0 bash deploy/trialrun/deploy.sh
### 4. Validation & Error Matrix
- Page reaches `/portal`, `今日任务` is visible, but nav label is `工作台` ->
- Page reaches `/portal`, `今日待处理` is visible, but nav label is `工作台` ->
smoke should pass.
- Employee reaches `/portal`, role-aware navigation hides `团队`, and employee
pages such as `项目` remain reachable -> smoke should pass.
- Page reaches `/portal`, but `今日任务` is missing -> smoke should fail.
- Page reaches `/portal`, but `今日待处理` is missing -> smoke should fail.
- Page stays on login, `/403`, error fallback or another route -> smoke should
fail.
- New shell label appears only in one live smoke test -> move the compatibility
@@ -133,7 +133,7 @@ SYNC_ENV=0 bash deploy/trialrun/deploy.sh
### 5. Good/Base/Bad Cases
- Good: `assertPortalLoaded` checks `/portal`, `今日任务`, and a workbench link
- Good: `assertPortalLoaded` checks `/portal`, `今日待处理`, and a workbench link
matching either `工作台` or `Portal`.
- Good: `assertMainNavVisible(page, { expectTeam: false })` is used for
ordinary employee live smoke.
@@ -1510,8 +1510,10 @@ onNeedRefresh() {
### 4. Login Entry Hierarchy
- Normal browser: account/password login is primary; Enterprise WeChat and OIDC
entries belong below the primary submit button as secondary methods.
- Normal browser: account/password or email-code login is primary. Enterprise
WeChat is shown as a boundary notice or secondary entry that tells users to
open OA from the Enterprise WeChat workbench; do not require a clickable OAuth
button in ordinary browsers.
- Enterprise WeChat WebView: Enterprise WeChat one-click entry is primary;
account/password login remains available as the fallback path.
- Enterprise WeChat entry changes must remain frontend entry hierarchy changes
@@ -1528,7 +1530,7 @@ onNeedRefresh() {
- keyboard Tab from the username/email field lands on the password input, not
the forgot-password link;
- password recovery request-code and reset flow on `/forgot-password`;
- normal-browser Enterprise WeChat entry as secondary CTA;
- normal-browser Enterprise WeChat boundary notice or secondary entry;
- WeCom WebView Enterprise WeChat entry as primary CTA with password fallback.
- UI design rules check and Playwright screenshot evidence when the auth layout
changes visibly.