R29 列位移修正:账号详情视频列表标签列从「时长」前改为「点赞」左边

- 之前位置(时长前)按用户原话「时长前面」实现,忽略了三遍明确指示(标签在点赞左边)
- 新位置(点赞左边):data-pages.js 表头/data 行同步移动 td-tag
- 冒烟脚本 cdp-verify-r29.mjs 断言更新:thTagIdx 6→2、tagBeforeDur→tagBeforeLike、rowCells[6]→rowCells[2]
- 版本 ?v=20260903o→p;CDP PASS + 视觉截图确认
This commit is contained in:
maogeigei committed 2026-09-03 16:17:33 +08:00
1 parent 4b20eff1a2
commit 2aa13bf900
3 files changed
+9 -8

No files matched your search

@@ -30,9 +30,10 @@ const out = await ev(`(() => {
return {
ths, // 完整表头文本序列
thTagIdx: ths.indexOf('标签'),
likeIdx: ths.indexOf('点赞'),
durIdx: ths.indexOf('时长'),
thTagW: thTag ? Math.round(thTag.getBoundingClientRect().width) : null,
tagBeforeDur: ths.indexOf('标签') === ths.indexOf('时长') - 1,
tagBeforeLike: ths.indexOf('标签') === ths.indexOf('点赞') - 1,
// 数据行
rowCells: cells.map((c) => ({ cls: c.className, txt: (c.textContent || '').trim().slice(0, 24) })),
tagTdText: tagTd ? (tagTd.textContent || '').trim() : null,
@@ -44,9 +45,9 @@ const out = await ev(`(() => {
})()`);
console.log(JSON.stringify(out, null, 1));
const ok = out && !out.__err
&& out.ths.length === 9 && out.thTagIdx === 6 && out.durIdx === 7 && out.tagBeforeDur === true
&& out.ths.length === 9 && out.thTagIdx === 2 && out.likeIdx === 3 && out.durIdx === 7 && out.tagBeforeLike === true
&& out.thTagW === 40
&& out.rowCells.length === 9 && out.rowCells[6].cls.includes('td-tag')
&& out.rowCells.length === 9 && out.rowCells[2].cls.includes('td-tag')
&& !!out.tagTdText && out.tagTdText.length > 0
&& !!out.tagTdTitle && out.tagTdTitle.includes('#') && out.tagTdTitle.length >= out.tagTdText.length
&& out.tagTdClips === true && out.tagTdW === 40 && out.hasNumClass === false;
@@ -866,11 +866,11 @@ async function renderAccountDetail(view, id) {
${bstate.batch ? `<td class="cb-cell"><input type="checkbox" class="batch-cb" data-id="${v.id}"></td>` : ''}
<td class="td-pub">${fmt(v.publish_time)}</td>
<td class="cell-content td-title"><a class="link" href="#/video/${v.id}" title="查看视频分析详情">${esc(cleanTitle(v.video_title) || '-')}</a></td>
<td class="td-tag"${v.tags ? ` title="${esc(v.tags)}"` : ''}>${v.tags ? esc(v.tags) : ''}</td>
<td class="num">${fmtWan(v.like_display || v.like_count)}</td>
<td class="num">${fmtWan(v.comment_count)}</td>
<td class="num">${fmtWan(v.share_count)}</td>
<td class="num">${fmtWan(v.collect_count)}</td>
<td class="td-tag"${v.tags ? ` title="${esc(v.tags)}"` : ''}>${v.tags ? esc(v.tags) : ''}</td>
<td class="num">${fmtDuration(v.duration)}</td>
<td class="cell-act"><button class="btn btn-sm ${(v.has_source || v.has_analysis) ? 'btn-view' : ''}" data-rewrite='${esc(JSON.stringify({ id: v.id, name: acc.account_name, title: cleanTitle(v.video_title), aweme: v.aweme_id, url: v.video_url || '', parsed: !!(v.has_source || v.has_analysis) }))}'>AI创作</button></td>
</tr>`).join('');
@@ -922,7 +922,7 @@ async function renderAccountDetail(view, id) {
${personaPanel()}`;
} else if (tab === 'persona') {
panel = `<div class="trend-chart"><div id="trendChart"></div></div>
<div class="table-wrap"><table class="table"><thead><tr>${bstate.batch ? '<th class="cb-cell"><input type="checkbox" class="batch-cb-all"></th>' : ''}<th class="th-pub">发布时间</th><th class="th-title">视频标题</th><th class="num">点赞</th><th class="num">评论</th><th class="num">分享</th><th class="num">收藏</th><th class="th-tag">标签</th><th class="num">时长</th><th class="th-act">操作</th></tr></thead><tbody>${rows || `<tr><td colspan="${bstate.batch ? 10 : 9}" class="empty">暂无视频数据</td></tr>`}</tbody></table></div>
<div class="table-wrap"><table class="table"><thead><tr>${bstate.batch ? '<th class="cb-cell"><input type="checkbox" class="batch-cb-all"></th>' : ''}<th class="th-pub">发布时间</th><th class="th-title">视频标题</th><th class="th-tag">标签</th><th class="num">点赞</th><th class="num">评论</th><th class="num">分享</th><th class="num">收藏</th><th class="num">时长</th><th class="th-act">操作</th></tr></thead><tbody>${rows || `<tr><td colspan="${bstate.batch ? 10 : 9}" class="empty">暂无视频数据</td></tr>`}</tbody></table></div>
<div class="list-footer">
${batchBarHtml(bstate, 0)}
${pagerHtml(dv.total, dv.page, 20, (p) => { page = p; load(); })}
@@ -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=20260903o">
<link rel="stylesheet" href="style.css?v=20260903p">
<script src="vendor/echarts.min.js"></script>
</head>
<body>
@@ -41,7 +41,7 @@
</div>
</div>
<script src="app.js?v=20260903o"></script>
<script src="data-pages.js?v=20260903o"></script>
<script src="app.js?v=20260903p"></script>
<script src="data-pages.js?v=20260903p"></script>
</body>
</html>