From 82beea2ddc8e6246ae24bcd725e8a30b78a3e918 Mon Sep 17 00:00:00 2001 From: maogeigei Date: Thu, 3 Sep 2026 17:41:24 +0800 Subject: [PATCH] =?UTF-8?q?R36:=20=E6=A6=9C=E5=8D=95=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E7=A7=BB=E8=87=B3=20tab=20=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=8F=B3=E4=BE=A7=EF=BC=88=E9=87=8D=E6=9E=84=20toolbar?= =?UTF-8?q?=EF=BC=8Ctab=20=E4=B8=8A=E7=A7=BB=20page-toolbar=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 用户反馈:下载按钮「靠近 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 不动) --- .workbuddy/memory/2026-09-03.md | 13 +++++++++ .../V1.0/mcn-work-shop/public/data-pages.js | 28 +++++++++---------- .../V1.0/mcn-work-shop/public/index.html | 2 +- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.workbuddy/memory/2026-09-03.md b/.workbuddy/memory/2026-09-03.md index bb2b5cf..e799907 100644 --- a/.workbuddy/memory/2026-09-03.md +++ b/.workbuddy/memory/2026-09-03.md @@ -326,5 +326,18 @@ - **版本**:style.css ?v=20260903v→x、data-pages.js w→x(app.js 不动);同文件三处 bump 串行 - **CDP 验证**:JS=x;rankUpdate path 含 `M21 15v4...7 10 12 15 17 10...y1=15 y2=3` = download 图标 ✓;rankUpdate 宽 40px(+5)✓ +## R36 榜单「下载按钮」靠近 tab(09-03 17:35) +- **需求**:用户反馈「下载按钮放到 tab 组件右边」「靠近 tab 组件 不是 筛选和搜索组件」 +- **冲突点排查**:原来 rankUpdate 在 page-toolbar .toolbar-right;rank-toolbar.withFilters 控制整个 rank-toolbar(含 tab + 筛选)渲染——空态 toolbar(s,false) 时 rank-toolbar 不渲染;若简单把按钮移进 rank-toolbar 会丢失 R33 设计「空态也能看到更新按钮(首次抓取入口)」 +- **解法**:**重构 toolbar() 函数**——tab 始终在 page-toolbar 渲染(含空态/错误态),rankUpdate 紧贴 tab 右侧;rank-toolbar 仅放筛选+翻页(withFilters 时) + - HTML:page-toolbar 子元素顺序 = 返回 / 标题 / `
` 三个 tab / `` + - rank-tabs 用 `margin-left:auto` 推到右侧,rankUpdate 紧跟其后 → 视觉「"tab 组 + ⬇」紧贴 + - rank-toolbar:只保留 .toolbar-right(赛道 select + 翻页),无 tab +- **CSS 复用**:`.page-toolbar .rank-tabs { border-bottom:none; margin-bottom:0; align-self:center }`(L603)+ `.page-toolbar .rank-tab`(L604 紧凑样式)已就绪,无需新增样式 +- **验证**: + - CDP 实测:tab 在 page-toolbar ✓;btnInPageToolbar=true;filterExists=true(保留) + - 视觉截图:tab「账号周榜/视频热榜/点赞榜」+ ⬇ 在第一行右侧;筛选下拉+翻页在第二行 +- **版本**:data-pages.js x→y(CSS 不动) + ## R34 同步 dsh 副本计划 - dsh 副本 `C:\Users\maidou\.dsh\skills\short-video-script\`(独立副本,非软链)—— R34 改动 data-pages.js/app.js/style.css/index.html 同步评估后人工复制 diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js index 80bd42c..bc4464e 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/data-pages.js @@ -522,20 +522,13 @@ async function renderRanking(view) { const st = { week: mkState(), hot: mkState(), likes: mkState() }; let tab = 'week'; const tabLabel = () => { const t = RANK_TABS.find(([k]) => k === tab); return t ? t[1] : ''; }; - // tab 切换 + 赛道选择 + 时间切换 同一行(标题行只放 返回 | 标题,tab + 筛选放标题下一行 .rank-toolbar) - // 09-03 更新榜单按钮放标题行最右(.toolbar-right):三榜 tab 切换与空态(无本地数据文件)均可见,便于首次抓取 - const toolbar = (s, withFilters) => ` -
- ${toolbarBack()} - 热点数据 -
- -
+ // 09-03 tab 始终在 page-toolbar 渲染(含空态/错误态),下载按钮紧贴 tab 右侧;筛选+翻页放 rank-toolbar(withFilters 时) + const toolbar = (s, withFilters) => { + const tabsHtml = `
+ ${RANK_TABS.map(([k, label, tip]) => ``).join('')}
- ${withFilters ? `
-
- ${RANK_TABS.map(([k, label, tip]) => ``).join('')} -
+ `; + const filtersHtml = withFilters ? `