diff --git a/docs/designs/ui06-implementation/after-b3a/01-login.png b/docs/designs/ui06-implementation/after-b3a/01-login.png new file mode 100644 index 0000000..6537357 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/01-login.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/02-albums.png b/docs/designs/ui06-implementation/after-b3a/02-albums.png new file mode 100644 index 0000000..3e9b692 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/02-albums.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/03-photos.png b/docs/designs/ui06-implementation/after-b3a/03-photos.png new file mode 100644 index 0000000..38b8d4f Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/03-photos.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/04-members.png b/docs/designs/ui06-implementation/after-b3a/04-members.png new file mode 100644 index 0000000..d64c88f Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/04-members.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/05-categories.png b/docs/designs/ui06-implementation/after-b3a/05-categories.png new file mode 100644 index 0000000..a4cc703 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/05-categories.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/06-watermark.png b/docs/designs/ui06-implementation/after-b3a/06-watermark.png new file mode 100644 index 0000000..ee5c44c Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/06-watermark.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/07-share.png b/docs/designs/ui06-implementation/after-b3a/07-share.png new file mode 100644 index 0000000..20b5233 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/07-share.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/08-create.png b/docs/designs/ui06-implementation/after-b3a/08-create.png new file mode 100644 index 0000000..8101614 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/08-create.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/09-edit.png b/docs/designs/ui06-implementation/after-b3a/09-edit.png new file mode 100644 index 0000000..070f2f9 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/09-edit.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/10-users.png b/docs/designs/ui06-implementation/after-b3a/10-users.png new file mode 100644 index 0000000..21adf59 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/10-users.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/11-user-sync.png b/docs/designs/ui06-implementation/after-b3a/11-user-sync.png new file mode 100644 index 0000000..8c567e3 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/11-user-sync.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/12-usage.png b/docs/designs/ui06-implementation/after-b3a/12-usage.png new file mode 100644 index 0000000..307e4b8 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/12-usage.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/13-embed-slots.png b/docs/designs/ui06-implementation/after-b3a/13-embed-slots.png new file mode 100644 index 0000000..153980d Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/13-embed-slots.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/14-embed-editor.png b/docs/designs/ui06-implementation/after-b3a/14-embed-editor.png new file mode 100644 index 0000000..c545549 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/14-embed-editor.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/15-branding.png b/docs/designs/ui06-implementation/after-b3a/15-branding.png new file mode 100644 index 0000000..85b08e0 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/15-branding.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/16-photo-viewer.png b/docs/designs/ui06-implementation/after-b3a/16-photo-viewer.png new file mode 100644 index 0000000..ae41707 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/16-photo-viewer.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/17-403.png b/docs/designs/ui06-implementation/after-b3a/17-403.png new file mode 100644 index 0000000..900295a Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/17-403.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/18-404.png b/docs/designs/ui06-implementation/after-b3a/18-404.png new file mode 100644 index 0000000..ab73f15 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/18-404.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/19-500.png b/docs/designs/ui06-implementation/after-b3a/19-500.png new file mode 100644 index 0000000..8631abb Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/19-500.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/20-sync-detail.png b/docs/designs/ui06-implementation/after-b3a/20-sync-detail.png new file mode 100644 index 0000000..2574f17 Binary files /dev/null and b/docs/designs/ui06-implementation/after-b3a/20-sync-detail.png differ diff --git a/docs/designs/ui06-implementation/after-b3a/capture.json b/docs/designs/ui06-implementation/after-b3a/capture.json new file mode 100644 index 0000000..df8ffa8 --- /dev/null +++ b/docs/designs/ui06-implementation/after-b3a/capture.json @@ -0,0 +1,10 @@ +{ + "date": "2026-09-22T15:27:01.452Z", + "base": "http://219.157.255.213:32005", + "viewport": "1440x1000", + "errors": [], + "notes": [ + "15-branding: before 状态 banner 位于详情卡内,未独立页签", + "16-photo-viewer: before 状态无大图预览,以照片表格代替" + ] +} \ No newline at end of file diff --git a/docs/designs/ui06-implementation/capture-before.cjs b/docs/designs/ui06-implementation/capture-before.cjs index 4a8adaf..6c7cdda 100644 --- a/docs/designs/ui06-implementation/capture-before.cjs +++ b/docs/designs/ui06-implementation/capture-before.cjs @@ -60,13 +60,15 @@ const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); await gotoHash('/albums/manage'); await shot('02-albums'); - // 进入第一个相册详情(03–07、15、16 的宿主) + // 进入第一个相册详情(03–07、15、16 的宿主)——UI06 起默认卡片视图(点封面),表格模式保留 album-detail-btn const detailBtn = page.locator('[data-test="album-detail-btn"]').first(); - if (await detailBtn.count()) { - await detailBtn.click(); + const coverBtn = page.locator('[data-test^="album-cover-"]').first(); + const entry = (await detailBtn.count()) ? detailBtn : coverBtn; + if (await entry.count()) { + await entry.click(); await page.waitForURL('**/albums/detail/**'); await sleep(1200); - await shot('03-photos'); // photos 为默认页签 + await shot('03-photos'); // photos 为默认页签(UI06 起默认照片网格) // 04–07 各页签 for (const [name, tab] of [ diff --git a/docs/plans/progress/UI06-验收记录.md b/docs/plans/progress/UI06-验收记录.md index ea55328..9544171 100644 --- a/docs/plans/progress/UI06-验收记录.md +++ b/docs/plans/progress/UI06-验收记录.md @@ -10,8 +10,9 @@ |---|---|---|---| | B0 | 基线提交 + before 截图 + 契约核对 | `e27a602` | ✅ 完成 | | B1 | 主题 token + 布局壳 + 登录页 | `fb3743d` | ✅ 完成(已部署 `ui06-fb3743d-20260922` 验收) | -| B2 | 共享业务组件 | | 待执行 | -| B3a–B3e | 页面批次(每批部署 32005 验收) | | 待执行 | +| B2 | 共享业务组件 | `4f6790d`+`1531d3d` | ✅ 完成(与 B3a 合并交付,见 §4) | +| B3a 核心批 | 02 相册列表 + 03 照片网格/大图 + 详情页壳 | `4f6790d`+`1531d3d` | ✅ 已部署 `ui06-1531d3d-20260922` 待用户验收 | +| B3b–B3e | 其余页面批次 | | 待执行 | | B4 | 后台全量回归验收 | | 待执行 | | A0–A7 | App 线(B4 后启动) | | 待执行 | @@ -67,9 +68,30 @@ - after-b1 截图 20 张(`ui06-implementation/after-b1/`,页面错误 0):登录页左右分栏/摄影底/品牌大标题确认;侧栏白底 216px + 分组标签 + 扁平菜单(DOM 实测结构正确);顶栏 64px、浅灰蓝背景、蓝主按钮、无标签页条、表头浅底。 - 剩余(进 B2/B3):业务页内部(相册卡片、照片网格、表单等)仍为原布局——B1 只改壳。深色模式仅保持可用未重设计(登记偏差)。 -## 3.x B2 记录 +## 3.x B2 + B3a 记录(2026-09-22) -(待执行) +### 改动(commits `4f6790d` + `1531d3d`) + +- 类型:`Summary.cover` / `AdminPhoto.preview`(`SignedUrl`;服务端已返回,B0 核对) +- 组件:`AlbumCoverCard`(封面卡:公开/状态/上传 pill、中性占位、不显示 owner 名)、`AlbumSummaryHeader`(300×144 封面 + 两列资料 + 高级折叠收敛 ownerId/统计时间)、`PhotoGrid`(四列 1.65 比例、thumb 签名缩略图、仅 published 可勾选、photoId 短码回退名)、`PhotoPreviewDialog`(深色舞台 browse URL + 信息栏 + 隐藏/恢复/软删除复用表格状态机) +- 02 列表:默认卡片网格(3 列 / ≥1700px 4 列)+ 表格切换 + 已加载内搜索 + 公开状态筛选 + 摘要行;游标数据源不变 +- 03 详情壳:页头(编辑/分享固定主操作)替换 ElDescriptions 大区;banner 区 B3c 收纳 +- 03 照片:网格默认 + 表格保留;网格勾选与表格 selection 合并批量目标(部分成功语义不变) +- e2e 适配默认网格(albums/governance 断言前点 album-view-table / photo-view-table);batchHide fixture 补 preview +- 验证:typecheck ✅ · eslint ✅ · vitest 87/87 ✅ · **本地 `pnpm build` ✅** +- 教训:模板属性多语句 `@click="a;b()"` 过得了 vue-tsc/vitest 但 vite build parse 失败——**此后每批提交前本地 build 必须通过**(已在流程中执行) + +### 部署与截图(`ui06-1531d3d-20260922`,cn web healthy) + +- after-b3a 截图 20 张(页面错误 0)。抽查结论: + - 02:封面卡片网格结构完整(pill/标题/日期地点/底部状态行);**部分相册无封面显示中性占位**——cover 为 null 的真实数据差异(契约允许;有 cover 的相册正常显示照片),登记为数据状态非布局偏差 + - 03:摘要头(封面+两列信息+token 复制)+ 照片网格(**真实签名缩略图生效**、勾选框、状态 pill、上传者·日期说明行)+ 可见性分段 + 视图切换 +- 待用户 32005 验收项:相册卡片/表格切换、照片网格→大图(隐藏/恢复入口)、批量勾选隐藏、详情摘要头 + +## 4. B3 批次记录 + +### B3a(见 §3.x) +### B3b–B3e(待执行) ## 4. B2 记录