- Base URL:
http://localhost:5000
- 认证方式: Session (Solana 钱包签名)
- 数据格式: JSON
| 方法 |
端点 |
描述 |
| POST |
/get_nonce |
获取签名随机数 |
| POST |
/verify_signature |
验证钱包签名并登录 |
| GET |
/check_auth |
检查认证状态 |
| POST |
/logout |
用户登出 |
| 方法 |
端点 |
描述 |
认证 |
| GET |
/api/points/balance |
获取积分余额 |
✅ |
| GET |
/api/points/history |
获取积分历史 |
✅ |
| GET |
/api/points/leaderboard |
获取积分排行榜 |
❌ |
| 方法 |
端点 |
描述 |
认证 |
| GET |
/api/lootbox/list |
获取盲盒列表 |
❌ |
| POST |
/api/lootbox/draw |
执行抽奖 |
✅ |
| GET |
/api/lootbox/history |
获取抽奖历史 |
✅ |
| GET |
/api/lootbox/rewards/{id} |
获取奖励概率 |
❌ |
| 方法 |
端点 |
描述 |
认证 |
| GET |
/api/inventory |
获取用户背包 |
✅ |
| GET |
/api/inventory/stats |
获取背包统计 |
✅ |
| GET |
/api/inventory/{id} |
获取物品详情 |
✅ |
| 方法 |
端点 |
描述 |
认证 |
| POST |
/api/virtual-item/redeem |
申请兑换 |
✅ |
| 方法 |
端点 |
描述 |
认证 |
| GET |
/api/solana/blockhash |
获取区块哈希 |
❌ |
| POST |
/api/sol-pool/participate |
参与 SOL 池子 |
✅ |
| GET |
/api/sol-pool/status |
获取池子状态 |
✅ |
| GET |
/api/sol-pool/daily-stats |
获取每日统计 |
❌ |
| 方法 |
端点 |
描述 |
认证 |
| POST |
/generate_image |
文生图 (同步) |
✅ |
| POST |
/generate_async |
文生图 (异步) |
✅ |
| POST |
/generate_video |
文生视频 |
✅ |
| POST |
/generate_chat_audio |
AI 语音对话 |
✅ |
| GET |
/task/{id} |
检查任务状态 |
❌ |
| POST |
/api/product/experience/complete |
完成产品体验 |
✅ |
| 方法 |
端点 |
描述 |
| POST |
/admin/login |
管理员登录 |
| POST |
/admin/logout |
管理员登出 |
| 方法 |
端点 |
描述 |
| GET |
/admin/virtual-items/pending-redemptions |
获取待处理兑换 |
| PUT |
/admin/virtual-items/complete-redemption/{id} |
完成兑换 |
| PUT |
/admin/virtual-items/cancel-redemption/{id} |
取消兑换 |
| GET |
/admin/virtual-items/redemption-stats |
获取兑换统计 |
| 方法 |
端点 |
描述 |
| GET |
/admin/physical-items |
获取虚拟物品列表 |
| GET |
/admin/physical-items/{id} |
获取物品详情 |
| POST |
/admin/physical-items |
创建虚拟物品 |
| PUT |
/admin/physical-items/{id} |
更新虚拟物品 |
| DELETE |
/admin/physical-items/{id} |
删除虚拟物品 |
| 方法 |
端点 |
描述 |
| GET |
/admin/users |
获取用户列表 |
| POST |
/admin/users/{id}/points |
调整用户积分 |
| 方法 |
端点 |
描述 |
| GET |
/admin/lootboxes |
获取盲盒列表 |
| PUT |
/admin/lootboxes/{id} |
更新盲盒 |
| PUT |
/admin/lootboxes/{box_id}/rewards/{reward_id} |
更新奖励 |
| 方法 |
端点 |
描述 |
| GET |
/admin/stats |
获取总体统计 |
| GET |
/admin/addresses |
获取转账地址 |
| GET |
/admin/charts/activity |
获取活跃度图表 |
| GET |
/admin/charts/points |
获取积分图表 |
| GET |
/admin/charts/lootbox |
获取盲盒图表 |
// 1. 获取 nonce
const nonce = await fetch('/get_nonce', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ wallet_address: address })
});
// 2. 验证签名
const auth = await fetch('/verify_signature', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ wallet_address: address, signature, nonce })
});
const result = await fetch('/api/lootbox/draw', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ loot_box_id: 1 })
});
const redeem = await fetch('/api/virtual-item/redeem', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ inventory_id: 4 })
});
- 30积分: 50% (500,000次)
- 80积分: 30% (300,000次)
- 160积分: 15% (150,000次)
- 320积分: 3.9% (39,000次)
- 1000积分: 1% (10,000次)
- 0.05 SOL: 0.1% (1,000次) ← 唯一虚拟物品
- 参与费用: 0.02 SOL
- 奖励积分: 50积分
- 目标地址:
3WL45x5sxzdHjhRksJEvRc3tNkFQxJwyfPctpTYk6Shi
- 文生图: 10积分 (每日3次)
- 文生视频: 20积分 (每日2次)
not_redeemed: 未兑换 (可申请)
pending: 待处理 (等待管理员)
redeemed: 已兑换 (已完成)
- 认证要求: 标记 ✅ 的接口需要用户登录
- 管理员权限:
/admin/* 接口需要管理员登录
- 错误处理: 所有响应都包含
success 字段
- 虚拟物品: 系统已从实物奖品迁移为虚拟物品
- 兑换流程: 虚拟物品兑换无需填写地址信息