feat: Brief附件/项目平台/规则AI解析/消息中心修复 + 项目创建通知
- Brief 支持代理商附件上传 (迁移 007) - 项目新增 platform 字段 (迁移 008),前端创建/展示平台信息 - 修复 AI 规则解析:处理中文引号导致 JSON 解析失败的问题 - 修复消息中心崩溃:补全后端消息类型映射 + fallback 保护 - 项目创建时自动发送消息通知 - .gitignore 排除 backend/data/ 数据库文件 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
58aed5f201
commit
4c9b2f1263
@@ -8,7 +8,7 @@ import { Modal } from '@/components/ui/Modal'
|
||||
import { useToast } from '@/components/ui/Toast'
|
||||
import { api } from '@/lib/api'
|
||||
import { USE_MOCK } from '@/contexts/AuthContext'
|
||||
import { useOSSUpload } from '@/hooks/useOSSUpload'
|
||||
// upload via api.proxyUpload directly
|
||||
import type {
|
||||
ForbiddenWordResponse,
|
||||
CompetitorResponse,
|
||||
@@ -192,7 +192,8 @@ function ListSkeleton({ count = 3 }: { count?: number }) {
|
||||
export default function RulesPage() {
|
||||
const toast = useToast()
|
||||
const fileInputRef = useRef<HTMLInputElement>(null)
|
||||
const { upload: ossUpload, isUploading: isOssUploading, progress: ossProgress } = useOSSUpload('rules')
|
||||
const [isOssUploading, setIsOssUploading] = useState(false)
|
||||
const [ossProgress, setOssProgress] = useState(0)
|
||||
|
||||
// Tab 选择
|
||||
const [activeTab, setActiveTab] = useState<'platforms' | 'forbidden' | 'competitors' | 'whitelist'>('platforms')
|
||||
@@ -337,8 +338,14 @@ export default function RulesPage() {
|
||||
return
|
||||
}
|
||||
|
||||
// 真实模式: 上传到 TOS
|
||||
const uploadResult = await ossUpload(uploadFile)
|
||||
// 真实模式: 上传到 TOS (通过后端代理)
|
||||
setIsOssUploading(true)
|
||||
setOssProgress(0)
|
||||
const uploadResult = await api.proxyUpload(uploadFile, 'rules', (pct) => {
|
||||
setOssProgress(Math.min(95, Math.round(pct * 0.95)))
|
||||
})
|
||||
setOssProgress(100)
|
||||
setIsOssUploading(false)
|
||||
documentUrl = uploadResult.url
|
||||
|
||||
// 调用 AI 解析
|
||||
@@ -374,6 +381,7 @@ export default function RulesPage() {
|
||||
toast.error('文档解析失败:' + (err instanceof Error ? err.message : '未知错误'))
|
||||
} finally {
|
||||
setParsing(false)
|
||||
setIsOssUploading(false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user