根据AI模型真实定价(你提供的数据):
| 套餐 | 月付 | 年付 | Token配额 | Token成本 | 利润率 | 定位 |
|---|---|---|---|---|---|---|
| 免费版 | ¥0 | ¥0 | 5,000/月 | ¥10 | 0% | 体验引流 |
| 入门版 | ¥9.9 | ¥99 | 10,000/月 | ¥20 | -101% | 获客转化 |
| 专业版 | ¥59 | ¥590 | 20,000/月 | ¥40 | +32% | ⭐主要盈利 |
| 旗舰版 | ¥199 | ¥1999 | 50,000/月 | ¥100 | +50% | 高端用户 |
专业版(¥59/月):
Token配额:20,000/月
Token成本:20,000 × ¥2.0/千 = ¥40.0
售价:¥59.0
利润:¥19.0
利润率:32% ✅ 合理
旗舰版(¥199/月):
Token配额:50,000/月
Token成本:50,000 × ¥2.0/千 = ¥100.0
售价:¥199.0
利润:¥99.0
利润率:50% ✅ 优质利润
超过月配额后自动按量计费:
| 套餐 | 超额单价 | 说明 |
|---|---|---|
| 入门版 | ¥3.5/千token | 确保不亏本 |
| 专业版 | ¥3.0/千token | 批量优惠 |
| 旗舰版 | ¥2.5/千token | 大客户折扣 |
| 套餐 | 每次最多 | 每日次数 | 每月Token |
|---|---|---|---|
| 免费版 | 1000字 | 3次 | 5,000 |
| 入门版 | 3000字 | 10次 | 10,000 |
| 专业版 | 10000字 | 50次 | 20,000 |
| 旗舰版 | 50000字 | 无限制 | 50,000 |
cd server
npm install
npx prisma db push # 初始化数据库
npx tsc # 编译TypeScript
node dist/app.js # 启动服务
cd my-uniapp-vue3
npm install
npm run dev:h5 # H5开发模式
http://localhost:8080✅ 每天3次生成
✅ 每次最多2000字
✅ 基础音色5种
✅ 标准音质
❌ 每月10000 Token
❌ 无高清音质
❌ 无优先队列
✅ 无限制生成次数
✅ 每次最多10000字
✅ 全部音色
✅ 高清音质
✅ 优先队列
✅ 每月50000 Token
❌ 无API访问
❌ 无批量处理
✅ 无限制生成次数
✅ 每次最多50000字
✅ 全部音色+定制音色
✅ 无损音质
✅ VIP优先队列
✅ API访问
✅ 每月200000 Token
❌ 无批量处理
❌ 无团队管理
✅ 无限制生成次数
✅ 每次最多200000字
✅ 全部功能
✅ 无损音质
✅ 专属技术支持
✅ 批量处理
✅ 团队管理
✅ 每年1000000 Token
GET /api/subscription/plans
响应:
{
"code": 0,
"data": {
"plans": [
{
"id": 1,
"name": "免费版",
"level": 0,
"priceMonthly": 0,
"priceYearly": 0,
"features": ["每天3次生成", "每次最多2000字"],
"monthlyTokens": 10000
},
// ...
]
}
}
GET /api/subscription/balance
Authorization: Bearer <token>
响应:
{
"code": 0,
"data": {
"totalTokens": 50000,
"usedTokens": 1200,
"remainingTokens": 48800,
"isUnlimited": false,
"resetDate": "2026-05-01T00:00:00.000Z"
}
}
GET /api/subscription/usage?page=1&pageSize=20
Authorization: Bearer <token>
响应:
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"type": "text_to_speech",
"amount": 1500,
"contentLength": 1500,
"createdAt": "2026-04-12T10:00:00.000Z"
}
],
"total": 50,
"page": 1,
"pageSize": 20,
"totalPages": 3
}
}
POST /api/subscription/check-quota
Authorization: Bearer <token>
Content-Type: application/json
{
"tokens": 5000
}
响应:
{
"code": 0,
"data": {
"allowed": true,
"reason": null
}
}
POST /api/payment/create
Authorization: Bearer <token>
Content-Type: application/json
{
"planId": 2,
"paymentMethod": "alipay"
}
响应:
{
"code": 0,
"message": "订单创建成功",
"data": {
"orderNo": "PAY20260412123456",
"amount": 9.9,
"planName": "基础版",
"paymentUrl": "https://..."
}
}
POST /api/payment/mock
Authorization: Bearer <token>
Content-Type: application/json
{
"orderNo": "PAY20260412123456"
}
GET /api/payment/orders?page=1&pageSize=10
Authorization: Bearer <token>
响应:
{
"code": 0,
"data": {
"list": [
{
"id": 1,
"orderNo": "PAY20260412123456",
"planName": "基础版",
"amount": 9.9,
"status": "paid",
"paymentMethod": "alipay",
"createdAt": "2026-04-12T10:00:00.000Z",
"paidAt": "2026-04-12T10:05:00.000Z"
}
],
"total": 5,
"page": 1,
"pageSize": 10,
"totalPages": 1
}
}
SELECT * FROM SubscriptionPlan;
SELECT * FROM Subscription WHERE userId = <user_id>;
SELECT * FROM TokenUsage WHERE userId = <user_id> ORDER BY createdAt DESC LIMIT 20;
SELECT * FROM TokenBalance WHERE userId = <user_id>;
SELECT * FROM Order WHERE userId = <user_id> ORDER BY createdAt DESC LIMIT 20;
curl -X POST http://localhost:3000/api/payment/create \
-H "Authorization: Bearer <your_token>" \
-H "Content-Type: application/json" \
-d '{"planId": 2, "paymentMethod": "mock"}'
curl -X POST http://localhost:3000/api/payment/mock \
-H "Authorization: Bearer <your_token>" \
-H "Content-Type: application/json" \
-d '{"orderNo": "PAY20260412XXXXXX"}'
curl http://localhost:3000/api/subscription/balance \
-H "Authorization: Bearer <your_token>"
pages/member/index.vue
访问方式:用户中心 → 会员中心
pages/orders/index.vue
访问方式:用户中心 → 订单历史
在订单历史页面底部显示
在 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
# 数据库配置
DATABASE_URL=mysql://user:password@localhost:3306/audio_book
编辑 server/src/modules/subscription/subscription.service.ts 中的 DEFAULT_PLANS 数组。
用户请求生成:1500字
扣费:1500 Token
剩余Token:48800 - 1500 = 47300
A: 请参考 docs/支付集成指南.md
A: 可以联系客服处理
A: 可以,补差价升级
A: 在订阅管理页面关闭
如有问题,请查看:
docs/支付集成指南.mdserver/prisma/schema.prisma