Skip to content

feat: 添加重新生成 AI 分析结果的功能 #252

@kubbot

Description

@kubbot

功能需求

在 ContentCard 组件中添加重新生成 AI 分析结果的功能,允许用户在内容上传后重新触发 AI 分析处理。

问题描述

目前内容上传后,AI 分析结果无法重新生成。用户可能需要在以下情况下重新生成 AI 分析:

  • AI 分析失败或结果不满意
  • 想要获取最新的 AI 分析结果
  • 内容处理过程中出现错误

解决方案

1. 后端实现

  • 创建新的 API 端点 POST /api/v1/content/{content_id}/regenerate-ai
  • 实现重新触发 AI 预处理管道的逻辑
  • 更新 AI 分析结果到数据库
  • 通过 SSE 实时通知前端处理进度

2. 前端实现

  • 在 ContentCard 右上角菜单中添加"重新生成 AI 分析"按钮
  • 添加确认对话框防止误操作
  • 实现调用后端 API 的逻辑
  • 添加加载状态和进度显示
  • 处理错误情况和用户反馈

技术实现细节

后端 API 设计

@router.post("/content/{content_id}/regenerate-ai")
async def regenerate_ai_analysis(
    content_id: int,
    current_user: User = Depends(get_current_user),
    session: AsyncSession = Depends(get_session)
):
    # 验证用户权限
    # 获取内容项
    # 重新触发 AI 处理
    # 返回处理状态

前端菜单集成

在 ContentCard 组件的菜单中添加新选项:

  • 查看详情
  • AI 分析
  • 复制链接
  • 复制内容
  • 重新生成 AI 分析 ← 新增

用户体验

  1. 用户点击菜单中的"重新生成 AI 分析"
  2. 显示确认对话框
  3. 确认后显示处理进度
  4. 实时更新 AI 分析结果
  5. 完成后自动刷新显示

验收标准

  • 菜单中能看到"重新生成 AI 分析"选项
  • 点击后显示确认对话框
  • 能够成功触发 AI 重新处理
  • 处理过程中显示进度状态
  • 完成后更新显示最新的 AI 分析结果
  • 错误情况下显示适当的错误信息

相关文件

  • Backend: app/utils/background_tasks.py
  • Backend: app/api/routes/content.py
  • Frontend: ContentCard 组件
  • Frontend: AI 分析相关的 hook 和 service

优先级

High - 这是一个重要的用户体验改进功能

标签

  • enhancement
  • ai
  • frontend
  • backend
  • user-experience

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions