积分消耗系统
HappyShip 内置智能积分消耗系统,采用预扣费模式合理控制 AI 生成成本,支持灵活自定义积分数量和套餐配置。
💰积分系统概述
HappyShip 模板的积分系统特点:
- 预扣费模式 - 生成开始前立即扣除积分
- 灵活计费 - 不同功能可设置不同积分消耗
- 实时检查 - 生成前验证积分是否充足
- 用户友好 - 积分不足时引导用户升级
- 自动分配 - 购买套餐后自动充值积分
🎯 默认积分配置
AI 视频生成
10 积分/次
AI 图片生成
1 积分/次
新用户奖励
3 免费积分
🔄积分消耗流程
1
用户发起生成请求
用户输入提示词,点击生成按钮
2
服务端验证积分
检查用户当前积分是否满足生成需求
const requiredCredits = 10; // 视频生成
if (currentCredits < requiredCredits) {
return 'INSUFFICIENT_CREDITS';
}
3
立即扣除积分
采用预扣费模式,避免重复请求和资源浪费
await supabaseAdmin.update({
credits: currentCredits - requiredCredits
})
4
调用 AI 服务
启动生成任务,返回预测ID供前端轮询结果
5
返回结果
生成完成后向用户展示结果,无论成功失败积分已扣除
⚠️ 预扣费模式说明
为防止恶意请求和资源滥用,系统采用预扣费模式。即使 AI 生成失败,积分也不会退还。 这确保了服务的稳定性和公平性,建议合理设置积分消耗数量。
⚙️自定义积分数量
HappyShip 支持灵活自定义积分消耗数量,让你根据业务需求调整计费策略。
📝 修改 API 中的积分消耗
在生成 API 路由中修改 requiredCredits
变量:
// src/app/api/generate-image/route.ts
export async function POST(request: NextRequest) {
// 获取用户积分...
const currentCredits = userData?.credits || 0;
// 🎯 修改这里的积分消耗数量
const requiredCredits = 15; // 原来是10,现在改为15
// 检查积分是否足够...
}
🎨 更新前端显示信息
同时更新前端组件中的积分提示信息:
// src/components/ui/VideoGenerationTool.tsx
<div className="text-center p-3 bg-primary/5">
<p className="text-xs lg:text-sm text-muted-foreground">
{t('costInfo', { cost: 15 })}
</p>
</div>
🔄 不同功能设置不同积分
可以根据生成参数动态调整积分消耗:
// 根据视频时长调整积分消耗
let requiredCredits = 10; // 基础积分
if (duration === '10s') {
requiredCredits = 15; // 长视频消耗更多
}
if (resolution === '720p') {
requiredCredits += 5; // 高分辨率额外消耗
}
📋配置说明
💎 套餐积分配置
在 HappyShip 配置流程中可以自定义套餐积分数量:
Pro 套餐
• 默认:200 积分/月
• 可自定义为任意数量
• 建议:100-500 积分
Premium 套餐
• 默认:500 积分/月
• 可自定义为任意数量
• 建议:300-1000 积分
🎁 新用户初始积分
在认证配置中修改新用户的初始积分:
// src/lib/auth.ts - signIn callback
const { error: insertError } = await supabaseAdmin
.from('users_profile')
.insert({
email: extendedUser.email!,
name: extendedUser.name,
avatar: extendedUser.image,
credits: 5, // 🎯 修改新用户初始积分(原来是3)
});
⚠️ 积分不足处理策略
友好提示:显示当前积分和所需积分的差额
引导升级:提供"获取更多积分"按钮跳转到定价页面
视觉强调:使用特殊样式高亮积分不足错误
💡实际应用案例
📊 案例1:分层定价策略
图片生成
1 积分/次
快速、成本低
短视频生成
10 积分/次
5秒视频
长视频生成
20 积分/次
10秒高清视频
🎯 案例2:按质量定价
// 根据分辨率动态计费
let baseCredits = 8;
switch (resolution) {
case '480p':
requiredCredits = baseCredits; // 标准质量
break;
case '720p':
requiredCredits = baseCredits * 1.5; // 高清质量
break;
case '1080p':
requiredCredits = baseCredits * 2; // 超高清质量
break;
}
💼 案例3:合理套餐设计
免费用户
3 积分 = 3张图片
体验产品功能
Pro 用户
200 积分 = 20个视频
满足个人创作需求
Premium 用户
500 积分 = 50个视频
商业使用充足配额
💰 积分系统总结
HappyShip 的积分系统设计灵活且用户友好,通过预扣费模式确保服务稳定性,同时支持完全自定义的计费策略。 你可以根据业务需求灵活调整积分消耗,为用户提供公平合理的使用体验。
🎯 精准控制
灵活设置不同功能的积分消耗,实现精准成本控制
🛡️ 防止滥用
预扣费模式有效防止恶意请求和资源浪费
👥 用户友好
清晰的积分提示和友好的不足处理机制
💡 合理设置积分策略,平衡用户体验与运营成本!