fix(web): split monitoring account metrics into columns

This commit is contained in:
2026-09-28 12:52:18 +08:00
parent ae7dec7e88
commit 5dcabcb3cd
2 changed files with 21 additions and 9 deletions
@@ -139,15 +139,16 @@ export default function MonitoringAccountList() {
),
},
{
title: '账号数据',
key: 'stats',
render: (_, account) => (
<Space wrap>
<Typography.Text type="secondary">粉丝 {formatCount(account.follower_count)}</Typography.Text>
<Typography.Text type="secondary">关注 {formatCount(account.following_count)}</Typography.Text>
<Typography.Text type="secondary">作品 {formatCount(account.work_count ?? account.aweme_count ?? null)}</Typography.Text>
</Space>
),
title: '粉丝',
render: (_, account) => formatCount(account.follower_count),
},
{
title: '关注',
render: (_, account) => formatCount(account.following_count),
},
{
title: '作品',
render: (_, account) => formatCount(account.work_count ?? account.aweme_count ?? null),
},
{
title: '最近发布',
@@ -23,6 +23,17 @@ test('监控账号列表使用 Table,一行一个账号,保留详情入口
assert.doesNotMatch(code, /<Listy\b/);
});
test('粉丝、关注、作品分别占一列,单元格只显示数值', () => {
assert.doesNotMatch(code, /title: '账号数据'/);
for (const [title, value] of [
['粉丝', 'account.follower_count'],
['关注', 'account.following_count'],
['作品', 'account.work_count ?? account.aweme_count ?? null'],
]) {
assert.ok(code.includes(`title: '${title}',\n render: (_, account) => formatCount(${value}),`), `${title} 应为单独数值列`);
}
});
test('列表不展示冗长的平台账号,保留画像统计及同步异常', () => {
assert.doesNotMatch(code, /row\.platform_account_key|account\.platform_account_key/);
for (const field of ['follower_count', 'following_count', 'work_count', 'latest_published_at', 'last_sync_at', 'sync_error']) {