{
  "project_name": "AI有声书生成工具 - 用户体验优化",
  "base_config": {
    "backend_port": 3000,
    "frontend_port": 5173,
    "db_host": "localhost",
    "db_port": 3306,
    "auth_enabled": false
  },
  "features": [
    {
      "id": 1,
      "description": "搜索页优化 - 增加搜索历史和热门推荐",
      "backend_test_steps": [
        "1. curl http://localhost:3000/api/search/hot - 验证获取热门搜索词",
        "2. curl -X POST http://localhost:3000/api/search/history -H 'Content-Type: application/json' -d '{\"keyword\":\"测试\"}' - 验证保存搜索历史"
      ],
      "frontend_test_steps": [
        "1. 进入search搜索页面",
        "2. 验证搜索历史显示正确（最近5条）",
        "3. 验证热门推荐显示正确",
        "4. 点击历史标签，验证自动填入搜索框",
        "5. 点击热搜词，验证自动填入并搜索",
        "6. 搜索后验证关键词保存到历史"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 2,
      "description": "搜索页优化 - 搜索结果关键词高亮",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 进入search搜索页面",
        "2. 输入关键词搜索",
        "3. 验证搜索结果中匹配的文字高亮显示",
        "4. 验证标题和描述都能正确高亮"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 3,
      "description": "生成页优化 - 音色试听功能",
      "backend_test_steps": [
        "1. curl http://localhost:3000/api/voices - 验证获取音色列表接口"
      ],
      "frontend_test_steps": [
        "1. 进入生成页面",
        "2. 验证每个音色卡片有试听按钮",
        "3. 点击试听按钮",
        "4. 验证播放1-2秒的demo音频",
        "5. 试听中验证按钮变为停止状态",
        "6. 试听完成验证按钮恢复"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 4,
      "description": "生成页优化 - 参数滑块实时数值显示",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 进入生成页面",
        "2. 拖动语速滑块",
        "3. 验证滑块上方实时显示当前数值",
        "4. 拖动音调滑块",
        "5. 验证实时显示当前音调值",
        "6. 拖动音量滑块",
        "7. 验证实时显示当前音量百分比"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 5,
      "description": "生成页优化 - 生成成功动画和分享引导",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 输入文本并点击生成",
        "2. 验证生成成功后显示成功动画",
        "3. 验证显示分享按钮引导",
        "4. 验证显示播放按钮可直接跳转播放"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 6,
      "description": "播放器优化 - 迷你播放器（后台播放）",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 在播放器页面开始播放音频",
        "2. 返回上一页或切换到其他页面",
        "3. 验证底部显示迷你播放器",
        "4. 验证迷你播放器显示当前音频信息",
        "5. 点击迷你播放器播放/暂停按钮",
        "6. 验证播放状态切换",
        "7. 点击迷你播放器",
        "8. 验证跳转到播放器页面"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 7,
      "description": "播放器优化 - 缓冲/加载状态提示",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 进入播放器页面",
        "2. 在网络较差环境播放音频",
        "3. 验证显示'正在缓冲...'提示",
        "4. 验证加载完成后提示消失",
        "5. 播放过程中网络中断",
        "6. 验证显示网络错误提示"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 8,
      "description": "下载功能优化 - 完善下载流程和文件管理",
      "backend_test_steps": [
        "1. curl http://localhost:3000/api/downloads - 验证获取下载列表"
      ],
      "frontend_test_steps": [
        "1. 进入播放器页面",
        "2. 点击下载按钮",
        "3. 验证显示下载进度条",
        "4. 验证下载完成后提示成功",
        "5. 点击'打开文件'选项",
        "6. 验证能够打开下载的文件",
        "7. 进入'我的下载'页面",
        "8. 验证下载列表显示所有下载文件",
        "9. 验证可以删除已下载文件"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 9,
      "description": "专辑管理优化 - 新增专辑功能",
      "backend_test_steps": [
        "1. curl -X POST http://localhost:3000/api/albums -H 'Content-Type: application/json' -d '{\"name\":\"新专辑\",\"description\":\"测试描述\"}' - 验证创建专辑",
        "2. curl http://localhost:3000/api/albums - 验证获取专辑列表",
        "3. curl -X PUT http://localhost:3000/api/albums/1 -H 'Content-Type: application/json' -d '{\"name\":\"更新后的专辑名\"}' - 验证更新专辑",
        "4. curl -X DELETE http://localhost:3000/api/albums/1 - 验证删除专辑"
      ],
      "frontend_test_steps": [
        "1. 进入专辑管理页面",
        "2. 点击'新建专辑'按钮",
        "3. 填写专辑名称和描述",
        "4. 点击保存",
        "5. 验证新专辑出现在列表中",
        "6. 长按专辑卡片",
        "7. 验证显示编辑/删除选项",
        "8. 点击编辑，修改专辑信息",
        "9. 验证修改生效"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 10,
      "description": "历史记录优化 - 批量操作功能",
      "backend_test_steps": [
        "1. curl -X DELETE http://localhost:3000/api/history/batch -H 'Content-Type: application/json' -d '{\"ids\":[1,2,3]}' - 验证批量删除历史"
      ],
      "frontend_test_steps": [
        "1. 进入历史记录页面",
        "2. 点击'选择'按钮进入多选模式",
        "3. 选择多条记录",
        "4. 验证底部出现批量操作栏",
        "5. 点击'批量删除'",
        "6. 验证选中的记录被删除",
        "7. 选择记录后点击'移动到专辑'",
        "8. 验证弹出专辑选择器",
        "9. 选择目标专辑后验证移动成功"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 11,
      "description": "用户引导优化 - 新手引导功能",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 首次进入生成页",
        "2. 验证显示新手引导提示",
        "3. 验证引导步骤1：输入文本提示",
        "4. 点击下一步",
        "5. 验证引导步骤2：选择音色提示",
        "6. 点击下一步",
        "7. 验证引导步骤3：点击生成提示",
        "8. 完成引导后验证不再显示"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 12,
      "description": "我的页面优化 - 设置页面入口",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 进入'我的'页面",
        "2. 验证菜单中有'设置'入口",
        "3. 点击进入设置页面",
        "4. 验证显示：主题切换（浅色/深色/自动）",
        "5. 验证显示：通知设置",
        "6. 验证显示：清理缓存选项",
        "7. 点击清理缓存",
        "8. 验证显示清理成功"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 13,
      "description": "页面体验优化 - 切换动画效果",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 在任意列表页面点击进入详情",
        "2. 验证有平滑的页面切换动画",
        "3. 点击返回",
        "4. 验证返回动画流畅"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 14,
      "description": "会员转化 - 每日签到功能",
      "backend_test_steps": [
        "1. curl -X POST http://localhost:3000/api/sign - 验证签到接口",
        "2. curl http://localhost:3000/api/sign/status - 验证获取签到状态"
      ],
      "frontend_test_steps": [
        "1. 进入'我的'页面",
        "2. 验证显示签到入口",
        "3. 点击签到",
        "4. 验证显示签到成功",
        "5. 验证获得免费次数增加",
        "6. 刷新页面",
        "7. 验证签到状态已更新",
        "8. 验证连续签到天数显示"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 15,
      "description": "会员转化 - 额度用尽引导弹窗",
      "backend_test_steps": [],
      "frontend_test_steps": [
        "1. 当免费额度用尽时",
        "2. 点击生成按钮",
        "3. 验证弹出会员引导弹窗",
        "4. 验证弹窗内容：'今日免费额度已用完'",
        "5. 验证显示'开通会员'按钮",
        "6. 点击'稍后再说'",
        "7. 验证弹窗关闭"
      ],
      "status": "done",
      "passes": true
    },
    {
      "id": 16,
      "description": "通知功能 - 消息通知中心",
      "backend_test_steps": [
        "1. curl http://localhost:3000/api/notifications - 验证获取通知列表",
        "2. curl -X PUT http://localhost:3000/api/notifications/read -H 'Content-Type: application/json' -d '{\"id\":\"notif-1\"}' - 验证标记已读"
      ],
      "frontend_test_steps": [
        "1. 进入'我的'页面",
        "2. 验证有通知入口和未读数量角标",
        "3. 点击进入通知页面",
        "4. 验证通知列表显示正确",
        "5. 点击通知项",
        "6. 验证跳转详情或标记已读",
        "7. 验证未读数量减少"
      ],
      "status": "done",
      "passes": true
    }
  ]
}