后端: - 审核结果拆分为 4 个独立维度 (法规合规/平台规则/品牌安全/Brief匹配度) - 卖点优先级从 required:bool 改为三级 (core/recommended/reference) - AI 语义匹配卖点覆盖 + AI 整体 Brief 匹配度分析 - BriefMatchDetail 评分详情 (覆盖率+亮点+问题点) - min_selling_points 代理商可配置最少卖点数 + Alembic 迁移 - AI 语境复核过滤误报 - Brief AI 解析 + 规则 AI 解析 - AI 未配置/异常时通知品牌方 - 种子数据更新 (新格式审核结果+brief_match_detail) 前端: - 三端审核页面展示四维度评分卡片 - 卖点编辑改为三级优先级选择器 - BriefMatchDetail 展示 (覆盖率进度条+亮点+问题) - min_selling_points 配置 UI - AI 配置页未配置时静默处理 - 文件预览/下载/签名 URL 优化 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
/**
|
|
* Brief 相关类型定义
|
|
* 与后端 BriefResponse 对齐
|
|
*/
|
|
|
|
export interface BriefAttachment {
|
|
id: string
|
|
name: string
|
|
url: string
|
|
size?: string
|
|
}
|
|
|
|
export interface SellingPoint {
|
|
content: string
|
|
priority?: 'core' | 'recommended' | 'reference'
|
|
required?: boolean // 向后兼容旧格式
|
|
}
|
|
|
|
export interface BlacklistWord {
|
|
word: string
|
|
reason: string
|
|
}
|
|
|
|
export interface BriefResponse {
|
|
id: string
|
|
project_id: string
|
|
project_name?: string | null
|
|
file_url?: string | null
|
|
file_name?: string | null
|
|
selling_points?: SellingPoint[] | null
|
|
min_selling_points?: number | null
|
|
blacklist_words?: BlacklistWord[] | null
|
|
competitors?: string[] | null
|
|
brand_tone?: string | null
|
|
min_duration?: number | null
|
|
max_duration?: number | null
|
|
other_requirements?: string | null
|
|
attachments?: BriefAttachment[] | null
|
|
agency_attachments?: BriefAttachment[] | null
|
|
created_at: string
|
|
updated_at: string
|
|
}
|
|
|
|
export interface BriefCreateRequest {
|
|
file_url?: string
|
|
file_name?: string
|
|
selling_points?: SellingPoint[]
|
|
blacklist_words?: BlacklistWord[]
|
|
competitors?: string[]
|
|
brand_tone?: string
|
|
min_duration?: number
|
|
max_duration?: number
|
|
other_requirements?: string
|
|
attachments?: BriefAttachment[]
|
|
agency_attachments?: BriefAttachment[]
|
|
}
|