feat(video-analysis): 完成视频分析模块迭代任务
Bug 修复:
- T-019: 修复品牌API响应解析,正确解析 data[0].brand_name
- T-020: 添加品牌API Bearer Token认证
视频分析功能:
- T-021: SessionID池服务,从内部API获取Cookie列表
- T-022: SessionID自动重试,失效时自动切换重试
- T-023: 巨量云图API封装,支持超时和错误处理
- T-024: 视频分析数据接口 GET /api/v1/videos/{item_id}/analysis
- T-025: 数据库A3指标更新
- T-026: 视频分析前端页面,展示6大类25+指标
测试覆盖率:
- brand_api.py: 100%
- session_pool.py: 100%
- yuntu_api.py: 100%
- video_analysis.py: 99%
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -61,3 +61,58 @@ export const QUERY_PLACEHOLDER: Record<QueryType, string> = {
|
||||
unique_id: '请输入达人unique_id,每行一个...',
|
||||
nickname: '请输入达人昵称关键词...',
|
||||
};
|
||||
|
||||
// 视频分析数据 (T-026)
|
||||
export interface VideoAnalysisData {
|
||||
base_info: {
|
||||
item_id: string;
|
||||
title: string | null;
|
||||
video_url: string | null;
|
||||
star_id: string;
|
||||
star_unique_id: string;
|
||||
star_nickname: string;
|
||||
publish_time: string | null;
|
||||
industry_name: string | null;
|
||||
};
|
||||
reach_metrics: {
|
||||
total_show_cnt: number;
|
||||
natural_show_cnt: number;
|
||||
ad_show_cnt: number;
|
||||
total_play_cnt: number;
|
||||
natural_play_cnt: number;
|
||||
ad_play_cnt: number;
|
||||
effective_play_cnt: number;
|
||||
};
|
||||
a3_metrics: {
|
||||
a3_increase_cnt: number;
|
||||
ad_a3_increase_cnt: number;
|
||||
natural_a3_increase_cnt: number;
|
||||
};
|
||||
search_metrics: {
|
||||
after_view_search_uv: number;
|
||||
after_view_search_pv: number;
|
||||
brand_search_uv: number;
|
||||
product_search_uv: number;
|
||||
return_search_cnt: number;
|
||||
};
|
||||
cost_metrics_raw: {
|
||||
cost: number;
|
||||
natural_cost: number;
|
||||
ad_cost: number;
|
||||
};
|
||||
cost_metrics_calculated: {
|
||||
cpm: number | null;
|
||||
natural_cpm: number | null;
|
||||
cpa3: number | null;
|
||||
natural_cpa3: number | null;
|
||||
cp_search: number | null;
|
||||
estimated_natural_search_uv: number | null;
|
||||
natural_cp_search: number | null;
|
||||
};
|
||||
}
|
||||
|
||||
export interface VideoAnalysisResponse {
|
||||
success: boolean;
|
||||
data: VideoAnalysisData;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user