| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- export type TaskStatus = 'pending' | 'uploading' | 'analyzing' | 'searching' | 'processing' | 'exporting' | 'completed' | 'failed';
- export type TaskStepId = 'upload' | 'analyze' | 'rules' | 'search' | 'recommend' | 'export';
- export interface TaskStep {
- id: TaskStepId;
- label: string;
- status: 'pending' | 'running' | 'done' | 'error';
- progress: number;
- detail?: string;
- }
- export interface BriefRequirement {
- label: string;
- value: string;
- confidence: number;
- }
- export interface SearchCriteria {
- platforms: string[];
- keywords: string[];
- fanRange: { min: number; max: number };
- budgetRange: { min: number; max: number };
- region?: string;
- gender?: string;
- contentTags?: string[];
- excludeTags?: string[];
- }
- export interface CandidateCreator {
- id: string;
- platform: string;
- platformUserId: string;
- displayName: string;
- profileUrl: string;
- location: string;
- fansCount: number;
- contentTags: string[];
- personaTags: string[];
- gender?: string;
- likedCollectCount?: number;
- contentType?: string;
- city?: string;
- geoLocation?: string;
- xiaohongshuUrl?: string;
- cooperationMethod?: string;
- imagePrice: number;
- videoPrice: number;
- minPrice: number;
- cooperationStatus: string;
- sourceProvider: string;
- sourceConfidence: number;
- score?: number;
- styleMatch?: number;
- recommendStatus?: '强推荐' | '备选' | '需复核' | '已剔除';
- recommendReason?: string;
- riskNote?: string;
- }
- export interface TaskResult {
- taskId: string;
- status: TaskStatus;
- steps: TaskStep[];
- requirements?: BriefRequirement[];
- searchCriteria?: SearchCriteria;
- candidates?: CandidateCreator[];
- totalPool?: number;
- candidateCount?: number;
- strongCount?: number;
- backupCount?: number;
- exportUrl?: string;
- error?: string;
- createdAt: string;
- updatedAt: string;
- }
- export interface UploadBriefResponse {
- taskId: string;
- fileName: string;
- message: string;
- localCreatorCount?: number;
- }
- export interface TaskProgressEvent {
- taskId: string;
- step: TaskStepId;
- status: 'running' | 'done' | 'error';
- progress: number;
- detail?: string;
- data?: unknown;
- }
|