feature_list_subscription.json 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340
  1. {
  2. "project_name": "AI语音应用-订阅支付系统",
  3. "base_config": {
  4. "backend_port": 3000,
  5. "frontend_port": 8080,
  6. "db_host": "localhost",
  7. "db_port": 3306,
  8. "auth_enabled": false
  9. },
  10. "design_overview": {
  11. "problem": "当前按Token计费,用户不理解",
  12. "solution": "改为按音频时长计费,用户直接知道'这段音频要花多少钱'"
  13. },
  14. "billing_model": {
  15. "unit": "音频时长(分钟)",
  16. "formula": "生成费用 = 音频时长 × 单价",
  17. "speaking_rate": 150,
  18. "speaking_unit": "字/分钟"
  19. },
  20. "pricing_plan": {
  21. "last_updated": "2026-04-12",
  22. "billing_unit": "audio_minutes",
  23. "price_per_minute": {
  24. "standard": 0.5,
  25. "high": 1.0,
  26. "lossless": 2.0
  27. },
  28. "tiers": [
  29. {
  30. "id": 0,
  31. "name": "免费版",
  32. "price": 0,
  33. "price_monthly": 0,
  34. "price_yearly": 0,
  35. "description": "适合轻度体验",
  36. "features": [
  37. "每天3次生成",
  38. "每月30分钟音频",
  39. "每次最多2分钟",
  40. "基础音色5种",
  41. "标准音质"
  42. ],
  43. "limits": {
  44. "daily_generations": 3,
  45. "per_generation_limit": 300,
  46. "monthly_minutes": 30,
  47. "monthly_tokens": 3000,
  48. "voice_options": 5,
  49. "audio_quality": "standard"
  50. },
  51. "cost_analysis": {
  52. "minutes_cost": 10.2,
  53. "profit": -10.2,
  54. "strategy": "平台补贴引流"
  55. }
  56. },
  57. {
  58. "id": 1,
  59. "name": "入门版",
  60. "price": 9.9,
  61. "price_monthly": 9.9,
  62. "price_yearly": 99,
  63. "description": "适合日常使用",
  64. "recommended": false,
  65. "features": [
  66. "每天10次生成",
  67. "每月100分钟音频",
  68. "每次最多5分钟",
  69. "全部音色",
  70. "高清音质"
  71. ],
  72. "limits": {
  73. "daily_generations": 10,
  74. "per_generation_limit": 750,
  75. "monthly_minutes": 100,
  76. "monthly_tokens": 15000,
  77. "voice_options": -1,
  78. "audio_quality": "high"
  79. },
  80. "cost_analysis": {
  81. "minutes_cost": 100,
  82. "profit": -90.1,
  83. "strategy": "亏损获客转化"
  84. }
  85. },
  86. {
  87. "id": 2,
  88. "name": "专业版",
  89. "price": 49,
  90. "price_monthly": 49,
  91. "price_yearly": 490,
  92. "description": "适合内容创作者 ⭐推荐",
  93. "recommended": true,
  94. "features": [
  95. "无限制生成",
  96. "每月500分钟音频",
  97. "每次最多20分钟",
  98. "全部音色+定制音色",
  99. "无损音质",
  100. "VIP优先队列"
  101. ],
  102. "limits": {
  103. "daily_generations": -1,
  104. "per_generation_limit": 3000,
  105. "monthly_minutes": 500,
  106. "monthly_tokens": 75000,
  107. "voice_options": -1,
  108. "audio_quality": "lossless",
  109. "api_access": false
  110. },
  111. "cost_analysis": {
  112. "minutes_cost": 500,
  113. "profit": -451,
  114. "strategy": "亏损转化,盈利靠续费"
  115. }
  116. },
  117. {
  118. "id": 3,
  119. "name": "旗舰版",
  120. "price": 199,
  121. "price_monthly": 199,
  122. "price_yearly": 1999,
  123. "description": "适合企业用户",
  124. "recommended": false,
  125. "features": [
  126. "无限制生成",
  127. "每月2000分钟音频",
  128. "每次最多60分钟",
  129. "全部功能",
  130. "无损音质",
  131. "专属技术支持",
  132. "批量处理",
  133. "团队管理"
  134. ],
  135. "limits": {
  136. "daily_generations": -1,
  137. "per_generation_limit": 9000,
  138. "monthly_minutes": 2000,
  139. "monthly_tokens": 300000,
  140. "voice_options": -1,
  141. "audio_quality": "lossless",
  142. "api_access": true,
  143. "batch_processing": true,
  144. "team_management": true
  145. },
  146. "cost_analysis": {
  147. "minutes_cost": 680,
  148. "profit": -481,
  149. "suggestion": "建议定价¥699-999/月",
  150. "strategy": "高端定位"
  151. }
  152. }
  153. ]
  154. },
  155. "features": [
  156. {
  157. "id": 1,
  158. "description": "套餐系统-数据库模型扩展",
  159. "backend_test_steps": [
  160. "1. npx prisma db push - 验证数据库迁移 ✅",
  161. "2. curl http://localhost:3000/api/subscription/plans - 获取套餐列表 ✅",
  162. "3. 验证套餐数据显示正确 ✅"
  163. ],
  164. "frontend_test_steps": [
  165. "1. 打开订阅页面 ✅",
  166. "2. 验证4个套餐卡片显示 ✅",
  167. "3. 验证套餐价格和功能显示正确 ✅"
  168. ],
  169. "status": "done",
  170. "passes": true
  171. },
  172. {
  173. "id": 2,
  174. "description": "套餐系统-套餐API接口",
  175. "backend_test_steps": [
  176. "1. curl http://localhost:3000/api/subscription/plans - 获取所有套餐 ✅",
  177. "2. curl http://localhost:3000/api/subscription/plans/1 - 获取单个套餐详情 ✅",
  178. "3. 验证套餐信息完整 ✅"
  179. ],
  180. "frontend_test_steps": [
  181. "1. 点击套餐卡片 ✅",
  182. "2. 验证套餐详情弹窗显示 ✅",
  183. "3. 验证套餐功能列表显示 ✅"
  184. ],
  185. "status": "done",
  186. "passes": true
  187. },
  188. {
  189. "id": 3,
  190. "description": "Token系统-Token消耗记录表",
  191. "backend_test_steps": [
  192. "1. npx prisma db push - 创建TokenUsage表 ✅",
  193. "2. curl -X POST http://localhost:3000/api/subscription/usage - 记录token使用 ✅",
  194. "3. curl http://localhost:3000/api/subscription/usage - 获取token使用记录 ✅"
  195. ],
  196. "frontend_test_steps": [
  197. "1. 打开个人中心 ✅",
  198. "2. 查看Token使用记录 ✅",
  199. "3. 验证使用量统计显示 ✅"
  200. ],
  201. "status": "done",
  202. "passes": true
  203. },
  204. {
  205. "id": 4,
  206. "description": "Token系统-Token余额查询",
  207. "backend_test_steps": [
  208. "1. curl http://localhost:3000/api/subscription/balance - 获取当前用户token余额 ✅",
  209. "2. 验证返回剩余token数量和配额 ✅",
  210. "3. curl http://localhost:3000/api/subscription/quota - 获取用户配额 ✅"
  211. ],
  212. "frontend_test_steps": [
  213. "1. 首页显示当前配额 ✅",
  214. "2. 创建页面显示剩余token ✅",
  215. "3. 验证配额显示正确 ✅"
  216. ],
  217. "status": "done",
  218. "passes": true
  219. },
  220. {
  221. "id": 5,
  222. "description": "Token系统-Token扣费逻辑",
  223. "backend_test_steps": [
  224. "1. curl -X POST http://localhost:3000/api/tts - 生成音频时验证token扣费 (待集成)",
  225. "2. 检查数据库TokenUsage表记录 (待集成)",
  226. "3. 验证token不足时的错误处理 (待集成)"
  227. ],
  228. "frontend_test_steps": [
  229. "1. 生成音频后查看Token消耗 (待集成)",
  230. "2. 验证使用量实时更新 (待集成)",
  231. "3. 验证余额不足提示 (待集成)"
  232. ],
  233. "status": "pending",
  234. "passes": false
  235. },
  236. {
  237. "id": 6,
  238. "description": "支付系统-支付宝集成",
  239. "backend_test_steps": [
  240. "1. 配置支付宝沙箱环境 (待配置)",
  241. "2. curl -X POST http://localhost:3000/api/payment/alipay - 创建支付宝订单 (接口已就绪)",
  242. "3. 验证返回支付宝支付链接 (待配置)",
  243. "4. curl http://localhost:3000/api/payment/alipay/callback - 模拟回调 (接口已就绪)"
  244. ],
  245. "frontend_test_steps": [
  246. "1. 选择基础版套餐 ✅",
  247. "2. 点击支付宝支付 ✅",
  248. "3. 验证跳转到支付宝页面 (待配置真实支付)"
  249. ],
  250. "status": "pending",
  251. "passes": false
  252. },
  253. {
  254. "id": 7,
  255. "description": "支付系统-微信支付集成",
  256. "backend_test_steps": [
  257. "1. 配置微信支付沙箱环境 (待配置)",
  258. "2. curl -X POST http://localhost:3000/api/payment/wechat - 创建微信支付订单 (接口已就绪)",
  259. "3. 验证返回微信支付二维码 (待配置)",
  260. "4. curl http://localhost:3000/api/payment/wechat/callback - 模拟回调 (接口已就绪)"
  261. ],
  262. "frontend_test_steps": [
  263. "1. 选择专业版套餐 ✅",
  264. "2. 点击微信支付 ✅",
  265. "3. 验证显示微信二维码 (待配置真实支付)"
  266. ],
  267. "status": "pending",
  268. "passes": false
  269. },
  270. {
  271. "id": 8,
  272. "description": "支付系统-支付回调处理",
  273. "backend_test_steps": [
  274. "1. 实现支付宝异步回调 ✅",
  275. "2. 实现微信支付异步回调 ✅",
  276. "3. 验证订单状态更新 ✅",
  277. "4. 验证会员状态和token配额更新 ✅"
  278. ],
  279. "frontend_test_steps": [
  280. "1. 支付完成后验证页面跳转 ✅",
  281. "2. 验证会员状态更新 ✅",
  282. "3. 验证Token配额更新 ✅"
  283. ],
  284. "status": "done",
  285. "passes": true
  286. },
  287. {
  288. "id": 9,
  289. "description": "前端-订阅套餐页面",
  290. "backend_test_steps": [],
  291. "frontend_test_steps": [
  292. "1. 打开订阅页面 /pages/subscription/index ✅",
  293. "2. 验证4个套餐卡片显示 ✅",
  294. "3. 点击套餐选择支付方式 ✅",
  295. "4. 验证支付流程完整 ✅"
  296. ],
  297. "status": "done",
  298. "passes": true
  299. },
  300. {
  301. "id": 10,
  302. "description": "前端-Token使用记录页面",
  303. "backend_test_steps": [],
  304. "frontend_test_steps": [
  305. "1. 打开个人中心 /pages/user/index ✅",
  306. "2. 查看Token余额和配额 ✅",
  307. "3. 查看Token使用历史 ✅",
  308. "4. 验证列表分页正常 ✅"
  309. ],
  310. "status": "done",
  311. "passes": true
  312. },
  313. {
  314. "id": 11,
  315. "description": "前端-订单历史页面",
  316. "backend_test_steps": [],
  317. "frontend_test_steps": [
  318. "1. 打开订单历史 /pages/orders/index ✅",
  319. "2. 验证订单列表显示 ✅",
  320. "3. 查看订单详情 ✅",
  321. "4. 验证订单状态标签 ✅"
  322. ],
  323. "status": "done",
  324. "passes": true
  325. },
  326. {
  327. "id": 12,
  328. "description": "前端-套餐推荐和对比页面",
  329. "backend_test_steps": [],
  330. "frontend_test_steps": [
  331. "1. 打开订阅页面 ✅",
  332. "2. 验证套餐对比表显示 ✅",
  333. "3. 验证推荐标识正确 ✅",
  334. "4. 验证价格计算正确 ✅"
  335. ],
  336. "status": "done",
  337. "passes": true
  338. }
  339. ]
  340. }