| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722 |
- {
- "project_name": "AI语音应用 - 页面优化与付费转化",
- "base_config": {
- "backend_port": 3000,
- "frontend_port": 5173,
- "db_host": "localhost",
- "db_port": 3306,
- "auth_enabled": false
- },
- "features": [
- {
- "id": 1,
- "description": "生成页 - 音色选择器网格布局",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/voices - 验证获取音色列表接口"
- ],
- "frontend_test_steps": [
- "1. 进入生成页",
- "2. 验证音色选择器改为网格布局(2列x5行)",
- "3. 验证每个音色卡片显示名称和图标",
- "4. 点击选中音色验证高亮效果",
- "5. 验证选中状态清晰可见"
- ]
- },
- {
- "id": 2,
- "description": "生成页 - 滑块实时数值反馈",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入生成页",
- "2. 拖动语速滑块",
- "3. 验证滑块上方实时显示当前数值(如:1.5x)",
- "4. 拖动音调滑块",
- "5. 验证音调数值实时更新",
- "6. 拖动音量滑块",
- "7. 验证音量百分比实时显示"
- ]
- },
- {
- "id": 3,
- "description": "生成页 - 字数限制提示",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/validate/text -H 'Content-Type: application/json' -d '{\"text\":\"测试文本\"}' - 验证文本验证接口"
- ],
- "frontend_test_steps": [
- "1. 进入生成页",
- "2. 验证输入框上方显示'最多2000字'提示",
- "3. 输入超过1000字验证字数统计显示",
- "4. 输入接近2000字验证警告提示",
- "5. 超过2000字验证禁止继续输入",
- "6. 验证字数统计样式美观"
- ]
- },
- {
- "id": 4,
- "description": "生成页 - AI生成按钮视觉优化",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入生成页",
- "2. 验证AI生成按钮使用渐变背景色",
- "3. 验证按钮有阴影效果",
- "4. 验证按钮尺寸醒目",
- "5. hover按钮验证悬停效果增强",
- "6. 点击时验证点击反馈动画"
- ]
- },
- {
- "id": 5,
- "description": "首页 - 专辑封面默认图",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/albums - 验证专辑列表接口返回封面URL"
- ],
- "frontend_test_steps": [
- "1. 进入首页",
- "2. 验证专辑卡片有封面图显示",
- "3. 无自定义封面时显示默认占位图",
- "4. 验证默认封面样式美观",
- "5. 验证封面加载失败时的兜底处理"
- ]
- },
- {
- "id": 6,
- "description": "首页 - 订阅数友好格式",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/albums - 验证订阅数接口"
- ],
- "frontend_test_steps": [
- "1. 进入首页",
- "2. 验证订阅数显示为'12 位订阅者'格式",
- "3. 验证1位订阅者显示'1 位订阅者'",
- "4. 验证0位订阅者显示'暂无订阅者'"
- ]
- },
- {
- "id": 7,
- "description": "首页 - 专辑描述精简",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入首页",
- "2. 验证默认专辑描述显示为'未分类音频'",
- "3. 验证描述简洁不换行"
- ]
- },
- {
- "id": 8,
- "description": "历史页 - 空状态美化",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入历史页(无数据)",
- "2. 验证显示友好的空状态插画",
- "3. 验证空状态文案清晰",
- "4. 验证有引导按钮(如:去生成)"
- ]
- },
- {
- "id": 9,
- "description": "历史页 - 批量操作功能",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/history/batch-delete -H 'Content-Type: application/json' -d '{\"ids\":[\"id1\",\"id2\"]}' - 验证批量删除",
- "2. curl -X POST http://localhost:3000/api/history/batch-move -H 'Content-Type: application/json' -d '{\"ids\":[\"id1\"],\"albumId\":1}' - 验证批量移动到专辑"
- ],
- "frontend_test_steps": [
- "1. 进入历史页",
- "2. 长按或勾选多个音频",
- "3. 验证批量选择模式开启",
- "4. 验证选中数量显示",
- "5. 点击批量删除",
- "6. 验证确认弹窗",
- "7. 验证删除成功提示",
- "8. 验证批量移动到专辑功能"
- ]
- },
- {
- "id": 10,
- "description": "历史页 - 排序功能",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/history?sortBy=time&order=desc - 验证按时间排序",
- "2. curl http://localhost:3000/api/history?sortBy=name&order=asc - 验证按名称排序"
- ],
- "frontend_test_steps": [
- "1. 进入历史页",
- "2. 点击排序按钮",
- "3. 验证显示排序选项(时间/名称)",
- "4. 选择按时间排序验证效果",
- "5. 选择按名称排序验证效果",
- "6. 验证升序/降序切换"
- ]
- },
- {
- "id": 11,
- "description": "历史页 - 按专辑筛选",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/history?albumId=1 - 验证按专辑筛选"
- ],
- "frontend_test_steps": [
- "1. 进入历史页",
- "2. 点击筛选按钮",
- "3. 验证显示专辑筛选选项",
- "4. 选择某个专辑",
- "5. 验证列表只显示该专辑音频"
- ]
- },
- {
- "id": 12,
- "description": "我的页 - 未登录引导",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 未登录状态下进入我的页",
- "2. 验证显示引导插画",
- "3. 验证登录/注册CTA按钮醒目",
- "4. 点击引导按钮验证跳转登录页"
- ]
- },
- {
- "id": 13,
- "description": "我的页 - 菜单图标统一",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入我的页",
- "2. 验证所有菜单项有图标",
- "3. 验证图标风格统一",
- "4. 验证图标清晰可见"
- ]
- },
- {
- "id": 14,
- "description": "我的页 - 设置功能",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/user/settings - 验证获取用户设置",
- "2. curl -X PUT http://localhost:3000/api/user/settings -H 'Content-Type: application/json' -d '{\"theme\":\"dark\"}' - 验证更新设置"
- ],
- "frontend_test_steps": [
- "1. 进入我的页",
- "2. 验证设置入口显示",
- "3. 点击进入设置页",
- "4. 验证账号设置选项",
- "5. 验证主题切换选项(明亮/暗黑)",
- "6. 验证通知设置选项",
- "7. 修改设置验证生效"
- ]
- },
- {
- "id": 15,
- "description": "我的页 - 免费用户标签优化",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 免费用户进入我的页",
- "2. 验证会员标签改为'免费试用'样式",
- "3. 验证标签样式吸引人",
- "4. 点击标签验证引导开通会员"
- ]
- },
- {
- "id": 16,
- "description": "专辑管理页 - 新建专辑入口",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/albums -H 'Content-Type: application/json' -d '{\"name\":\"测试专辑\",\"description\":\"描述\"}' - 验证创建专辑"
- ],
- "frontend_test_steps": [
- "1. 进入专辑管理页",
- "2. 验证页面顶部有'新建专辑'按钮",
- "3. 点击新建专辑",
- "4. 验证弹窗表单(名称/描述/封面)",
- "5. 填写信息并确认",
- "6. 验证新专辑创建成功"
- ]
- },
- {
- "id": 17,
- "description": "专辑管理页 - 快捷操作菜单",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [
- "1. curl -X PUT http://localhost:3000/api/albums/1 -H 'Content-Type: application/json' -d '{\"name\":\"更新名称\"}' - 验证更新专辑",
- "2. curl -X DELETE http://localhost:3000/api/albums/1 - 验证删除专辑"
- ],
- "frontend_test_steps": [
- "1. 进入专辑管理页",
- "2. 长按或右滑专辑卡片",
- "3. 验证显示编辑/删除快捷操作",
- "4. 点击编辑验证弹窗",
- "5. 点击删除验证确认弹窗",
- "6. 验证操作成功反馈"
- ]
- },
- {
- "id": 18,
- "description": "专辑管理页 - 排序功能",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/albums?sortBy=name - 验证按名称排序",
- "2. curl http://localhost:3000/api/albums?sortBy=subscribers - 验证按订阅数排序"
- ],
- "frontend_test_steps": [
- "1. 进入专辑管理页",
- "2. 点击排序按钮",
- "3. 验证按名称/订阅数排序选项",
- "4. 切换排序验证列表变化"
- ]
- },
- {
- "id": 19,
- "description": "专辑管理页 - 默认专辑标注",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入专辑管理页",
- "2. 验证默认专辑有明确标注",
- "3. 验证标注显示'默认专辑不可删除'",
- "4. 验证默认专辑无编辑入口"
- ]
- },
- {
- "id": 20,
- "description": "全局 - 底部导航选中高亮",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 切换不同底部导航",
- "2. 验证选中项有高亮效果",
- "3. 验证选中项图标/文字颜色变化",
- "4. 验证选中项有下划线或背景高亮"
- ]
- },
- {
- "id": 21,
- "description": "全局 - 页面切换loading动画",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 点击底部导航切换页面",
- "2. 验证加载动画显示",
- "3. 验证动画样式美观",
- "4. 验证数据加载完成后动画消失"
- ]
- },
- {
- "id": 22,
- "description": "全局 - 错误提示优化",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/nonexist - 验证404响应"
- ],
- "frontend_test_steps": [
- "1. 断网状态下操作",
- "2. 验证显示友好错误提示",
- "3. 验证提示文案清晰",
- "4. 验证有重试按钮",
- "5. 验证错误提示可关闭"
- ]
- },
- {
- "id": 23,
- "description": "全局 - 无障碍标签",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "2",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 使用读屏软件测试",
- "2. 验证emoji图标有aria-label属性",
- "3. 验证可访问性标签正确"
- ]
- },
- {
- "id": 24,
- "description": "试听功能 - 预览API",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/preview -H 'Content-Type: application/json' -d '{\"text\":\"测试预览文本\"}' - 验证生成预览音频"
- ],
- "frontend_test_steps": [
- "1. 进入生成页输入文本",
- "2. 选择音色参数",
- "3. 点击试听预览按钮",
- "4. 验证预览音频播放",
- "5. 验证试听不消耗额度"
- ]
- },
- {
- "id": 25,
- "description": "历史页 - 一键试听按钮",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 进入历史页",
- "2. 验证每个音频卡片有播放按钮",
- "3. 点击播放按钮",
- "4. 验证音频开始播放",
- "5. 验证播放状态图标变化"
- ]
- },
- {
- "id": 26,
- "description": "下载功能 - 明显下载按钮",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/audio/audio-001/download - 验证下载接口"
- ],
- "frontend_test_steps": [
- "1. 进入历史页或详情页",
- "2. 验证下载按钮明显可见",
- "3. 点击下载按钮",
- "4. 验证下载进度显示",
- "5. 验证下载完成提示"
- ]
- },
- {
- "id": 27,
- "description": "分享功能 - 分享链接生成",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/share/audio-001 - 验证生成分享链接"
- ],
- "frontend_test_steps": [
- "1. 进入音频详情页",
- "2. 验证分享按钮明显可见",
- "3. 点击分享按钮",
- "4. 验证分享面板显示",
- "5. 验证可生成分享链接",
- "6. 验证复制链接功能"
- ]
- },
- {
- "id": 28,
- "description": "每日签到 - 签到API",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/signin -H 'Content-Type: application/json' -d '{\"userId\":\"test-user\"}' - 验证签到",
- "2. curl http://localhost:3000/api/signin/status?userId=test-user - 验证签到状态"
- ],
- "frontend_test_steps": [
- "1. 进入我的页或首页",
- "2. 验证签到入口显示",
- "3. 点击签到",
- "4. 验证签到成功动画",
- "5. 验证获得免费额度",
- "6. 验证连续签到天数显示"
- ]
- },
- {
- "id": 29,
- "description": "会员购买 - 会员卡入口",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/vip/plans - 验证获取会员套餐",
- "2. curl -X POST http://localhost:3000/api/vip/purchase -H 'Content-Type: application/json' -d '{\"planId\":\"monthly\"}' - 验证购买"
- ],
- "frontend_test_steps": [
- "1. 进入会员中心",
- "2. 验证月卡/年卡选项显示",
- "3. 验证套餐价格和权益说明",
- "4. 点击购买",
- "5. 验证支付流程",
- "6. 验证购买成功提示"
- ]
- },
- {
- "id": 30,
- "description": "额度用尽 - 付费引导弹窗",
- "status": "done",
- "passes": true,
- "priority": "high",
- "phase": "1",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/user/quota - 验证获取用户额度"
- ],
- "frontend_test_steps": [
- "1. 额度用尽时点击生成",
- "2. 验证弹窗提示'今日免费额度已用完'",
- "3. 验证弹窗有开通会员引导",
- "4. 点击立即开通",
- "5. 验证跳转会员购买页"
- ]
- },
- {
- "id": 31,
- "description": "邀请有礼 - 邀请API",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/invite/code - 验证获取邀请码",
- "2. curl -X POST http://localhost:3000/api/invite/claim -H 'Content-Type: application/json' -d '{\"inviteCode\":\"xxx\"}' - 验证使用邀请码"
- ],
- "frontend_test_steps": [
- "1. 进入邀请有礼页面",
- "2. 验证邀请码显示",
- "3. 验证分享邀请链接按钮",
- "4. 验证被邀请人获得奖励",
- "5. 验证邀请人获得奖励"
- ]
- },
- {
- "id": 32,
- "description": "任务中心 - 任务API",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/tasks - 验证获取任务列表",
- "2. curl -X POST http://localhost:3000/api/tasks/complete -H 'Content-Type: application/json' -d '{\"taskId\":\"task-001\"}' - 验证完成任务"
- ],
- "frontend_test_steps": [
- "1. 进入任务中心",
- "2. 验证新手任务列表",
- "3. 完成某个任务",
- "4. 验证奖励发放",
- "5. 验证任务进度更新"
- ]
- },
- {
- "id": 33,
- "description": "积分体系 - 积分API",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/points/balance - 验证获取积分余额",
- "2. curl http://localhost:3000/api/points/history - 验证积分明细"
- ],
- "frontend_test_steps": [
- "1. 进入我的积分页",
- "2. 验证积分余额显示",
- "3. 验证积分来源记录",
- "4. 验证积分消耗记录",
- "5. 验证积分兑换入口"
- ]
- },
- {
- "id": 34,
- "description": "生成成功 - 分享引导",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [],
- "frontend_test_steps": [
- "1. 生成音频成功",
- "2. 验证成功动画显示",
- "3. 验证分享按钮引导",
- "4. 点击分享验证分享面板",
- "5. 验证分享可获得积分"
- ]
- },
- {
- "id": 35,
- "description": "声音克隆 - 克隆API",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "3",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/voice/clone -H 'Content-Type: application/json' -d '{\"name\":\"克隆音色\",\"audioFiles\":[\"file1.mp3\"]}' - 验证克隆请求",
- "2. curl http://localhost:3000/api/voice/clone/status/clone-001 - 验证克隆状态"
- ],
- "frontend_test_steps": [
- "1. 进入声音克隆页",
- "2. 验证上传音频引导",
- "3. 上传5分钟音频",
- "4. 验证上传进度",
- "5. 验证克隆训练状态",
- "6. 验证克隆完成音色列表"
- ]
- },
- {
- "id": 36,
- "description": "批量生成 - 批量API",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "3",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/batch/generate -F 'file=@test.txt' - 验证批量上传",
- "2. curl http://localhost:3000/api/batch/status/batch-001 - 验证批量状态"
- ],
- "frontend_test_steps": [
- "1. 进入批量生成页",
- "2. 验证上传TXT/PDF入口",
- "3. 上传批量文件",
- "4. 验证解析结果预览",
- "5. 验证批量生成进度",
- "6. 验证批量下载功能"
- ]
- },
- {
- "id": 37,
- "description": "作品展示墙",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "3",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/works/ranking - 验证获取作品排行榜"
- ],
- "frontend_test_steps": [
- "1. 进入作品展示墙",
- "2. 验证优秀作品展示",
- "3. 验证点赞/播放数据",
- "4. 验证可查看作品详情",
- "5. 验证可关注创作者"
- ]
- },
- {
- "id": 38,
- "description": "足迹地图 - 成就API",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/achievements - 验证获取成就数据"
- ],
- "frontend_test_steps": [
- "1. 进入我的成就页",
- "2. 验证累计生成时长显示",
- "3. 验证累计字数统计",
- "4. 验证成就徽章展示",
- "5. 验证游戏化进度条"
- ]
- },
- {
- "id": 39,
- "description": "多语言支持 - 翻译API",
- "status": "done",
- "passes": true,
- "priority": "low",
- "phase": "3",
- "backend_test_steps": [
- "1. curl -X POST http://localhost:3000/api/translate -H 'Content-Type: application/json' -d '{\"text\":\"你好\",\"targetLang\":\"en\"}' - 验证翻译接口"
- ],
- "frontend_test_steps": [
- "1. 进入生成页",
- "2. 选择目标语言",
- "3. 输入中文文本",
- "4. 验证自动翻译",
- "5. 验证翻译后配音生成"
- ]
- },
- {
- "id": 40,
- "description": "高品质下载 - 会员专属标识",
- "status": "done",
- "passes": true,
- "priority": "medium",
- "phase": "2",
- "backend_test_steps": [
- "1. curl http://localhost:3000/api/audio/audio-001/download?quality=high - 验证高品质下载"
- ],
- "frontend_test_steps": [
- "1. 进入音频详情页",
- "2. 验证下载按钮显示品质选项",
- "3. 非会员点击高品质下载",
- "4. 验证提示'开通会员享受高品质'",
- "5. 会员点击高品质下载验证正常下载"
- ]
- }
- ]
- }
|