feat(scripts): #1893 文案库对接三个AI能力(抖音提取/AI改写/AI生成标题) #1935

Merged
xiaoxia merged 4 commits from feature/1893-scripts-ai into develop 2026-09-15 16:49:05 +08:00
Owner

背景

后端 PR#1930 已在 /api/v1/scripts 下新增三个 AI 端点(staging 已部署,81180d1),前端 ScriptLibrary 页面还看不到入口。本次补 UI 对接。

改动

新增文件

  • src/api/scripts/scripts-ai.ts:封装三个 AI 端点
    • extractScriptFromDouyin({url}) → POST /scripts/extract-from-douyin,timeout 60s(ASR 较慢)
    • aiRewriteScript({content, style}) → POST /scripts/ai-rewrite,style 支持「口语化/正式/活泼/治愈/励志」
    • aiGenerateTitles({content, count}) → POST /scripts/ai-generate-titles
  • 所有 AI 接口直接走真实 API,不走 SCRIPTS_API_MOCK 开关

修改文件

  • src/api/scripts/index.ts:barrel 追加导出 scripts-ai
  • src/pages/scripts/ScriptLibrary.tsx(约 +340 行)
    • 顶部工具栏「🎬 从抖音提取」按钮 → Modal 输入链接 → loading(Spin 提示)→ 成功后自动打开「新建文案」弹窗并预填 content
    • 新建/编辑弹窗 content TextArea 下方加 AI 改写工具条(风格 Select + AI 改写 按钮)→ 对比弹窗(原文/改写并列),用户选「应用改写/保留原文」
    • title 字段 label 内联「 AI 生成标题」按钮(BulbOutlined)→ 基于当前 content 生成 3 个候选,点击候选 Tag 直接填入 title
    • content 为空时「AI 生成标题」按钮自动禁用并提示
    • 错误处理复用全局拦截器 + extractErrMsg 兜底提取 detail
  • src/pages/scripts/scripts.css(+100 行):新增 AI 相关样式(紫/紫蓝渐变,沿用 --border-color/--text-* CSS 变量,响应式兼容)

验收

  • 列表页可见「从抖音提取」「新建文案」两个按钮
  • 新建/编辑弹窗:content 下方有「口语化 + AI 改写」工具条;title 标签后有「 AI 生成标题」按钮
  • 三个按钮 loading 态正确,失败展示后端 detail
  • CRUD 原有逻辑未动,SCRIPTS_API_MOCK 仍为 true
  • Prettier 格式化完成

关联:#1893、后端 PR#1930

## 背景 后端 PR#1930 已在 /api/v1/scripts 下新增三个 AI 端点(staging 已部署,81180d1),前端 ScriptLibrary 页面还看不到入口。本次补 UI 对接。 ## 改动 ### 新增文件 - `src/api/scripts/scripts-ai.ts`:封装三个 AI 端点 - `extractScriptFromDouyin({url})` → POST /scripts/extract-from-douyin,timeout 60s(ASR 较慢) - `aiRewriteScript({content, style})` → POST /scripts/ai-rewrite,style 支持「口语化/正式/活泼/治愈/励志」 - `aiGenerateTitles({content, count})` → POST /scripts/ai-generate-titles - 所有 AI 接口直接走真实 API,不走 SCRIPTS_API_MOCK 开关 ### 修改文件 - `src/api/scripts/index.ts`:barrel 追加导出 scripts-ai - `src/pages/scripts/ScriptLibrary.tsx`(约 +340 行) - 顶部工具栏「🎬 从抖音提取」按钮 → Modal 输入链接 → loading(Spin 提示)→ 成功后自动打开「新建文案」弹窗并预填 content - 新建/编辑弹窗 content TextArea 下方加 AI 改写工具条(风格 Select + ✨ AI 改写 按钮)→ 对比弹窗(原文/改写并列),用户选「应用改写/保留原文」 - title 字段 label 内联「✨ AI 生成标题」按钮(BulbOutlined)→ 基于当前 content 生成 3 个候选,点击候选 Tag 直接填入 title - content 为空时「AI 生成标题」按钮自动禁用并提示 - 错误处理复用全局拦截器 + `extractErrMsg` 兜底提取 detail - `src/pages/scripts/scripts.css`(+100 行):新增 AI 相关样式(紫/紫蓝渐变,沿用 --border-color/--text-* CSS 变量,响应式兼容) ## 验收 - 列表页可见「从抖音提取」「新建文案」两个按钮 - 新建/编辑弹窗:content 下方有「口语化 + ✨ AI 改写」工具条;title 标签后有「✨ AI 生成标题」按钮 - 三个按钮 loading 态正确,失败展示后端 detail - CRUD 原有逻辑未动,SCRIPTS_API_MOCK 仍为 true - Prettier 格式化完成 关联:#1893、后端 PR#1930
xiaoxia added 4 commits 2026-09-15 16:15:21 +08:00
feat(scripts): #1893 add index.ts
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m31s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m38s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 1m41s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m3s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 2m11s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m44s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 5m28s
AI Code Review / AI Code Review (pull_request) Successful in 6m38s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 12m20s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 15m13s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 15s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 41s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 22h53m6s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 23h8m3s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 23h8m11s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 23h8m18s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 22h52m26s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 23h7m39s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 23h7m36s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 22h52m27s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 23h7m28s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 23h7m31s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 23h7m33s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 23h7m35s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 23h7m36s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 23h7m42s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 22h52m25s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 22h52m26s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 23h7m21s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 23h7m21s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 23h7m39s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 23h43m14s
5e8baa68e0
auto-approve-bot approved these changes 2026-09-15 16:17:02 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-09-15 16:17:02 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。

🚀 预览环境已部署

项目 详情
PR号 #1935
预览链接 https://pr-1935.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1935 | | 预览链接 | [https://pr-1935.preview.xiaoxiajianji.com](https://pr-1935.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
xiaoxia merged commit dc0a5834f1 into develop 2026-09-15 16:49:05 +08:00

🗑️ 预览环境已清理

PR #1935 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1935 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.