feature_list_optimize.json 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625
  1. {
  2. "project_name": "AI语音应用 - 生成内容优化",
  3. "base_config": {
  4. "backend_port": 3000,
  5. "frontend_port": 5173,
  6. "db_host": "localhost",
  7. "db_port": 3306,
  8. "auth_enabled": false
  9. },
  10. "features": [
  11. {
  12. "id": 1,
  13. "description": "模板库 - 基础场景模板API",
  14. "status": "done",
  15. "passes": true,
  16. "priority": "high",
  17. "phase": "1",
  18. "backend_test_steps": [
  19. "1. curl http://localhost:3000/api/templates - 验证获取模板分类列表",
  20. "2. curl http://localhost:3000/api/templates?category=广告营销 - 验证按分类筛选模板",
  21. "3. curl http://localhost:3000/api/templates/1 - 验证获取单个模板详情",
  22. "4. curl -X POST http://localhost:3000/api/templates -H 'Content-Type: application/json' -d '{\"name\":\"测试模板\",\"category\":\"广告营销\",\"content\":\"示例内容\"}' - 验证创建模板",
  23. "5. curl -X PUT http://localhost:3000/api/templates/1 -H 'Content-Type: application/json' -d '{\"name\":\"更新模板名\"}' - 验证更新模板",
  24. "6. curl -X DELETE http://localhost:3000/api/templates/1 - 验证删除模板"
  25. ],
  26. "frontend_test_steps": [
  27. "1. 进入生成页面",
  28. "2. 点击模板选择按钮",
  29. "3. 验证模板分类标签显示正确(广告营销/知识付费/短视频/企业宣传/日常生活/新闻资讯)",
  30. "4. 点击某个分类验证模板列表筛选",
  31. "5. 点击选择模板验证内容自动填充到输入框",
  32. "6. 验证模板预览功能正常"
  33. ]
  34. },
  35. {
  36. "id": 2,
  37. "description": "模板库 - 模板选择UI组件",
  38. "status": "done",
  39. "passes": true,
  40. "priority": "high",
  41. "phase": "1",
  42. "backend_test_steps": [
  43. "1. curl http://localhost:3000/api/templates - 验证模板列表接口"
  44. ],
  45. "frontend_test_steps": [
  46. "1. 在生成页面点击模板按钮",
  47. "2. 验证弹出模板选择面板",
  48. "3. 验证面板显示模板分类标签",
  49. "4. 验证每个分类显示对应模板卡片",
  50. "5. 验证模板卡片显示名称、描述、预览缩略图",
  51. "6. 点击模板验证选中效果",
  52. "7. 确认选择后验证内容填充到输入框"
  53. ]
  54. },
  55. {
  56. "id": 3,
  57. "description": "背景音乐 - 背景音乐库API",
  58. "status": "done",
  59. "passes": true,
  60. "priority": "high",
  61. "phase": "1",
  62. "backend_test_steps": [
  63. "1. curl http://localhost:3000/api/bgm - 验证获取背景音乐列表",
  64. "2. curl http://localhost:3000/api/bgm?mood=轻柔 - 验证按风格筛选",
  65. "3. curl http://localhost:3000/api/bgm/1 - 验证获取单个背景音乐详情",
  66. "4. curl -X POST http://localhost:3000/api/bgm -H 'Content-Type: application/json' -d '{\"name\":\"测试BGM\",\"url\":\"https://xxx.mp3\",\"mood\":\"轻柔\",\"duration\":180}' - 验证添加背景音乐",
  67. "5. curl -X PUT http://localhost:3000/api/bgm/1 -H 'Content-Type: application/json' -d '{\"volume\":0.5}' - 验证更新背景音乐音量",
  68. "6. curl -X DELETE http://localhost:3000/api/bgm/1 - 验证删除背景音乐"
  69. ],
  70. "frontend_test_steps": [
  71. "1. 进入生成页面",
  72. "2. 验证背景音乐选择区域显示",
  73. "3. 点击背景音乐按钮展开音乐选择面板",
  74. "4. 验证音乐列表显示名称、风格标签、时长",
  75. "5. 点击播放按钮验证音乐试听",
  76. "6. 选择背景音乐验证自动设置音量",
  77. "7. 验证最终生成音频包含背景音乐"
  78. ]
  79. },
  80. {
  81. "id": 4,
  82. "description": "背景音乐 - 音量调节功能",
  83. "status": "done",
  84. "passes": true,
  85. "priority": "high",
  86. "phase": "1",
  87. "backend_test_steps": [
  88. "1. curl -X POST http://localhost:3000/api/generate -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\",\"bgmId\":1,\"bgmVolume\":0.3}' - 验证带背景音乐参数生成"
  89. ],
  90. "frontend_test_steps": [
  91. "1. 进入生成页面",
  92. "2. 选择背景音乐",
  93. "3. 验证音量滑块显示",
  94. "4. 调节音量滑块验证数值变化",
  95. "5. 验证音量实时预览",
  96. "6. 生成音频验证背景音乐音量正确"
  97. ]
  98. },
  99. {
  100. "id": 5,
  101. "description": "试听预览 - 预览API",
  102. "status": "done",
  103. "passes": true,
  104. "priority": "high",
  105. "phase": "1",
  106. "backend_test_steps": [
  107. "1. curl -X POST http://localhost:3000/api/preview -H 'Content-Type: application/json' -d '{\"text\":\"测试预览文本\",\"voiceId\":\"female-youth\"}' - 验证生成预览音频",
  108. "2. curl http://localhost:3000/api/preview/status/preview-001 - 验证预览状态查询"
  109. ],
  110. "frontend_test_steps": [
  111. "1. 进入生成页面",
  112. "2. 输入文本内容",
  113. "3. 选择音色参数",
  114. "4. 点击试听预览按钮",
  115. "5. 验证加载状态显示",
  116. "6. 验证预览音频播放正常",
  117. "7. 验证试听不消耗正式额度"
  118. ]
  119. },
  120. {
  121. "id": 6,
  122. "description": "试听预览 - 试听播放器组件",
  123. "status": "done",
  124. "passes": true,
  125. "priority": "high",
  126. "phase": "1",
  127. "backend_test_steps": [
  128. "1. curl -X POST http://localhost:3000/api/preview -H 'Content-Type: application/json' -d '{\"text\":\"简短文本\"}' - 验证生成简短预览"
  129. ],
  130. "frontend_test_steps": [
  131. "1. 输入文本后点击试听",
  132. "2. 验证预览播放器显示在输入框下方",
  133. "3. 验证播放/暂停按钮功能正常",
  134. "4. 验证进度条可拖动",
  135. "5. 验证试听完成后可重新试听",
  136. "6. 验证试听区域可关闭"
  137. ]
  138. },
  139. {
  140. "id": 7,
  141. "description": "敏感词检测 - 检测API",
  142. "status": "done",
  143. "passes": true,
  144. "priority": "high",
  145. "phase": "1",
  146. "backend_test_steps": [
  147. "1. curl -X POST http://localhost:3000/api/sensitive-check -H 'Content-Type: application/json' -d '{\"text\":\"正常文本\"}' - 验证正常文本检测",
  148. "2. curl -X POST http://localhost:3000/api/sensitive-check -H 'Content-Type: application/json' -d '{\"text\":\"包含敏感词的文本\"}' - 验证敏感词检测",
  149. "3. curl http://localhost:3000/api/sensitive-words - 验证获取敏感词库列表"
  150. ],
  151. "frontend_test_steps": [
  152. "1. 进入生成页面",
  153. "2. 输入包含敏感词的文本",
  154. "3. 验证实时检测敏感词",
  155. "4. 验证敏感词高亮显示",
  156. "5. 验证提示信息显示",
  157. "6. 修改文本后验证敏感词状态更新",
  158. "7. 验证无敏感词时允许生成"
  159. ]
  160. },
  161. {
  162. "id": 8,
  163. "description": "敏感词检测 - 实时检测UI",
  164. "status": "done",
  165. "passes": true,
  166. "priority": "high",
  167. "phase": "1",
  168. "backend_test_steps": [
  169. "1. curl -X POST http://localhost:3000/api/sensitive-check -H 'Content-Type: application/json' -d '{\"text\":\"测试\"}' - 验证检测接口"
  170. ],
  171. "frontend_test_steps": [
  172. "1. 在文本输入框输入内容",
  173. "2. 验证敏感词实时检测响应",
  174. "3. 验证检测结果显示在文本下方",
  175. "4. 验证敏感词以红色标注",
  176. "5. 验证检测状态图标正确",
  177. "6. 验证敏感词列表可点击查看详情"
  178. ]
  179. },
  180. {
  181. "id": 9,
  182. "description": "AI文案助手 - 文案生成API",
  183. "status": "done",
  184. "passes": true,
  185. "priority": "medium",
  186. "phase": "2",
  187. "backend_test_steps": [
  188. "1. curl -X POST http://localhost:3000/api/ai/assist -H 'Content-Type: application/json' -d '{\"keywords\":\"产品推广\",\"style\":\"广告营销\"}' - 验证AI文案生成",
  189. "2. curl -X POST http://localhost:3000/api/ai/assist -H 'Content-Type: application/json' -d '{\"keywords\":\"培训课件\",\"style\":\"知识付费\"}' - 验证不同风格文案生成"
  190. ],
  191. "frontend_test_steps": [
  192. "1. 进入生成页面",
  193. "2. 点击AI助手按钮",
  194. "3. 输入关键词(产品推广)",
  195. "4. 选择文案风格(广告营销)",
  196. "5. 点击生成按钮",
  197. "6. 验证AI生成文案显示",
  198. "7. 验证一键应用到输入框"
  199. ]
  200. },
  201. {
  202. "id": 10,
  203. "description": "AI文案助手 - AI助手UI组件",
  204. "status": "done",
  205. "passes": true,
  206. "priority": "medium",
  207. "phase": "2",
  208. "backend_test_steps": [
  209. "1. curl http://localhost:3000/api/ai/styles - 验证获取文案风格列表"
  210. ],
  211. "frontend_test_steps": [
  212. "1. 点击AI助手入口",
  213. "2. 验证AI助手面板弹出",
  214. "3. 验证关键词输入框显示",
  215. "4. 验证风格选择器(广告营销/知识付费/短视频等)",
  216. "5. 验证生成按钮可点击",
  217. "6. 验证加载状态显示",
  218. "7. 验证生成结果可编辑",
  219. "8. 验证一键应用功能"
  220. ]
  221. },
  222. {
  223. "id": 11,
  224. "description": "音频剪辑 - 裁剪功能API",
  225. "status": "done",
  226. "passes": true,
  227. "priority": "medium",
  228. "phase": "2",
  229. "backend_test_steps": [
  230. "1. curl -X POST http://localhost:3000/api/audio/trim -H 'Content-Type: application/json' -d '{\"audioId\":\"audio-001\",\"startTime\":10,\"endTime\":60}' - 验证音频裁剪",
  231. "2. curl http://localhost:3000/api/audio/audio-001/info - 验证获取音频时长信息"
  232. ],
  233. "frontend_test_steps": [
  234. "1. 进入音频编辑页面",
  235. "2. 选择已生成的音频",
  236. "3. 验证波形图显示",
  237. "4. 拖动裁剪手柄设置起点",
  238. "5. 拖动裁剪手柄设置终点",
  239. "6. 验证预览裁剪效果",
  240. "7. 点击确认裁剪",
  241. "8. 验证裁剪后音频保存"
  242. ]
  243. },
  244. {
  245. "id": 12,
  246. "description": "音频剪辑 - 合并功能API",
  247. "status": "done",
  248. "passes": true,
  249. "priority": "medium",
  250. "phase": "2",
  251. "backend_test_steps": [
  252. "1. curl -X POST http://localhost:3000/api/audio/merge -H 'Content-Type: application/json' -d '{\"audioIds\":[\"audio-001\",\"audio-002\"],\"order\":[1,2]}' - 验证音频合并"
  253. ],
  254. "frontend_test_steps": [
  255. "1. 进入音频编辑页面",
  256. "2. 选择多个音频",
  257. "3. 验证选中音频列表显示",
  258. "4. 拖动调整合并顺序",
  259. "5. 点击合并按钮",
  260. "6. 验证合并进度显示",
  261. "7. 验证合并完成后新音频可播放"
  262. ]
  263. },
  264. {
  265. "id": 13,
  266. "description": "情感调节 - 情感参数API",
  267. "status": "done",
  268. "passes": true,
  269. "priority": "medium",
  270. "phase": "2",
  271. "backend_test_steps": [
  272. "1. curl -X POST http://localhost:3000/api/generate -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\",\"emotion\":\"happy\"}' - 验证开心情感生成",
  273. "2. curl -X POST http://localhost:3000/api/generate -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\",\"emotion\":\"sad\"}' - 验证悲伤情感生成",
  274. "3. curl -X POST http://localhost:3000/api/generate -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\",\"emotion\":\"excited\"}' - 验证激动情感生成",
  275. "4. curl http://localhost:3000/api/emotions - 验证获取情感列表"
  276. ],
  277. "frontend_test_steps": [
  278. "1. 进入生成页面",
  279. "2. 输入文本内容",
  280. "3. 验证情感选择器显示",
  281. "4. 选择开心情感",
  282. "5. 试听验证效果",
  283. "6. 切换到悲伤情感",
  284. "7. 试听验证效果差异",
  285. "8. 验证不同情感参数正确传递"
  286. ]
  287. },
  288. {
  289. "id": 14,
  290. "description": "情感调节 - 情感选择UI",
  291. "status": "done",
  292. "passes": true,
  293. "priority": "medium",
  294. "phase": "2",
  295. "backend_test_steps": [
  296. "1. curl http://localhost:3000/api/emotions - 验证情感列表接口"
  297. ],
  298. "frontend_test_steps": [
  299. "1. 验证情感选择区域显示",
  300. "2. 验证情感选项(开心/悲伤/平静/激动/温柔)",
  301. "3. 验证每个情感有对应图标",
  302. "4. 验证选中状态显示",
  303. "5. 验证情感描述提示",
  304. "6. 验证与其他参数(语速/音调)组合使用"
  305. ]
  306. },
  307. {
  308. "id": 15,
  309. "description": "字幕生成 - SRT字幕API",
  310. "status": "done",
  311. "passes": true,
  312. "priority": "medium",
  313. "phase": "2",
  314. "backend_test_steps": [
  315. "1. curl -X POST http://localhost:3000/api/subtitle/generate -H 'Content-Type: application/json' -d '{\"audioId\":\"audio-001\",\"format\":\"srt\"}' - 验证生成SRT字幕",
  316. "2. curl -X POST http://localhost:3000/api/subtitle/generate -H 'Content-Type: application/json' -d '{\"audioId\":\"audio-001\",\"format\":\"lrc\"}' - 验证生成LRC歌词",
  317. "3. curl http://localhost:3000/api/subtitle/audio-001/download - 验证字幕下载"
  318. ],
  319. "frontend_test_steps": [
  320. "1. 进入音频详情页",
  321. "2. 验证字幕下载按钮显示",
  322. "3. 点击字幕格式选择",
  323. "4. 验证SRT格式下载",
  324. "5. 验证LRC格式下载",
  325. "6. 验证下载文件内容正确"
  326. ]
  327. },
  328. {
  329. "id": 16,
  330. "description": "字幕生成 - 字幕预览功能",
  331. "status": "done",
  332. "passes": true,
  333. "priority": "medium",
  334. "phase": "2",
  335. "backend_test_steps": [
  336. "1. curl http://localhost:3000/api/subtitle/audio-001 - 验证获取字幕内容"
  337. ],
  338. "frontend_test_steps": [
  339. "1. 播放音频时验证字幕同步显示",
  340. "2. 验证字幕与音频时间轴同步",
  341. "3. 验证字幕样式可自定义(大小/颜色)",
  342. "4. 验证字幕可关闭",
  343. "5. 验证多语言字幕切换"
  344. ]
  345. },
  346. {
  347. "id": 17,
  348. "description": "多角色对话 - 多角色API",
  349. "status": "done",
  350. "passes": true,
  351. "priority": "medium",
  352. "phase": "3",
  353. "backend_test_steps": [
  354. "1. curl -X POST http://localhost:3000/api/dialogue/generate -H 'Content-Type: application/json' -d '{\"lines\":[{\"text\":\"你好\",\"role\":\"A\",\"voiceId\":\"male-youth\"},{\"text\":\"你好啊\",\"role\":\"B\",\"voiceId\":\"female-youth\"}]}' - 验证多角色对话生成"
  355. ],
  356. "frontend_test_steps": [
  357. "1. 进入生成页面",
  358. "2. 点击多角色模式",
  359. "3. 验证角色输入区域显示",
  360. "4. 添加多个角色对话",
  361. "5. 为每个角色选择不同音色",
  362. "6. 验证预览功能",
  363. "7. 验证生成完整对话音频"
  364. ]
  365. },
  366. {
  367. "id": 18,
  368. "description": "多角色对话 - 角色管理UI",
  369. "status": "done",
  370. "passes": true,
  371. "priority": "medium",
  372. "phase": "3",
  373. "backend_test_steps": [
  374. "1. curl http://localhost:3000/api/voices/roles - 验证获取可用角色音色"
  375. ],
  376. "frontend_test_steps": [
  377. "1. 验证角色添加按钮",
  378. "2. 验证角色列表显示",
  379. "3. 验证每个角色可独立选择音色",
  380. "4. 验证角色可删除",
  381. "5. 验证角色顺序可调整",
  382. "6. 验证对话文本输入框",
  383. "7. 验证时间戳显示"
  384. ]
  385. },
  386. {
  387. "id": 19,
  388. "description": "视频配音 - 视频上传API",
  389. "status": "done",
  390. "passes": true,
  391. "priority": "medium",
  392. "phase": "3",
  393. "backend_test_steps": [
  394. "1. curl -X POST http://localhost:3000/api/video/upload -F 'video=@test.mp4' - 验证视频上传",
  395. "2. curl http://localhost:3000/api/video/video-001 - 验证获取视频信息"
  396. ],
  397. "frontend_test_steps": [
  398. "1. 进入视频配音页面",
  399. "2. 点击上传视频按钮",
  400. "3. 选择本地视频文件",
  401. "4. 验证上传进度显示",
  402. "5. 验证上传完成视频预览",
  403. "6. 验证视频时长显示"
  404. ]
  405. },
  406. {
  407. "id": 20,
  408. "description": "视频配音 - 音视频合成API",
  409. "status": "done",
  410. "passes": true,
  411. "priority": "medium",
  412. "phase": "3",
  413. "backend_test_steps": [
  414. "1. curl -X POST http://localhost:3000/api/video/sync -H 'Content-Type: application/json' -d '{\"videoId\":\"video-001\",\"audioId\":\"audio-001\"}' - 验证音视频合成",
  415. "2. curl http://localhost:3000/api/video/video-001/status - 验证合成状态"
  416. ],
  417. "frontend_test_steps": [
  418. "1. 上传视频后输入配音文本",
  419. "2. 选择音色和参数",
  420. "3. 点击生成配音",
  421. "4. 验证配音生成进度",
  422. "5. 验证音视频同步预览",
  423. "6. 验证下载合成后的视频"
  424. ]
  425. },
  426. {
  427. "id": 21,
  428. "description": "品牌音色定制 - 音色训练API",
  429. "status": "done",
  430. "passes": true,
  431. "priority": "low",
  432. "phase": "3",
  433. "backend_test_steps": [
  434. "1. curl -X POST http://localhost:3000/api/voice/custom -H 'Content-Type: application/json' -d '{\"name\":\"品牌音色\",\"audioFiles\":[\"file1.mp3\",\"file2.mp3\"]}' - 验证音色训练请求",
  435. "2. curl http://localhost:3000/api/voice/custom/status/custom-001 - 验证训练状态"
  436. ],
  437. "frontend_test_steps": [
  438. "1. 进入品牌音色定制页面",
  439. "2. 验证音色上传引导",
  440. "3. 上传音频样本",
  441. "4. 验证样本数量检查",
  442. "5. 验证训练状态显示",
  443. "6. 验证训练完成音色列表"
  444. ]
  445. },
  446. {
  447. "id": 22,
  448. "description": "品牌音色定制 - 企业音色管理",
  449. "status": "done",
  450. "passes": true,
  451. "priority": "low",
  452. "phase": "3",
  453. "backend_test_steps": [
  454. "1. curl http://localhost:3000/api/voice/custom/list - 验证获取已训练音色",
  455. "2. curl -X DELETE http://localhost:3000/api/voice/custom/voice-001 - 验证删除音色"
  456. ],
  457. "frontend_test_steps": [
  458. "1. 进入音色管理页面",
  459. "2. 验证已训练音色列表显示",
  460. "3. 验证音色使用统计",
  461. "4. 验证音色启用/禁用开关",
  462. "5. 验证删除音色确认",
  463. "6. 验证删除后状态更新"
  464. ]
  465. },
  466. {
  467. "id": 23,
  468. "description": "一键发布 - 平台配置API",
  469. "status": "done",
  470. "passes": true,
  471. "priority": "medium",
  472. "phase": "3",
  473. "backend_test_steps": [
  474. "1. curl http://localhost:3000/api/platforms - 验证获取可发布平台列表",
  475. "2. curl -X POST http://localhost:3000/api/platforms/bind -H 'Content-Type: application/json' -d '{\"platform\":\"ximalaya\",\"token\":\"xxx\"}' - 验证绑定平台账号",
  476. "3. curl http://localhost:3000/api/platforms/bound - 验证获取已绑定平台"
  477. ],
  478. "frontend_test_steps": [
  479. "1. 进入发布设置页面",
  480. "2. 验证支持的平台列表(喜马拉雅/抖音/视频号)",
  481. "3. 点击绑定平台账号",
  482. "4. 验证授权流程",
  483. "5. 验证已绑定平台状态显示"
  484. ]
  485. },
  486. {
  487. "id": 24,
  488. "description": "一键发布 - 发布功能",
  489. "status": "done",
  490. "passes": true,
  491. "priority": "medium",
  492. "phase": "3",
  493. "backend_test_steps": [
  494. "1. curl -X POST http://localhost:3000/api/publish -H 'Content-Type: application/json' -d '{\"audioId\":\"audio-001\",\"platforms\":[\"ximalaya\"],\"title\":\"测试标题\",\"description\":\"测试描述\"}' - 验证发布音频"
  495. ],
  496. "frontend_test_steps": [
  497. "1. 在音频详情页点击发布按钮",
  498. "2. 选择目标平台",
  499. "3. 填写标题和描述",
  500. "4. 点击发布",
  501. "5. 验证发布进度显示",
  502. "6. 验证发布成功提示",
  503. "7. 验证跳转到平台查看"
  504. ]
  505. },
  506. {
  507. "id": 25,
  508. "description": "质量评分 - 评分API",
  509. "status": "done",
  510. "passes": true,
  511. "priority": "medium",
  512. "phase": "2",
  513. "backend_test_steps": [
  514. "1. curl -X POST http://localhost:3000/api/quality/score -H 'Content-Type: application/json' -d '{\"audioId\":\"audio-001\"}' - 验证生成质量评分",
  515. "2. curl http://localhost:3000/api/quality/audio-001 - 验证获取评分详情"
  516. ],
  517. "frontend_test_steps": [
  518. "1. 音频生成完成后验证质量评分显示",
  519. "2. 验证流畅度评分显示",
  520. "3. 验证自然度评分显示",
  521. "4. 验证总分显示",
  522. "5. 验证评分说明提示"
  523. ]
  524. },
  525. {
  526. "id": 26,
  527. "description": "多版本对比 - 版本生成API",
  528. "status": "done",
  529. "passes": true,
  530. "priority": "medium",
  531. "phase": "2",
  532. "backend_test_steps": [
  533. "1. curl -X POST http://localhost:3000/api/versions/generate -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\",\"voiceIds\":[\"female-youth\",\"male-youth\",\"female-mature\"]}' - 验证多版本生成"
  534. ],
  535. "frontend_test_steps": [
  536. "1. 输入文本后点击多版本生成",
  537. "2. 选择多个音色",
  538. "3. 验证批量生成进度",
  539. "4. 验证各版本列表显示",
  540. "5. 验证每个版本可试听",
  541. "6. 验证版本对比视图"
  542. ]
  543. },
  544. {
  545. "id": 27,
  546. "description": "多版本对比 - 对比界面",
  547. "status": "done",
  548. "passes": true,
  549. "priority": "medium",
  550. "phase": "2",
  551. "backend_test_steps": [
  552. "1. curl http://localhost:3000/api/versions/audio-001 - 验证获取版本列表"
  553. ],
  554. "frontend_test_steps": [
  555. "1. 进入版本对比页面",
  556. "2. 验证各版本并排显示",
  557. "3. 验证每个版本可独立播放",
  558. "4. 验证选中版本高亮",
  559. "5. 验证选择最终版本",
  560. "6. 验证质量评分对比"
  561. ]
  562. },
  563. {
  564. "id": 28,
  565. "description": "专辑分类 - 增强分类API",
  566. "status": "done",
  567. "passes": true,
  568. "priority": "medium",
  569. "phase": "1",
  570. "backend_test_steps": [
  571. "1. curl http://localhost:3000/api/albums/categories - 验证获取专辑分类",
  572. "2. curl -X POST http://localhost:3000/api/albums -H 'Content-Type: application/json' -d '{\"name\":\"测试专辑\",\"category\":\"课件\"}' - 验证按分类创建专辑"
  573. ],
  574. "frontend_test_steps": [
  575. "1. 进入专辑管理页面",
  576. "2. 验证分类筛选器显示",
  577. "3. 验证按分类筛选专辑",
  578. "4. 验证创建专辑时选择分类",
  579. "5. 验证专辑分类标签显示"
  580. ]
  581. },
  582. {
  583. "id": 29,
  584. "description": "标签系统 - 标签API",
  585. "status": "done",
  586. "passes": true,
  587. "priority": "low",
  588. "phase": "1",
  589. "backend_test_steps": [
  590. "1. curl -X POST http://localhost:3000/api/audio/audio-001/tags -H 'Content-Type: application/json' -d '{\"tags\":[\"广告\",\"课件\"]}' - 验证添加标签",
  591. "2. curl http://localhost:3000/api/audio/audio-001/tags - 验证获取音频标签",
  592. "3. curl http://localhost:3000/api/tags/popular - 验证获取热门标签"
  593. ],
  594. "frontend_test_steps": [
  595. "1. 在音频详情页点击添加标签",
  596. "2. 输入标签关键词",
  597. "3. 验证标签自动补全",
  598. "4. 选择热门标签",
  599. "5. 验证标签显示在音频下方",
  600. "6. 验证点击标签筛选音频"
  601. ]
  602. },
  603. {
  604. "id": 30,
  605. "description": "收藏夹 - 收藏模板功能",
  606. "status": "done",
  607. "passes": true,
  608. "priority": "low",
  609. "phase": "1",
  610. "backend_test_steps": [
  611. "1. curl -X POST http://localhost:3000/api/favorites/templates -H 'Content-Type: application/json' -d '{\"templateId\":1}' - 验证收藏模板",
  612. "2. curl http://localhost:3000/api/favorites/templates - 验证获取收藏模板列表",
  613. "3. curl -X DELETE http://localhost:3000/api/favorites/templates/1 - 验证取消收藏"
  614. ],
  615. "frontend_test_steps": [
  616. "1. 在模板列表点击收藏按钮",
  617. "2. 验证收藏状态更新",
  618. "3. 进入我的收藏页面",
  619. "4. 验证收藏的模板显示",
  620. "5. 验证使用收藏的模板",
  621. "6. 验证取消收藏功能"
  622. ]
  623. }
  624. ]
  625. }