refactor(platform): 平台收敛为抖音——移除小红书全链路,监控账号新增画像字段与卡片列表
- 移除小红书:internal/platform/xiaohongshu、controlplane XHS 分支与路由、 browser_gateway XHS 平台模块与处理器、前端平台选项;migration 038 清理 XHS 数据并将 creator_* 平台 CHECK 收紧为 douyin - creator_competitor 新增 follower_count/following_count/aweme_count(仅 接口定义返回,暂不采集回填);列表接口返回 work_count 与 latest_published_at(creator_work_source 聚合 MAX(published_at)) - 导入页账号名称列展示作者头像(share job 列表带出 avatar_url) - 监控账号页改 antd Listy 卡片列表(头像+粉丝/关注/作品/最近发布/同步状态); AccountManagementList 收敛为 owned 专用 - 环境模块清理 browser_version 遗留:migration 034 补齐删列,修复 store.go 中 hub 别名悬空引用,测试 fixture 对齐新 schema
This commit is contained in:
@@ -23,7 +23,7 @@ import {
|
||||
import { creatorAction, creatorCreate, creatorGet, creatorRequest, creatorUpdate, getList } from '@/services/api';
|
||||
import { conflictMessage, dateTime } from '@/utils/helpers';
|
||||
|
||||
const platformLabelMap: Record<string, string> = { douyin: '抖音', xiaohongshu: '小红书' };
|
||||
const platformLabelMap: Record<string, string> = { douyin: '抖音' };
|
||||
const eventTypeOptions = [
|
||||
{ value: 'comment', label: '评论' },
|
||||
{ value: 'like', label: '点赞' },
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
import { useCallback, useEffect, useState } from 'react';
|
||||
import {
|
||||
Alert,
|
||||
Avatar,
|
||||
Button,
|
||||
Card,
|
||||
Flex,
|
||||
Form,
|
||||
Input,
|
||||
Modal,
|
||||
@@ -29,6 +31,7 @@ interface Job {
|
||||
failure_reason?: string;
|
||||
created_at?: string;
|
||||
author_name?: string;
|
||||
author_avatar_url?: string;
|
||||
competitor_id?: string;
|
||||
}
|
||||
|
||||
@@ -128,8 +131,15 @@ export default function Page() {
|
||||
</Typography.Text>
|
||||
);
|
||||
}
|
||||
// 名称来自 competitor_id 关联的监控账号(creator_competitor),点击跳转竞品作者详情。
|
||||
const inner = <Typography.Text strong>{value}</Typography.Text>;
|
||||
// 名称/头像来自 competitor_id 关联的监控账号(creator_competitor),点击跳转竞品作者详情。
|
||||
const inner = (
|
||||
<Flex align="center" gap={8}>
|
||||
<Avatar size={24} src={job?.author_avatar_url || undefined}>
|
||||
{value.slice(0, 1).toUpperCase()}
|
||||
</Avatar>
|
||||
<Typography.Text strong>{value}</Typography.Text>
|
||||
</Flex>
|
||||
);
|
||||
return job?.competitor_id ? (
|
||||
<Typography.Link href={`/creator/competitors/${job.competitor_id}`}>{inner}</Typography.Link>
|
||||
) : (
|
||||
@@ -199,13 +209,13 @@ export default function Page() {
|
||||
<Modal open={createOpen} title="创建账号导入任务" onCancel={closeCreate} onOk={createJob} confirmLoading={busy} okText={busy ? '加入中…' : '加入解析队列'} width={560}>
|
||||
<Form form={form} layout="vertical">
|
||||
<Form.Item name="shareText" label="分享内容或链接" required extra="可直接粘贴平台分享文案,系统会自动提取其中的链接并识别作者。">
|
||||
<Input.TextArea rows={4} placeholder="粘贴抖音或小红书的分享内容" />
|
||||
<Input.TextArea rows={4} placeholder="粘贴抖音的分享内容" />
|
||||
</Form.Item>
|
||||
{shareText ? (
|
||||
extractedShareURL ? (
|
||||
<Typography.Paragraph type="secondary" style={{ fontSize: 12 }}>
|
||||
已提取链接:{extractedShareURL}
|
||||
{sharePlatform ? ` · ${sharePlatform === 'douyin' ? '抖音' : '小红书'}` : ' · 待识别平台'}
|
||||
{sharePlatform ? ' · 抖音' : ' · 待识别平台'}
|
||||
</Typography.Paragraph>
|
||||
) : (
|
||||
<Typography.Paragraph type="danger" style={{ fontSize: 12 }}>未找到可用的 http(s) 分享链接。</Typography.Paragraph>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// 我的账号列表:语义对齐 web.archived AccountManagementList(mode="owned")。
|
||||
// 我的账号列表(owned):语义对齐 web.archived AccountManagementList(mode="owned")。
|
||||
import AccountManagementList from '@/components/accounts/AccountManagementList';
|
||||
|
||||
export default function Page() {
|
||||
return <AccountManagementList mode="owned" />;
|
||||
return <AccountManagementList />;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// 监控账号列表:语义对齐 web.archived AccountManagementList(mode="monitoring")。
|
||||
import AccountManagementList from '@/components/accounts/AccountManagementList';
|
||||
// 监控账号列表:一行一个账号的 card list(含头像与粉丝/关注/作品/最近发布画像)。
|
||||
import MonitoringAccountList from '@/components/accounts/MonitoringAccountList';
|
||||
|
||||
export default function Page() {
|
||||
return <AccountManagementList mode="monitoring" />;
|
||||
return <MonitoringAccountList />;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user