feature_list_player.json 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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. "frontend_test_steps": [
  16. "1. 打开播放器页面",
  17. "2. 验证封面显示在中央",
  18. "3. 点击播放按钮",
  19. "4. 验证封面向右旋转(播放时)",
  20. "5. 点击暂停按钮",
  21. "6. 验证封面停止旋转(暂停时)"
  22. ],
  23. "status": "done",
  24. "passes": true
  25. },
  26. {
  27. "id": 2,
  28. "description": "播放器 - 播放控制(上一首/下一首/播放暂停)",
  29. "backend_test_steps": [],
  30. "frontend_test_steps": [
  31. "1. 打开有多个音频的专辑",
  32. "2. 点击播放按钮,验证开始播放",
  33. "3. 点击下一首按钮,验证切换到下一首",
  34. "4. 点击上一首按钮,验证切换到上一首",
  35. "5. 验证播放器状态正确更新"
  36. ],
  37. "status": "done",
  38. "passes": true
  39. },
  40. {
  41. "id": 3,
  42. "description": "播放器 - 进度条拖动",
  43. "backend_test_steps": [],
  44. "frontend_test_steps": [
  45. "1. 打开播放器页面并开始播放",
  46. "2. 验证进度条显示当前播放位置",
  47. "3. 拖动进度条到中间位置",
  48. "4. 验证播放位置跳转到对应时间",
  49. "5. 验证时间显示同步更新"
  50. ],
  51. "status": "done",
  52. "passes": true
  53. },
  54. {
  55. "id": 4,
  56. "description": "播放器 - 播放列表展示",
  57. "backend_test_steps": [],
  58. "frontend_test_steps": [
  59. "1. 进入专辑详情页",
  60. "2. 点击播放全部",
  61. "3. 验证播放器显示当前播放列表",
  62. "4. 验证当前播放音频高亮显示",
  63. "5. 验证列表显示专辑内所有音频"
  64. ],
  65. "status": "done",
  66. "passes": true
  67. },
  68. {
  69. "id": 5,
  70. "description": "播放器 - 循环模式(列表循环/单曲循环)",
  71. "backend_test_steps": [],
  72. "frontend_test_steps": [
  73. "1. 打开有多个音频的专辑",
  74. "2. 点击播放全部",
  75. "3. 点击循环按钮切换模式",
  76. "4. 验证模式切换:列表循环 → 单曲循环 → 关闭",
  77. "5. 播放到最后一首时,验证列表循环回到第一首"
  78. ],
  79. "status": "done",
  80. "passes": true
  81. },
  82. {
  83. "id": 6,
  84. "description": "播放器 - 随机播放",
  85. "backend_test_steps": [],
  86. "frontend_test_steps": [
  87. "1. 打开有多个音频的专辑",
  88. "2. 点击随机播放按钮",
  89. "3. 验证随机播放模式开启",
  90. "4. 点击下一首,验证随机跳转到非连续音频",
  91. "5. 再次点击随机按钮,关闭随机模式"
  92. ],
  93. "status": "done",
  94. "passes": true
  95. },
  96. {
  97. "id": 7,
  98. "description": "播放器 - 播放速度控制",
  99. "backend_test_steps": [],
  100. "frontend_test_steps": [
  101. "1. 打开播放器页面",
  102. "2. 点击播放速度按钮",
  103. "3. 选择1.5x速度",
  104. "4. 验证音频以1.5倍速播放",
  105. "5. 刷新页面,验证速度设置已保存"
  106. ],
  107. "status": "done",
  108. "passes": true
  109. },
  110. {
  111. "id": 8,
  112. "description": "播放器 - 收藏功能",
  113. "backend_test_steps": [],
  114. "frontend_test_steps": [
  115. "1. 打开播放器页面",
  116. "2. 点击收藏按钮(空心心形)",
  117. "3. 验证按钮变为已收藏状态(实心心形)",
  118. "4. 进入收藏页面",
  119. "5. 验证当前音频显示在收藏列表中",
  120. "6. 点击取消收藏,验证从列表移除"
  121. ],
  122. "status": "done",
  123. "passes": true
  124. },
  125. {
  126. "id": 9,
  127. "description": "播放器 - 定时关闭",
  128. "backend_test_steps": [],
  129. "frontend_test_steps": [
  130. "1. 打开播放器页面并开始播放",
  131. "2. 点击定时关闭按钮",
  132. "3. 选择15分钟",
  133. "4. 验证倒计时显示正确",
  134. "5. 等待或快进到定时时间",
  135. "6. 验证播放自动暂停"
  136. ],
  137. "status": "done",
  138. "passes": true
  139. },
  140. {
  141. "id": 10,
  142. "description": "播放器 - 毛玻璃背景效果",
  143. "backend_test_steps": [],
  144. "frontend_test_steps": [
  145. "1. 打开播放器页面",
  146. "2. 验证页面背景有模糊效果",
  147. "3. 播放音频时,验证背景随封面色调变化",
  148. "4. 切换不同音频,验证背景随之变化"
  149. ],
  150. "status": "done",
  151. "passes": true
  152. },
  153. {
  154. "id": 11,
  155. "description": "播放器 - 播放列表折叠/展开",
  156. "backend_test_steps": [],
  157. "frontend_test_steps": [
  158. "1. 打开播放器页面",
  159. "2. 验证播放列表默认收起",
  160. "3. 点击展开按钮",
  161. "4. 验证播放列表展开显示所有音频",
  162. "5. 点击收起按钮",
  163. "6. 验证播放列表收起"
  164. ],
  165. "status": "done",
  166. "passes": true
  167. },
  168. {
  169. "id": 12,
  170. "description": "播放器 - 按钮点击动画",
  171. "backend_test_steps": [],
  172. "frontend_test_steps": [
  173. "1. 打开播放器页面",
  174. "2. 点击播放/暂停按钮",
  175. "3. 验证按钮有缩放动画反馈",
  176. "4. 点击上一首/下一首按钮",
  177. "5. 验证按钮有缩放动画反馈"
  178. ],
  179. "status": "done",
  180. "passes": true
  181. },
  182. {
  183. "id": 13,
  184. "description": "播放器 - 专辑信息展示优化",
  185. "backend_test_steps": [],
  186. "frontend_test_steps": [
  187. "1. 进入专辑详情页",
  188. "2. 点击播放某个音频",
  189. "3. 验证播放器显示专辑名称",
  190. "4. 验证显示当前集数/总集数(如 2/10)",
  191. "5. 切换上下首,验证集数正确更新"
  192. ],
  193. "status": "done",
  194. "passes": true
  195. },
  196. {
  197. "id": 14,
  198. "description": "播放器 - 智能续播提示",
  199. "backend_test_steps": [],
  200. "frontend_test_steps": [
  201. "1. 播放某个音频一段时间后关闭页面",
  202. "2. 重新打开该音频",
  203. "3. 验证弹出续播提示",
  204. "4. 点击继续播放",
  205. "5. 验证从上次位置继续播放"
  206. ],
  207. "status": "done",
  208. "passes": true
  209. },
  210. {
  211. "id": 15,
  212. "description": "播放器 - 自动播放下一首",
  213. "backend_test_steps": [],
  214. "frontend_test_steps": [
  215. "1. 打开有多个音频的专辑",
  216. "2. 点击播放全部",
  217. "3. 等待当前音频播放完毕",
  218. "4. 验证自动跳转到下一首播放",
  219. "5. 验证播放器UI同步更新"
  220. ],
  221. "status": "done",
  222. "passes": true
  223. }
  224. ]
  225. }