Your Name 0ef7650c09 feat: 审核体系全面改造 — 多维度评分 + 卖点优先级 + AI 语义匹配 + 品牌方 AI 状态通知
后端:
- 审核结果拆分为 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>
2026-02-11 19:11:54 +08:00

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[]
}