需要做的事情:
server/src/modules/tts/tts.service.tsdocs/Token计费系统设计.md示例代码:
// 在 tts.service.ts 中添加
import { checkQuota, consumeToken } from '../subscription/subscription.service';
async function generateAudio(userId: number, text: string) {
const tokens = text.length;
// 检查配额
const quotaCheck = await checkQuota(userId, tokens);
if (!quotaCheck.allowed) {
throw new Error(quotaCheck.reason);
}
// 扣除Token
await consumeToken(userId, tokens, {
type: 'text_to_speech',
contentLength: text.length,
description: '文本转语音'
});
// 继续原有的生成逻辑...
}
状态:[ ] 未完成
可选任务:
配置位置:
# server/.env
ALIPAY_APP_ID=your_app_id
ALIPAY_PRIVATE_KEY=your_private_key
ALIPAY_PUBLIC_KEY=alipay_public_key
WECHAT_APP_ID=your_app_id
WECHAT_MCH_ID=your_mch_id
WECHAT_API_KEY=your_api_key
状态:[ ] 可选(开发环境可用模拟支付)
| 套餐 | 月付 | Token配额 | 利润率 | 状态 |
|---|---|---|---|---|
| 免费版 | ¥0 | 5,000 | 0% | ✅ |
| 入门版 | ¥9.9 | 10,000 | -101% | ✅ |
| 专业版 | ¥59 | 20,000 | +32% | ✅ |
| 旗舰版 | ¥199 | 50,000 | +50% | ✅ |
测试订阅页面
# 打开浏览器
http://localhost:8080/pages/member/index
测试订单创建
curl -X POST http://localhost:3000/api/payment/create \
-H "Authorization: Bearer <token>" \
-d '{"planId": 7, "paymentMethod": "mock"}'
server/src/modules/tts/tts.service.tsdocs/Token计费系统设计.mddocs/支付集成指南.mdserver/src/modules/subscription/subscription.service.ts # 订阅服务
server/src/modules/payment/payment.service.ts # 支付服务
server/src/modules/tts/tts.service.ts # TTS服务(待集成)
server/prisma/schema.prisma # 数据库模型
my-uniapp-vue3/src/pages/member/index.vue # 订阅页面
my-uniapp-vue3/src/pages/orders/index.vue # 订单页面
docs/订阅系统使用说明.md # 使用说明
docs/支付集成指南.md # 支付配置
docs/Token计费系统设计.md # 计费设计
订阅支付系统最终总结.md # 完整总结
关于入门版亏损: 入门版(¥9.9/月)定价低于成本是故意的!
关于Token单价:
更新时间:2026-04-12
完成度:85% (10/12)
状态:✅ 可以投入使用