R44: 账号详情信息卡字段对齐——抖音号/赛道等跨行 grid 列轨道共享(同视频详情方案),修复抖音号长短致作品数与AI制作错位;css ac→ad、data-pages ae→af

This commit is contained in:
maogeigei committed 2026-09-03 19:08:37 +08:00
1 parent bc762d73cd
commit 7ad8cf4e1f
4 files changed
+19 -7

No files matched your search

@@ -957,7 +957,7 @@ async function renderAccountDetail(view, id) {
if (tab === 'info' && persona === null) await loadPersona(); // 账号设定内联在信息页,首屏即加载(与视频数据并行)
if (tab === 'persona' && trendData === null) await loadTrend(); // 视频列表页首屏拉全量趋势数据(与分页数据并行)
const dv = await dvP;
const infoGrid = (label, val, wide, raw) => `<div class="info-item ${wide ? 'info-wide' : ''}"><div class="info-label">${label}</div><div class="info-value">${raw ? val : esc(fmt(val))}</div></div>`;
const infoGrid = (label, val, wide, raw, area) => `<div class="info-item ${wide ? 'info-wide' : ''}"${area ? ` style="grid-area:${area}"` : ''}><div class="info-label">${label}</div><div class="info-value">${raw ? val : esc(fmt(val))}</div></div>`;
const rows = (dv.items || []).map((v) => `<tr>
${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>
@@ -1009,10 +1009,8 @@ async function renderAccountDetail(view, id) {
: '-';
// 账号定位:默认最多 4 行,可点击展开/收起
const contentHtml = `<span class="clamp-wrap"><span class="clamp-text" data-clamp>${esc(contentText) || '-'}</span>${contentText.length > 120 ? `<button class="clamp-btn" data-clamp-toggle>展开</button>` : ''}</span>`;
panel = `<div class="info-card">
<div class="info-row">${infoGrid('抖音号', dyHtml, false, true)}${infoGrid('作品数', acc.works_count)}${infoGrid('获取视频', dv.total)}</div>
<div class="info-row">${infoGrid('赛道', acc.track)}${infoGrid('AI制作', acc.is_ai === '是' ? '是' : '否')}${infoGrid('粉丝', acc.followers)}${infoGrid('获赞', acc.total_likes)}</div>
<div class="info-row">${infoGrid('账号定位', contentHtml, true, true)}</div>
panel = `<div class="info-card account-info">
<div class="account-grid">${infoGrid('抖音号', dyHtml, false, true, 'a')}${infoGrid('作品数', acc.works_count, false, false, 'b')}${infoGrid('获取视频', dv.total, false, false, 'c')}${infoGrid('赛道', acc.track, false, false, 'd')}${infoGrid('AI制作', acc.is_ai === '是' ? '是' : '否', false, false, 'e')}${infoGrid('粉丝', acc.followers, false, false, 'f')}${infoGrid('获赞', acc.total_likes, false, false, 'g')}${infoGrid('账号定位', contentHtml, true, true, 'h')}</div>
</div>
<h3 class="video-list-title">账号设定</h3>
${personaPanel()}`;
@@ -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=20260903ac">
<link rel="stylesheet" href="style.css?v=20260903ad">
<script src="vendor/echarts.min.js"></script>
</head>
<body>
@@ -42,6 +42,6 @@
</div>
<script src="app.js?v=20260903y"></script>
<script src="data-pages.js?v=20260903ae"></script>
<script src="data-pages.js?v=20260903af"></script>
</body>
</html>
@@ -520,6 +520,10 @@ td.td-title { max-width: 240px; }
.info-row { display: flex; flex-wrap: wrap; gap: 10px 80px; }
.info-row .info-item { flex: 0 0 auto; min-width: 100px; }
.info-row + .info-row { margin-top: 10px; }
/* 账号信息字段对齐(09-03 R44):与视频详情同款解法——抖音号/作品数/获取视频 与 赛道/AI制作/粉丝/获赞 同处一个 grid,
列轨道跨行共享(a列=抖音号与赛道同宽,b列=作品数与AI制作严格对齐);原独立 .info-row 各行按内容宽排,抖音号长短会把「作品数」顶偏造成跨行错位 */
.account-info .account-grid { display: grid; grid-template-columns: repeat(4, minmax(min-content, max-content)); grid-template-areas: 'a b c .' 'd e f g' 'h h h h'; gap: 10px 80px; justify-content: start; }
.account-info .account-grid .info-item { min-width: 0; }
.info-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px 18px; }
.info-item { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.info-wide { grid-column: 1/-1; }