from dataclasses import dataclass from typing import Dict, Optional, Any, List @dataclass class DouYinSearchConfig: """抖音搜索配置类""" search_content: str # 搜索内容(关键词/图片URL) content_type: Optional[str] = None # 内容类型(视频/图文等) sort_type: Optional[str] = None # 排序类型(综合排序/最新等) publish_time: Optional[str] = None # 发布时间(不限/近7天等) duration: Optional[str] = None # 时长(不限/1分钟内等) cursor: Optional[str] = None # 分页游标 account_id: Optional[str] = None # 使用的账号 @dataclass class ChannelSearchAndDetailDTO: """渠道搜索结果详情DTO""" search_content: Optional[str] = None # 搜索内容 search_result: Optional[Dict[str, Any]] = None # 原始搜索结果 channel_content_id: Optional[str] = None # 内容ID channel_account_id: Optional[str] = None # 账号ID content_detail: Optional[Dict[str, Any]] = None # 内容详情 fans_portrait: Optional[Dict[str, Any]] = None # 粉丝画像 @dataclass class SearchFilterConfigItem: key: str operator: str value: str @dataclass class SaveFilterConditionParam: condition_type: int operator: int data: List[str]