feat(工作台): 视频列表加收藏列+数字列右对齐,视频详情页信息三行+标签排版

This commit is contained in:
maogeigei committed 2026-09-01 14:56:46 +08:00
1 parent 3f5c687e48
commit e43e5bbb6c
12 files changed
+830 -27

No files matched your search

+48
View File
@@ -204,3 +204,51 @@
- **发现并修复 P0 bug**:账号连坐删除漏删 account_videos 行(只删了关联表,孤儿视频残留)——补 `DELETE FROM account_videos WHERE account_id IN (...)`,用测试数据复验全 0 残留
- **验证三层闭环**:①API 实测(删测试账号 1632/1634+视频 682:deleted=1、连坐全清、非法 kind 400、空 ids 幂等)②CDP UI 33 项 PASS(cdp-verify-batch.mjs:三列表批量图标/勾选列/trash/x/全选/计数/取消恢复,纯图标无文字)③端到端删除 PASS(cdp-verify-batch-e2e.mjs:UI 勾选→confirm→API→列表刷新→测试行消失+库零残留;测试视频置顶技巧:publish_time='2099-01-01' 排第一页)
- **沙箱代理发现(重要)**:Bash 会话环境有 HTTP_PROXY/HTTPS_PROXY=http://127.0.0.1:7505(sandbox-cli.exe 监听,WorkBuddy 沙箱运行时注入,非用户系统配置)——curl localhost 会走代理转发失败(502/连接拒绝)→ **curl 工作台 API 必须加 --noproxy '*'**
## 09-01 14:5x 清理误提交的 mcn-plugin.db(git 卫生)
- **发现**:提交 b049cca 时 `git add -A` 误纳入两个数据库文件——仓库根目录 `mcn-plugin.db`(0 字节空文件,测试误生成)+ `project/短视频脚本创作/V1.0/mcn-work-shop/mcn-plugin.db`(4.2MB 真实数据,俊希账号等)
- **处理(治本)**:`git rm --cached` 两个文件(工作区文件保留,真实数据库未动)+ 物理删除根目录 0 字节空文件 + .gitignore 追加 `mcn-plugin.db`/`**/mcn-plugin.db` 规则 → 提交 3d65774(3 files changed);验证 `git ls-files | grep mcn-plugin` = 0 跟踪
- **教训**:`git add -A` 前必须检查是否有大文件/数据库/二进制文件混入;db 类文件应永不在版本库
## 09-01 14:36 批量操作条与分页组件同行(UI 微调)
- **需求**:批量操作和分页组件放一行,不需要换行
- **实现**:data-pages.js 三处(renderAccounts/renderAccountDetail/renderRewrites)将 `batchBarHtml + pagerHtml` 包进 `<div class="list-footer">`;style.css 新增 `.list-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }`(左批量右分页),`.list-batchbar` padding 对齐 pager(12px 4px)
- 语法检查通过 + 静态资源 200,页面已重开
## 09-01 14:38 账号列表渲染失败修复(accReset is not defined,我的失误)
- **用户报障**:账号列表页面渲染失败「accReset is not defined」
- **根因(git diff 定位)**:上一轮包 list-footer 时 Edit 误把裸赋值 `accReset = () => {...}` 加进 renderAccounts 的 load()(HEAD 里无此行)——data-pages.js 第 3 行 `'use strict'`,**严格模式对未声明变量赋值直接 ReferenceError** → load() 中断、页面渲染失败;同时账号列表(324)的 list-footer 没包上(只包了 416/601 两处)
- **修复**:①删除 renderAccounts 中裸 accReset 行(347 行已有 DOM 版重置 `#accReset` 绑定,纯死代码)②账号列表 batchBarHtml+pagerHtml 补包 `<div class="list-footer">`;新增 cdp-verify-footer.mjs 验证脚本
- **验证**:19/19 PASS——三列表渲染无错误文案/无 console 异常、批量条+分页同行、批量模式切换/取消正常
- **教训**:data-pages.js 是严格模式('use strict')——**禁止裸赋值未声明变量**;Edit 替换后必须 git diff 复查改动是否落在预期位置(上轮第三个 Edit 落点错误未被发现)
## 09-01 14:42 批量条去掉「全选」(表头已有全选框,避免重复)
- **需求**:批量操作按钮点击后,右边批量条里不要全选操作(列表表头上已有全选框)
- **实现**:data-pages.js batchBarHtml 批量模式删除 `<label class="batch-all-label">…全选…</label>` 行;style.css 删除 .batch-all-label 规则;表头 `thead .batch-cb-all` 为唯一全选入口
- **验证**:cdp-verify-noall.mjs 10/10 PASS——批量条内无全选/无 label、表头有全选框、点表头全选计数=行数、再点取消计数 0(账号列表 7 行、AI写脚本 20 行)
## 09-01 14:44 账号详情视频列表列宽微调(发布时间-20px / 视频标题+20px)
- **需求**:账号详情视频列表「发布时间」列宽度减少 20px,「视频标题」列增加 20px
- **实现**:data-pages.js 表头加 `th-pub`/`th-title` 类、行 td 加 `td-pub`/`td-title`;style.css 新增 `th.th-pub{width:130px}`、`td.td-pub`(tabular-nums)、`th.th-title{width:240px}`、`td.td-title{max-width:240px}`(覆盖 cell-content 默认 220px)
- **验证**:node --check 语法 OK + 静态资源 css/js 200
- **★P0 教训(列宽设置陷阱)**:给 `<th>` 设固定 `width` 在 auto 表格布局下会**钳制列宽上限**——标题列从自然分配 331px 被压到 240px(用户反馈「反而变窄了」)。**正确做法:th 不设 width(保持 auto 自然分配),要加宽只放宽 td 的 `max-width`(内容显示上限 220→240)**。实测对照:修改前 155/331 → 错误固定 width 130/240 → 修复后 135/357(发布时间−20 ✅ 标题+26 ✅)。列宽调整类需求必须实测 getBoundingClientRect 验证,不能只看 CSS 声明
## 09-01 14:49 账号详情视频列表:去视频ID列 + 标题点击进详情页
- **需求**:视频列表去掉「视频ID」列;点击视频标题进入视频详情页(#/video/:id)
- **实现**:data-pages.js 删行 td-id + 表头 th-id(colspan 9/8→8/7);标题 td 改为 `<a class="link" href="#/video/${v.id}">`(原来 video_url 打开外链改为进详情);style.css 删 .td-id/th.th-id 死代码(td-title 样式保留)
- **验证**:cdp-verify-title-link.mjs 7/7 PASS——表头无视频ID列、行数=7、标题 href=#/video/680、点击后 hash 跳转+详情页无渲染失败
## 09-01 14:52 账号详情视频列表:新增「收藏」列(分享右边)
- **需求**:视频列表缺少收藏数据,放到分享列右边
- **实现**:data-pages.js 表头分享后加 `<th>收藏</th>`(colspan 8/7→9/8),行在 share_count 后加 `<td>${fmtWan(v.collect_count)}</td>`(数据源 account_videos.collect_count 已存在,625 行有值)
- **验证**:cdp-verify-collect.mjs 5/5 PASS——表头分享→收藏相邻、行单元格=8、首行收藏值 519 正确、无渲染失败
## 09-01 14:53 账号详情视频列表:数字列右对齐
- **需求**:点赞/评论/分享/收藏/时长 五列右对齐
- **实现**:data-pages.js 表头 5 列加 `class="num"`、行单元格加 `class="num"`(复用周榜已有 `.table td.num` 右对齐+tabular-nums 等宽数字样式);style.css 补 `.table th.num { text-align: right; }`
- **验证**:cdp-verify-numalign.mjs 11/11 PASS——表头+行共 10 个单元格 computed textAlign 均 right、无渲染失败
## 09-01 14:54 视频详情页:信息卡三行排版
- **需求**:视频信息排版改三行——①视频标题(独立行)②账号/视频ID/时长/发布时间 ③点赞/评论/分享/收藏,最下面保留标签
- **实现**:data-pages.js info-grid 平铺改 `.info-row` 分组(标题用 `.video-detail-title` 大字号独立行 + 两组 info-row + 标签 wide 行;去掉播放字段——需求未列);style.css 加 `.video-info .video-detail-title`(18px/600/margin-bottom)
- **验证**:cdp-verify-videoinfo.mjs 7/7 PASS——标题 18px 独立行、三组行 label 顺序正确(账号组/数据组/标签)、无渲染失败