maogeigei
|
878d479fa4
|
R42: 账号详情 tab/翻页 replaceState 同步 hash(从视频详情返回精确恢复离开前视图,视频列表翻页位置也保留;data-pages.js ad→ae)
|
2026-09-03 18:56:12 +08:00 |
|
maogeigei
|
dfef295196
|
R40-R41: 弹窗 tab 切换闪烁根治(就地局部刷新)+ 开始诊断文案 + tab 间 | 分隔;右侧诊断/分镜面板可收起
R40 弹窗闪烁根因:所有状态切换 mask.remove()+renderModal() 整窗销毁重建,重建前 await review-full 网络 → 空窗闪一下
- 重构 openScriptModal:mask 生命周期内不再移除,tab/分镜翻版=patchSide 就地刷右侧列、版本翻版=patchAll 刷 AI+右侧列、源折叠=纯 CSS
- sideContent 抽离(stab=diag 才请求复盘接口);空态按钮开始复盘→开始诊断
- sideToken 防连点竞态 + mask.isConnected 防关闭后写入;bindAll/bindSide/bindScrollSync 分层绑定
- 脚本诊断 | 分镜提示词 两 tab 间加 .rw-side-sep 分隔
R41 右侧面板收起:data-side-toggle 收起钮放 AI 列 head 最右(右列收起头部不可见,入口常驻)
- showSide 状态 + rw-sec-hidden 复用;收起后 AI 列占满 stack 100%;chevrons-right/left 图标
- 版本 style.css aa→ac / data-pages.js ab→ad / app.js ICON_PATHS +2
- CDP 冒烟:R40 16/16 + R41 17/17 全绿(mask 同一节点=不闪验证)+ R40 回归复跑 16/16
|
2026-09-03 18:41:35 +08:00 |
|
maogeigei
|
f103fdc0e4
|
R40-R41: 弹窗 tab 切换闪烁根治(就地局部刷新)+ 开始诊断文案 + tab 间 | 分隔;右侧诊断/分镜面板可收起
R40 弹窗闪烁根因:所有状态切换 mask.remove()+renderModal() 整窗销毁重建,重建前 await review-full 网络 → 空窗闪一下
- 重构 openScriptModal:mask 生命周期内不再移除,tab/分镜翻版=patchSide 就地刷右侧列、版本翻版=patchAll 刷 AI+右侧列、源折叠=纯 CSS
- sideContent 抽离(stab=diag 才请求复盘接口);空态按钮开始复盘→开始诊断
- sideToken 防连点竞态 + mask.isConnected 防关闭后写入;bindAll/bindSide/bindScrollSync 分层绑定
- 脚本诊断 | 分镜提示词 两 tab 间加 .rw-side-sep 分隔
R41 右侧面板收起:data-side-toggle 收起钮放 AI 列 head 最右(右列收起头部不可见,入口常驻)
- showSide 状态 + rw-sec-hidden 复用;收起后 AI 列占满 stack 100%;chevrons-right/left 图标
- 版本 style.css aa→ac / data-pages.js ab→ad / app.js ICON_PATHS +2
- CDP 冒烟:R40 16/16 + R41 17/17 全绿(mask 同一节点=不闪验证)+ R40 回归复跑 16/16
|
2026-09-03 18:41:35 +08:00 |
|
maogeigei
|
03de8bed5b
|
R39: 网页改名 MCN创意雷达 + 首页榜单行垂直居中对齐 + 下载按钮换 globe 图标浅色
- 改名 6 文件(网页显示层,不动技能注册名「短视频工作台」)
- 浏览器标题 + 面包屑 + 4 文件头注释 + server.js 启动日志
- 垂直居中:.rank-preview .recent-head .rank-tabs 局部覆盖 align-self:center margin-bottom:0(CDP 实测修复前偏上 5px)
- globe 图标三处替换 download→globe:首页 homeRankUpdate / 热点 rankUpdate / 账号 accUpdate
- #rankUpdate + .home-rank-update 常态 color:var(--dim) 浅灰,hover 继承 .btn:hover 变蓝
- 版本 style.css z→aa / app.js w→x / data-pages.js aa→ab
- CDP 冒烟 15/15 PASS(拆 3 段独立连接 a/b/c,段 B 修复 :last-of-type selector 命中按钮自身坑)
- 权威冒烟脚本 cdp-r39-brand.mjs 同步修 selector
|
2026-09-03 18:21:50 +08:00 |
|
maogeigei
|
291715bb27
|
R39: 网页改名 MCN创意雷达 + 首页榜单行垂直居中对齐 + 下载按钮换 globe 图标浅色
- 改名 6 文件(网页显示层,不动技能注册名「短视频工作台」)
- 浏览器标题 + 面包屑 + 4 文件头注释 + server.js 启动日志
- 垂直居中:.rank-preview .recent-head .rank-tabs 局部覆盖 align-self:center margin-bottom:0(CDP 实测修复前偏上 5px)
- globe 图标三处替换 download→globe:首页 homeRankUpdate / 热点 rankUpdate / 账号 accUpdate
- #rankUpdate + .home-rank-update 常态 color:var(--dim) 浅灰,hover 继承 .btn:hover 变蓝
- 版本 style.css z→aa / app.js w→x / data-pages.js aa→ab
- CDP 冒烟 15/15 PASS(拆 3 段独立连接 a/b/c,段 B 修复 :last-of-type selector 命中按钮自身坑)
- 权威冒烟脚本 cdp-r39-brand.mjs 同步修 selector
|
2026-09-03 18:21:50 +08:00 |
|
maogeigei
|
28eba2a3b0
|
R37-R38: 榜单下载按钮回 rank-toolbar 行+去白底纯图标;首页榜单 tab 右侧加同款下载按钮(复用 updateRankingData)
|
2026-09-03 17:50:32 +08:00 |
|
maogeigei
|
fa99a99b67
|
R37-R38: 榜单下载按钮回 rank-toolbar 行+去白底纯图标;首页榜单 tab 右侧加同款下载按钮(复用 updateRankingData)
|
2026-09-03 17:50:32 +08:00 |
|
maogeigei
|
1f147e84dd
|
R36: 榜单下载按钮移至 tab 组件右侧(重构 toolbar,tab 上移 page-toolbar)
- 用户反馈:下载按钮「靠近 tab 组件,不是筛选/搜索组件」
- 冲突排查:原 toolbar(s, false) 空态时 rank-toolbar 不渲染,若简单把按钮移进 rank-toolbar 会丢失 R33 设计的「空态也能看到更新按钮(首次抓取入口)」
- 重构 toolbar() 函数:
- tab 始终在 page-toolbar 渲染(含空态/错误态)
- rankUpdate 紧贴 tab 右侧(rank-tabs margin-left:auto 推右,按钮紧跟其后)
- rank-toolbar 仅放筛选+翻页(withFilters 时)
- 复用 CSS:.page-toolbar .rank-tabs 紧凑样式(L603-604 已就绪)
- CDP 验证:tab+rankUpdate 都在 page-toolbar ✓;筛选保留 ✓
- 版本:data-pages.js x→y(CSS 不动)
|
2026-09-03 17:41:24 +08:00 |
|
maogeigei
|
82beea2ddc
|
R36: 榜单下载按钮移至 tab 组件右侧(重构 toolbar,tab 上移 page-toolbar)
- 用户反馈:下载按钮「靠近 tab 组件,不是筛选/搜索组件」
- 冲突排查:原 toolbar(s, false) 空态时 rank-toolbar 不渲染,若简单把按钮移进 rank-toolbar 会丢失 R33 设计的「空态也能看到更新按钮(首次抓取入口)」
- 重构 toolbar() 函数:
- tab 始终在 page-toolbar 渲染(含空态/错误态)
- rankUpdate 紧贴 tab 右侧(rank-tabs margin-left:auto 推右,按钮紧跟其后)
- rank-toolbar 仅放筛选+翻页(withFilters 时)
- 复用 CSS:.page-toolbar .rank-tabs 紧凑样式(L603-604 已就绪)
- CDP 验证:tab+rankUpdate 都在 page-toolbar ✓;筛选保留 ✓
- 版本:data-pages.js x→y(CSS 不动)
|
2026-09-03 17:41:24 +08:00 |
|
maogeigei
|
449d784de0
|
R35: 更新数据按钮统一下载图标(榜单/账号列表)+ 榜单更新按钮加宽 5px
- #rankUpdate(榜单页纯图标):refresh → download 图标
- #accUpdate(账号列表「更新」):refresh → download 图标(保留文字「更新」)
- 语义统一:两处「重新抓取最新数据」按钮均用 download(向下箭头+托盘)表达「互联网下载最新数据」
- #rankUpdate 加宽 5px:CSS padding 9px→11.5px,渲染宽 35.3→40px(box-sizing border-box)
- 版本:style.css ?v=20260903v→x、data-pages.js w→x(app.js 不动)
- CDP 验证:download path 特征 (M21 15v4 / 7 10 12 15 17 10 / y1=15 y2=3) ✓,rankUpdate 宽 40px ✓
|
2026-09-03 17:35:26 +08:00 |
|
maogeigei
|
373710c325
|
R35: 更新数据按钮统一下载图标(榜单/账号列表)+ 榜单更新按钮加宽 5px
- #rankUpdate(榜单页纯图标):refresh → download 图标
- #accUpdate(账号列表「更新」):refresh → download 图标(保留文字「更新」)
- 语义统一:两处「重新抓取最新数据」按钮均用 download(向下箭头+托盘)表达「互联网下载最新数据」
- #rankUpdate 加宽 5px:CSS padding 9px→11.5px,渲染宽 35.3→40px(box-sizing border-box)
- 版本:style.css ?v=20260903v→x、data-pages.js w→x(app.js 不动)
- CDP 验证:download path 特征 (M21 15v4 / 7 10 12 15 17 10 / y1=15 y2=3) ✓,rankUpdate 宽 40px ✓
|
2026-09-03 17:35:26 +08:00 |
|
maogeigei
|
ad99afe4de
|
R34: 工作台脚本详情统一弹窗(三入口共用+右侧诊断/分镜tab默认诊断+tab文字变色+空态按钮统一btn-view)
- 三处入口(首页AI脚本卡/AI写脚本「N查看」/脚本诊断页标题)共用 openScriptModal 顶层组件
- 合并两套重复弹窗代码(openRewriteCompare/openScriptDetail)
- 右侧列头部两 tab「脚本诊断|分镜提示词」默认显示脚本诊断
- 后端数据装配:ref 走 video-script+video-detail;custom 走 custom-script(失败回退 rewrites 全表定位);诊断按 review-full(ai||compare);分镜按 rewrite_id 归属过滤
- 分镜边界:仅 ref 视频支持(custom 无视频载体);无源 → 独立分析复盘;三模式复盘(AI/源/对比)
- 报告完整复盘:reportFullReview 抽全局(跨页复用)
- 场次滚动联动:仅分镜态生效(AI列滚动 → 分镜列对齐场块)
- 样式打磨:tab 去掉深蓝底色(active 文字变色+加粗);空态开始复盘/生成分镜统一 btn btn-sm btn-view
- CDP 冒烟 tmp/cdp-r34-modal-smoke.mjs 16/16 PASS(JS=v/w 两次)
|
2026-09-03 17:27:20 +08:00 |
|
maogeigei
|
7f16eda57f
|
R34: 工作台脚本详情统一弹窗(三入口共用+右侧诊断/分镜tab默认诊断+tab文字变色+空态按钮统一btn-view)
- 三处入口(首页AI脚本卡/AI写脚本「N查看」/脚本诊断页标题)共用 openScriptModal 顶层组件
- 合并两套重复弹窗代码(openRewriteCompare/openScriptDetail)
- 右侧列头部两 tab「脚本诊断|分镜提示词」默认显示脚本诊断
- 后端数据装配:ref 走 video-script+video-detail;custom 走 custom-script(失败回退 rewrites 全表定位);诊断按 review-full(ai||compare);分镜按 rewrite_id 归属过滤
- 分镜边界:仅 ref 视频支持(custom 无视频载体);无源 → 独立分析复盘;三模式复盘(AI/源/对比)
- 报告完整复盘:reportFullReview 抽全局(跨页复用)
- 场次滚动联动:仅分镜态生效(AI列滚动 → 分镜列对齐场块)
- 样式打磨:tab 去掉深蓝底色(active 文字变色+加粗);空态开始复盘/生成分镜统一 btn btn-sm btn-view
- CDP 冒烟 tmp/cdp-r34-modal-smoke.mjs 16/16 PASS(JS=v/w 两次)
|
2026-09-03 17:27:20 +08:00 |
|
maogeigei
|
fa55d3eecb
|
R33: 工作台热点数据页更新按钮(纯图标+30min冷却防重+整页重建+CDP冒烟全绿)
|
2026-09-03 17:06:19 +08:00 |
|
maogeigei
|
a3698faef5
|
R33: 工作台热点数据页更新按钮(纯图标+30min冷却防重+整页重建+CDP冒烟全绿)
|
2026-09-03 17:06:19 +08:00 |
|
maogeigei
|
93053fdd02
|
R32 日志+记忆:技能更名 短视频工作台 全记录
|
2026-09-03 16:43:55 +08:00 |
|
maogeigei
|
b93022d435
|
R32 日志+记忆:技能更名 短视频工作台 全记录
|
2026-09-03 16:43:55 +08:00 |
|
maogeigei
|
8a78c5b856
|
R31: 修复 ~/.workbuddy/skills 短视频脚本创作 junction 失效(空目录→重建指向 V1.0)+MEMORY.md 三次压缩
|
2026-09-03 16:29:30 +08:00 |
|
maogeigei
|
13ab7cfa63
|
R31: 修复 ~/.workbuddy/skills 短视频脚本创作 junction 失效(空目录→重建指向 V1.0)+MEMORY.md 三次压缩
|
2026-09-03 16:29:30 +08:00 |
|
maogeigei
|
87f42f9427
|
沉淀: R29 沟通歧义失误 #014;R29 列位移+60px 工作日志
|
2026-09-03 16:22:12 +08:00 |
|
maogeigei
|
430f805a38
|
沉淀: R29 沟通歧义失误 #014;R29 列位移+60px 工作日志
|
2026-09-03 16:22:12 +08:00 |
|
maogeigei
|
bbeb766ae3
|
log: R30 列表页 toolbar 拆行 + 间距差异化
|
2026-09-03 16:15:25 +08:00 |
|
maogeigei
|
4b20eff1a2
|
log: R30 列表页 toolbar 拆行 + 间距差异化
|
2026-09-03 16:15:25 +08:00 |
|
maogeigei
|
fff261e6de
|
R29: 账号详情视频列表「时长」前新增标签列(40px固定+悬停完整标签)
- data-pages.js: renderAccountDetail 表头 收藏后加 th-tag;数据行加 td-tag(title=完整标签, CSS省略); colspan 8→9/batch 9→10
- style.css: th-tag/td-tag(40px min/max + ellipsis)
- 冒烟 cdp-verify-r29.mjs 全 PASS; 版本 ?v=20260903l
- MEMORY.md 二次压缩 11148→7213B(注入截断修复)
|
2026-09-03 16:01:50 +08:00 |
|
maogeigei
|
7c98af6ecb
|
R29: 账号详情视频列表「时长」前新增标签列(40px固定+悬停完整标签)
- data-pages.js: renderAccountDetail 表头 收藏后加 th-tag;数据行加 td-tag(title=完整标签, CSS省略); colspan 8→9/batch 9→10
- style.css: th-tag/td-tag(40px min/max + ellipsis)
- 冒烟 cdp-verify-r29.mjs 全 PASS; 版本 ?v=20260903l
- MEMORY.md 二次压缩 11148→7213B(注入截断修复)
|
2026-09-03 16:01:50 +08:00 |
|
maogeigei
|
2751a17889
|
视频详情页:去掉视频分析tab;视频脚本/视频拆解未解析加解析按钮、已解析内容右上加刷新按钮(走技能F5 MCP解析任务)
|
2026-09-03 15:51:45 +08:00 |
|
maogeigei
|
8fe246fb51
|
视频详情页:去掉视频分析tab;视频脚本/视频拆解未解析加解析按钮、已解析内容右上加刷新按钮(走技能F5 MCP解析任务)
|
2026-09-03 15:51:45 +08:00 |
|
maogeigei
|
4d5a432595
|
账号列表重置按钮改更新按钮(⭐已关注批量重抓,确认弹窗+逐账号串行任务);AI写脚本页tab与搜索筛选移至标题下同一行(还原R26误并入标题行);状态列已解析去图标改浅绿
|
2026-09-03 15:48:16 +08:00 |
|
maogeigei
|
1a68637de8
|
账号列表重置按钮改更新按钮(⭐已关注批量重抓,确认弹窗+逐账号串行任务);AI写脚本页tab与搜索筛选移至标题下同一行(还原R26误并入标题行);状态列已解析去图标改浅绿
|
2026-09-03 15:48:16 +08:00 |
|
maogeigei
|
06df702524
|
日志:R26 AI写脚本页 tab 与搜索筛选同行
|
2026-09-03 15:34:51 +08:00 |
|
maogeigei
|
d874dcc386
|
日志:R26 AI写脚本页 tab 与搜索筛选同行
|
2026-09-03 15:34:51 +08:00 |
|
maogeigei
|
e2bc9f2759
|
AI写脚本页:tab 组件并入 page-toolbar 与搜索/筛选同行(对齐热点数据页布局)
|
2026-09-03 15:34:41 +08:00 |
|
maogeigei
|
6dc5fb26df
|
AI写脚本页:tab 组件并入 page-toolbar 与搜索/筛选同行(对齐热点数据页布局)
|
2026-09-03 15:34:41 +08:00 |
|
maogeigei
|
adaffc3ce9
|
日志:R25 首页AI脚本卡片评分徽章(listRecentScripts 关联复盘总分)
|
2026-09-03 15:32:36 +08:00 |
|
maogeigei
|
555cd693cb
|
日志:R25 首页AI脚本卡片评分徽章(listRecentScripts 关联复盘总分)
|
2026-09-03 15:32:36 +08:00 |
|
maogeigei
|
767e3bcde4
|
日志:清理 752042b/2624461 重复追加的 R24 终稿段(escalated 重跑误追加)
|
2026-09-03 15:26:22 +08:00 |
|
maogeigei
|
0f315de830
|
日志:清理 adb5711/8f5b4ee 重复追加的 R24 终稿段(escalated 重跑误追加)
|
2026-09-03 15:26:22 +08:00 |
|
maogeigei
|
2624461bc9
|
日志:R24 tab 终稿 title 悬停提示
|
2026-09-03 15:25:18 +08:00 |
|
maogeigei
|
8f5b4eec6b
|
日志:R24 tab 终稿 title 悬停提示
|
2026-09-03 15:25:18 +08:00 |
|
maogeigei
|
752042b700
|
日志:R24 tab 终稿 title 悬停提示
|
2026-09-03 15:24:51 +08:00 |
|
maogeigei
|
adb5711b11
|
日志:R24 tab 终稿 title 悬停提示
|
2026-09-03 15:24:51 +08:00 |
|
maogeigei
|
97dae592fc
|
日志:R24 tab信息图标定稿+统计条/入口改名记录
|
2026-09-03 15:22:23 +08:00 |
|
maogeigei
|
262f4c7a38
|
日志:R24 tab信息图标定稿+统计条/入口改名记录
|
2026-09-03 15:22:23 +08:00 |
|
maogeigei
|
8719ae5edc
|
热点数据 tab 恢复信息图标版(hover提示近7日数据);首页数据预览统计项「热门账号」改「关注账号」
|
2026-09-03 15:17:09 +08:00 |
|
maogeigei
|
e9aec189ea
|
热点数据 tab 恢复信息图标版(hover提示近7日数据);首页数据预览统计项「热门账号」改「关注账号」
|
2026-09-03 15:17:09 +08:00 |
|
maogeigei
|
acb4c3ea3c
|
热点数据 UI:首页入口改名+页内 tab 与赛道/时间筛选同行
- 首页入口卡「账号周榜」→「热点数据」(desc=账号周榜 · 视频热榜 · 点赞榜);CRUMB_TITLES ranking 同步
- #/ranking 页 rank-tabs 并入 page-toolbar 同一行(返回|标题|三榜tab|赛道下拉+期数切换),空/错误态仍可切 tab
- CSS .page-toolbar .rank-tabs 行内化;index.html 静态资源加 ?v=20260903 版本参数防缓存
|
2026-09-03 15:10:13 +08:00 |
|
maogeigei
|
1b1af15cc8
|
热点数据 UI:首页入口改名+页内 tab 与赛道/时间筛选同行
- 首页入口卡「账号周榜」→「热点数据」(desc=账号周榜 · 视频热榜 · 点赞榜);CRUMB_TITLES ranking 同步
- #/ranking 页 rank-tabs 并入 page-toolbar 同一行(返回|标题|三榜tab|赛道下拉+期数切换),空/错误态仍可切 tab
- CSS .page-toolbar .rank-tabs 行内化;index.html 静态资源加 ?v=20260903 版本参数防缓存
|
2026-09-03 15:10:13 +08:00 |
|
maogeigei
|
052550e0c0
|
工作台赛道筛选白名单:三榜只保留所需赛道(含「全部」)
- dsh-data.js 新增 RANK_KEEP 白名单(生活记录/生活vlog/小剧场/亲子/美食/旅行,覆盖账号榜与作品榜两套赛道枚举)
- collectCategories:赛道下拉=白名单∩实际出现,按白名单顺序(当期 0 条赛道不显示)
- getRanking:hot/likes 条目无条件白名单过滤(选「全部」也只保留白名单条目),再按请求赛道过滤;week 不变
- 验证:week 250/5 赛道不变;hot 下拉 4 赛道全 29 条;likes 下拉 4 赛道全 28 条;服务 5500 运行
|
2026-09-03 15:04:14 +08:00 |
|
maogeigei
|
d22310ffb3
|
工作台赛道筛选白名单:三榜只保留所需赛道(含「全部」)
- dsh-data.js 新增 RANK_KEEP 白名单(生活记录/生活vlog/小剧场/亲子/美食/旅行,覆盖账号榜与作品榜两套赛道枚举)
- collectCategories:赛道下拉=白名单∩实际出现,按白名单顺序(当期 0 条赛道不显示)
- getRanking:hot/likes 条目无条件白名单过滤(选「全部」也只保留白名单条目),再按请求赛道过滤;week 不变
- 验证:week 250/5 赛道不变;hot 下拉 4 赛道全 29 条;likes 下拉 4 赛道全 28 条;服务 5500 运行
|
2026-09-03 15:04:14 +08:00 |
|
maogeigei
|
faa0bd751f
|
热点三榜数据接入定稿:全品类单文件(不传赛道一次调用)+ 三子目录落盘
- fetch_week_ranks.py 重写:28 赛道循环→全品类不传 type 每榜每期 1 次调用;hotContentRank source 修正为生产名「抖音每日点赞飙升榜」(GitHub 后缀版返回空);API 单次上限 TOP50(limit/page/offset 实测均无效)固化防再探测;成本铁律「批量付费调用前须先经用户确认」
- 落盘契约:抖音榜单/ 三子目录(账号周榜/视频热榜/点赞榜),hot/likes 全品类单文件/期 抖音周榜_{视频热榜|点赞榜}_{周一}.json;旧 28 赛道 56 文件归档 _archive_旧28赛道结构_20260903
- dsh-data.js:RANK_SUB 子目录映射 + rankFilePath + listRankFiles(子目录优先+根目录旧平铺回退) + collectCategories(week=文件名赛道、hot/likes=条目 category 并集)+ getRanking 赛道筛选(week 文件名级/hot likes 条目级)
- 前端三榜渲染(data-pages.js/app.js/style.css 承接前段)+ 文档同步(主 SKILL.md 落盘表/抓取器说明段)+ dsh 副本 diff=0 + 记忆日志
|
2026-09-03 15:00:01 +08:00 |
|