feature_list_optimization.json 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  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": "搜索页优化 - 增加搜索历史和热门推荐",
  14. "backend_test_steps": [
  15. "1. curl http://localhost:3000/api/search/hot - 验证获取热门搜索词",
  16. "2. curl -X POST http://localhost:3000/api/search/history -H 'Content-Type: application/json' -d '{\"keyword\":\"测试\"}' - 验证保存搜索历史"
  17. ],
  18. "frontend_test_steps": [
  19. "1. 进入search搜索页面",
  20. "2. 验证搜索历史显示正确(最近5条)",
  21. "3. 验证热门推荐显示正确",
  22. "4. 点击历史标签,验证自动填入搜索框",
  23. "5. 点击热搜词,验证自动填入并搜索",
  24. "6. 搜索后验证关键词保存到历史"
  25. ],
  26. "status": "done",
  27. "passes": true
  28. },
  29. {
  30. "id": 2,
  31. "description": "搜索页优化 - 搜索结果关键词高亮",
  32. "backend_test_steps": [],
  33. "frontend_test_steps": [
  34. "1. 进入search搜索页面",
  35. "2. 输入关键词搜索",
  36. "3. 验证搜索结果中匹配的文字高亮显示",
  37. "4. 验证标题和描述都能正确高亮"
  38. ],
  39. "status": "done",
  40. "passes": true
  41. },
  42. {
  43. "id": 3,
  44. "description": "生成页优化 - 音色试听功能",
  45. "backend_test_steps": [
  46. "1. curl http://localhost:3000/api/voices - 验证获取音色列表接口"
  47. ],
  48. "frontend_test_steps": [
  49. "1. 进入生成页面",
  50. "2. 验证每个音色卡片有试听按钮",
  51. "3. 点击试听按钮",
  52. "4. 验证播放1-2秒的demo音频",
  53. "5. 试听中验证按钮变为停止状态",
  54. "6. 试听完成验证按钮恢复"
  55. ],
  56. "status": "done",
  57. "passes": true
  58. },
  59. {
  60. "id": 4,
  61. "description": "生成页优化 - 参数滑块实时数值显示",
  62. "backend_test_steps": [],
  63. "frontend_test_steps": [
  64. "1. 进入生成页面",
  65. "2. 拖动语速滑块",
  66. "3. 验证滑块上方实时显示当前数值",
  67. "4. 拖动音调滑块",
  68. "5. 验证实时显示当前音调值",
  69. "6. 拖动音量滑块",
  70. "7. 验证实时显示当前音量百分比"
  71. ],
  72. "status": "done",
  73. "passes": true
  74. },
  75. {
  76. "id": 5,
  77. "description": "生成页优化 - 生成成功动画和分享引导",
  78. "backend_test_steps": [],
  79. "frontend_test_steps": [
  80. "1. 输入文本并点击生成",
  81. "2. 验证生成成功后显示成功动画",
  82. "3. 验证显示分享按钮引导",
  83. "4. 验证显示播放按钮可直接跳转播放"
  84. ],
  85. "status": "done",
  86. "passes": true
  87. },
  88. {
  89. "id": 6,
  90. "description": "播放器优化 - 迷你播放器(后台播放)",
  91. "backend_test_steps": [],
  92. "frontend_test_steps": [
  93. "1. 在播放器页面开始播放音频",
  94. "2. 返回上一页或切换到其他页面",
  95. "3. 验证底部显示迷你播放器",
  96. "4. 验证迷你播放器显示当前音频信息",
  97. "5. 点击迷你播放器播放/暂停按钮",
  98. "6. 验证播放状态切换",
  99. "7. 点击迷你播放器",
  100. "8. 验证跳转到播放器页面"
  101. ],
  102. "status": "done",
  103. "passes": true
  104. },
  105. {
  106. "id": 7,
  107. "description": "播放器优化 - 缓冲/加载状态提示",
  108. "backend_test_steps": [],
  109. "frontend_test_steps": [
  110. "1. 进入播放器页面",
  111. "2. 在网络较差环境播放音频",
  112. "3. 验证显示'正在缓冲...'提示",
  113. "4. 验证加载完成后提示消失",
  114. "5. 播放过程中网络中断",
  115. "6. 验证显示网络错误提示"
  116. ],
  117. "status": "done",
  118. "passes": true
  119. },
  120. {
  121. "id": 8,
  122. "description": "下载功能优化 - 完善下载流程和文件管理",
  123. "backend_test_steps": [
  124. "1. curl http://localhost:3000/api/downloads - 验证获取下载列表"
  125. ],
  126. "frontend_test_steps": [
  127. "1. 进入播放器页面",
  128. "2. 点击下载按钮",
  129. "3. 验证显示下载进度条",
  130. "4. 验证下载完成后提示成功",
  131. "5. 点击'打开文件'选项",
  132. "6. 验证能够打开下载的文件",
  133. "7. 进入'我的下载'页面",
  134. "8. 验证下载列表显示所有下载文件",
  135. "9. 验证可以删除已下载文件"
  136. ],
  137. "status": "done",
  138. "passes": true
  139. },
  140. {
  141. "id": 9,
  142. "description": "专辑管理优化 - 新增专辑功能",
  143. "backend_test_steps": [
  144. "1. curl -X POST http://localhost:3000/api/albums -H 'Content-Type: application/json' -d '{\"name\":\"新专辑\",\"description\":\"测试描述\"}' - 验证创建专辑",
  145. "2. curl http://localhost:3000/api/albums - 验证获取专辑列表",
  146. "3. curl -X PUT http://localhost:3000/api/albums/1 -H 'Content-Type: application/json' -d '{\"name\":\"更新后的专辑名\"}' - 验证更新专辑",
  147. "4. curl -X DELETE http://localhost:3000/api/albums/1 - 验证删除专辑"
  148. ],
  149. "frontend_test_steps": [
  150. "1. 进入专辑管理页面",
  151. "2. 点击'新建专辑'按钮",
  152. "3. 填写专辑名称和描述",
  153. "4. 点击保存",
  154. "5. 验证新专辑出现在列表中",
  155. "6. 长按专辑卡片",
  156. "7. 验证显示编辑/删除选项",
  157. "8. 点击编辑,修改专辑信息",
  158. "9. 验证修改生效"
  159. ],
  160. "status": "done",
  161. "passes": true
  162. },
  163. {
  164. "id": 10,
  165. "description": "历史记录优化 - 批量操作功能",
  166. "backend_test_steps": [
  167. "1. curl -X DELETE http://localhost:3000/api/history/batch -H 'Content-Type: application/json' -d '{\"ids\":[1,2,3]}' - 验证批量删除历史"
  168. ],
  169. "frontend_test_steps": [
  170. "1. 进入历史记录页面",
  171. "2. 点击'选择'按钮进入多选模式",
  172. "3. 选择多条记录",
  173. "4. 验证底部出现批量操作栏",
  174. "5. 点击'批量删除'",
  175. "6. 验证选中的记录被删除",
  176. "7. 选择记录后点击'移动到专辑'",
  177. "8. 验证弹出专辑选择器",
  178. "9. 选择目标专辑后验证移动成功"
  179. ],
  180. "status": "done",
  181. "passes": true
  182. },
  183. {
  184. "id": 11,
  185. "description": "用户引导优化 - 新手引导功能",
  186. "backend_test_steps": [],
  187. "frontend_test_steps": [
  188. "1. 首次进入生成页",
  189. "2. 验证显示新手引导提示",
  190. "3. 验证引导步骤1:输入文本提示",
  191. "4. 点击下一步",
  192. "5. 验证引导步骤2:选择音色提示",
  193. "6. 点击下一步",
  194. "7. 验证引导步骤3:点击生成提示",
  195. "8. 完成引导后验证不再显示"
  196. ],
  197. "status": "done",
  198. "passes": true
  199. },
  200. {
  201. "id": 12,
  202. "description": "我的页面优化 - 设置页面入口",
  203. "backend_test_steps": [],
  204. "frontend_test_steps": [
  205. "1. 进入'我的'页面",
  206. "2. 验证菜单中有'设置'入口",
  207. "3. 点击进入设置页面",
  208. "4. 验证显示:主题切换(浅色/深色/自动)",
  209. "5. 验证显示:通知设置",
  210. "6. 验证显示:清理缓存选项",
  211. "7. 点击清理缓存",
  212. "8. 验证显示清理成功"
  213. ],
  214. "status": "done",
  215. "passes": true
  216. },
  217. {
  218. "id": 13,
  219. "description": "页面体验优化 - 切换动画效果",
  220. "backend_test_steps": [],
  221. "frontend_test_steps": [
  222. "1. 在任意列表页面点击进入详情",
  223. "2. 验证有平滑的页面切换动画",
  224. "3. 点击返回",
  225. "4. 验证返回动画流畅"
  226. ],
  227. "status": "done",
  228. "passes": true
  229. },
  230. {
  231. "id": 14,
  232. "description": "会员转化 - 每日签到功能",
  233. "backend_test_steps": [
  234. "1. curl -X POST http://localhost:3000/api/sign - 验证签到接口",
  235. "2. curl http://localhost:3000/api/sign/status - 验证获取签到状态"
  236. ],
  237. "frontend_test_steps": [
  238. "1. 进入'我的'页面",
  239. "2. 验证显示签到入口",
  240. "3. 点击签到",
  241. "4. 验证显示签到成功",
  242. "5. 验证获得免费次数增加",
  243. "6. 刷新页面",
  244. "7. 验证签到状态已更新",
  245. "8. 验证连续签到天数显示"
  246. ],
  247. "status": "done",
  248. "passes": true
  249. },
  250. {
  251. "id": 15,
  252. "description": "会员转化 - 额度用尽引导弹窗",
  253. "backend_test_steps": [],
  254. "frontend_test_steps": [
  255. "1. 当免费额度用尽时",
  256. "2. 点击生成按钮",
  257. "3. 验证弹出会员引导弹窗",
  258. "4. 验证弹窗内容:'今日免费额度已用完'",
  259. "5. 验证显示'开通会员'按钮",
  260. "6. 点击'稍后再说'",
  261. "7. 验证弹窗关闭"
  262. ],
  263. "status": "done",
  264. "passes": true
  265. },
  266. {
  267. "id": 16,
  268. "description": "通知功能 - 消息通知中心",
  269. "backend_test_steps": [
  270. "1. curl http://localhost:3000/api/notifications - 验证获取通知列表",
  271. "2. curl -X PUT http://localhost:3000/api/notifications/read -H 'Content-Type: application/json' -d '{\"id\":\"notif-1\"}' - 验证标记已读"
  272. ],
  273. "frontend_test_steps": [
  274. "1. 进入'我的'页面",
  275. "2. 验证有通知入口和未读数量角标",
  276. "3. 点击进入通知页面",
  277. "4. 验证通知列表显示正确",
  278. "5. 点击通知项",
  279. "6. 验证跳转详情或标记已读",
  280. "7. 验证未读数量减少"
  281. ],
  282. "status": "done",
  283. "passes": true
  284. }
  285. ]
  286. }