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 ✓
This commit is contained in:
maogeigei committed 2026-09-03 17:35:26 +08:00
1 parent 7f16eda57f
commit 373710c325
4 files changed
+14 -4

No files matched your search

+9
View File
@@ -317,5 +317,14 @@
- **版本**:data-pages.js ?v=20260903v→w(CSS 没改保持 v,app.js 保持 v)
- **冒烟回归**:w 资源下 `tmp/cdp-r34-modal-smoke.mjs` 16/16 PASS 无回归
## R35 工作台「更新数据」按钮统一下载图标(09-03 17:30)
- **需求**:用户反馈「更新数据用 互联网下载那个图标,按钮宽度在宽5px」→ 后续补「包括账号列表的 更新按钮 统一样式」
- **改动**:
- `#rankUpdate`(榜单页纯图标按钮):`svgIcon('refresh',16)` → `svgIcon('download',16)`;CSS `#rankUpdate { padding-left/right: 11.5px }`(原 `.btn-icon` 9px→11.5px,总宽 35.3→40px ≈ +5px)
- `accUpdate`(账号列表「添加」「更新」并排按钮):`svgIcon('refresh',15)` → `svgIcon('download',15)} 更新`(保留文字,仅图标统一为下载)
- **不改动**:弹窗标题(`svgIcon('refresh',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)✓
## R34 同步 dsh 副本计划
- dsh 副本 `C:\Users\maidou\.dsh\skills\short-video-script\`(独立副本,非软链)—— R34 改动 data-pages.js/app.js/style.css/index.html 同步评估后人工复制
@@ -529,7 +529,7 @@ async function renderRanking(view) {
${toolbarBack()}
<span class="page-title">热点数据</span>
<div class="toolbar-right">
<button class="btn btn-icon" id="rankUpdate" title="更新榜单数据:后台任务重新抓取三榜(账号周榜 5 赛道 / 视频热榜 / 点赞榜)最新一期并落盘;30 分钟内已更新会拦截防重复">${svgIcon('refresh', 16, 'currentColor')}</button>
<button class="btn btn-icon" id="rankUpdate" title="更新榜单数据:后台任务重新抓取三榜(账号周榜 5 赛道 / 视频热榜 / 点赞榜)最新一期并落盘;30 分钟内已更新会拦截防重复">${svgIcon('download', 16, 'currentColor')}</button>
</div>
</div>
${withFilters ? `<div class="rank-toolbar">
@@ -794,7 +794,7 @@ async function renderAccounts(view) {
<select id="accTrack" class="input-select"><option value="">全部赛道</option>${tracks.map((t) => `<option value="${esc(t)}" ${t === state.track ? 'selected' : ''}>${esc(t)}</option>`).join('')}</select>
<input id="accSearch" class="input" placeholder="搜索账号名 / 内容 / 赛道" value="${esc(state.search)}">
<button class="btn" id="accImport" title="添加账号数据(抖音账号信息 / 账号地址)">${svgIcon('user-plus', 15, 'currentColor')} 添加</button>
<button class="btn" id="accUpdate" title="重新抓取所有已关注账号(⭐)的最新账号数据与视频列表(后台任务逐个执行)">${svgIcon('refresh', 15, 'currentColor')} 更新</button>
<button class="btn" id="accUpdate" title="重新抓取所有已关注账号(⭐)的最新账号数据与视频列表(后台任务逐个执行)">${svgIcon('download', 15, 'currentColor')} 更新</button>
</div>
</div>
<div class="table-wrap">
@@ -4,7 +4,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MCN工作台</title>
<link rel="stylesheet" href="style.css?v=20260903v">
<link rel="stylesheet" href="style.css?v=20260903x">
<script src="vendor/echarts.min.js"></script>
</head>
<body>
@@ -42,6 +42,6 @@
</div>
<script src="app.js?v=20260903v"></script>
<script src="data-pages.js?v=20260903w"></script>
<script src="data-pages.js?v=20260903x"></script>
</body>
</html>
@@ -427,6 +427,7 @@ main#view { height: calc(100vh - 55px); overflow: auto; } /* 55px=topbar 实际
.btn:disabled { opacity: .5; cursor: not-allowed; }
.btn-busy { background: var(--primary-soft) !important; color: var(--primary) !important; border-color: var(--primary) !important; opacity: .8; }
.btn-icon { padding: 5px 9px; display: inline-flex; align-items: center; justify-content: center; } /* 纯图标按钮(09-03:榜单更新等) */
#rankUpdate { padding-left: 11.5px; padding-right: 11.5px; } /* 09-03 更新按钮加宽 5px(icon 16 + 左右 padding 9→11.5),更易点中 */
.btn-busy .ic { animation: req-spin 1s linear infinite; } /* busy 态图标旋转(复用弹窗 spinner 动画) */
.btn-sm { padding: 3px 10px; font-size: 14px; border-radius: 6px; }
.btn-primary { background: var(--primary); color: #fff; border-color: transparent; }