🔐 认证系统
GET /captchaImage
功能: 获取图形验证码
描述: 生成验证码图片,支持动态启用/禁用
响应示例
{
"code": 200,
"msg": "操作成功",
"data": {
"captchaEnabled": true,
"uuid": "a8d9a6cb-2a14-4892-afc2-266b05f7e87a",
"img": "data:image/png;base64,iVBORw0K..."
}
}
POST /login
功能: 用户登录
描述: 支持用户名和邮箱两种登录方式,自动识别输入类型
请求参数
| 参数名 | 类型 | 必填 | 说明 |
| username | string | 是 | 用户名或邮箱地址 |
| password | string | 是 | 用户密码 |
| code | string | 否 | 验证码(可选) |
| uuid | string | 否 | 验证码UUID(可选) |
请求示例
{
"username": "admin",
"password": "123456",
"code": "1234",
"uuid": "a8d9a6cb-2a14-4892-afc2-266b05f7e87a"
}
响应示例
{
"code": 200,
"msg": "登录成功",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
👤 用户信息管理
获取当前用户信息
GET
/getInfo
获取当前登录用户的详细信息,包括等级、激活码状态等。
响应示例
{
"code": 200,
"msg": "ok",
"data": {
"userId": 1,
"userName": "admin",
"level": 4,
"levelName": "VIP",
"authorizationCode": {
"code": "XXXX-XXXX-XXXX",
"expirationTime": "2099-12-31T23:59:59",
"status": 1
},
"teamCode": [],
"isExpire": false
}
}
| 字段 |
类型 |
说明 |
| isExpire |
boolean |
false: 会员/未过期,true: 过期/非会员 |
| level |
number |
用户等级:1=普通用户,4=VIP用户 |
| authorizationCode.status |
number |
激活码状态:0=已过期,1=有效 |
🔑 权限管理
获取权限状态(核心接口)
GET
/license/status
获取用户的权限状态和功能开关,这是权限控制的核心接口。
响应示例
{
"code": 200,
"msg": "ok",
"data": {
"expire": false,
"expireAt": "2099-12-31T23:59:59",
"plan": "VIP",
"features": {
"batch_image": true,
"img_to_video": true,
"flux_js": true,
"skip_inference_prompt": true,
"vip_skip_watermark": true,
"sd_generate": true,
"comfyui_generate": true,
"video_pipeline_sd": true
}
}
}
心跳检查
GET
/license/heartbeat
用于定时校验用户授权状态,建议客户端定期调用。
响应示例
{
"code": 200,
"msg": "ok",
"data": {
"alive": true
}
}
权限逻辑:
expire=false → 客户端应视为 isExpire=false
expire=true → 客户端应视为 isExpire=true
- 管理员用户永不过期,VIP用户根据过期时间动态判断
🎯 功能模块
系统提供8个功能模块,每个模块都有对应的权限控制。
批量生图 VIP
API: POST /api/batch/image
支持批量生成多张图片,提高创作效率。
图生视频 VIP
API: POST /api/img2video
将静态图片转换为动态视频内容。
FLUX_JS模型 VIP
API: POST /api/flux/generate
使用高级FLUX_JS模型进行图像生成。
SD生成 免费
API: POST /api/sd/generate
基础Stable Diffusion图像生成功能。
ComfyUI生成 VIP
API: POST /api/comfyui/generate
使用ComfyUI工作流进行复杂图像生成。
视频处理SD链路 VIP
API: POST /api/video/pipeline
使用SD技术进行视频处理和增强。
VIP去水印 VIP
API: POST /api/watermark/remove
智能去除图片水印,保持画质。
跳过推理提示 VIP
API: GET/POST /api/config/skip-prompt
配置是否跳过AI推理提示步骤。
功能权限表
| 功能标识 |
功能名称 |
免费用户 |
VIP用户 |
API路径 |
| batch_image |
批量生图 |
✗ |
✓ |
/api/batch/image |
| img_to_video |
图生视频 |
✗ |
✓ |
/api/img2video |
| flux_js |
FLUX_JS模型 |
✗ |
✓ |
/api/flux/generate |
| sd_generate |
SD生成 |
✓ |
✓ |
/api/sd/generate |
| comfyui_generate |
ComfyUI生成 |
✗ |
✓ |
/api/comfyui/generate |
| video_pipeline_sd |
视频处理SD链路 |
✗ |
✓ |
/api/video/pipeline |
| vip_skip_watermark |
VIP去水印 |
✗ |
✓ |
/api/watermark/remove |
| skip_inference_prompt |
跳过推理提示 |
✗ |
✓ |
/api/config/skip-prompt |
🎫 激活码系统
绑定激活码
POST
/appManage/code
用户使用激活码升级为VIP会员。
请求参数
{
"appId": 1728691835485208578,
"code": "XXXX-XXXX",
"deviceId": "设备ID(可选)",
"bindTime": "绑定时间(可选)"
}
响应示例
{
"code": 200,
"msg": "激活成功",
"data": "ok"
}
激活流程:
- 用户输入激活码
- 系统验证激活码有效性
- 更新用户VIP状态和过期时间
- 激活码标记为已使用
⚠️ 错误处理
HTTP状态码
| 状态码 |
说明 |
处理建议 |
| 200 |
请求成功 |
正常处理响应数据 |
| 400 |
请求参数错误 |
检查请求参数格式和内容 |
| 401 |
未授权/Token无效 |
重新登录获取新Token |
| 403 |
权限不足 |
提示用户升级VIP或联系客服 |
| 500 |
服务器内部错误 |
稍后重试或联系技术支持 |
常见错误响应
// Token缺失或无效
{
"code": 401,
"msg": "Token已过期",
"data": null
}
// 权限不足
{
"code": 403,
"msg": "需要VIP权限才能使用批量生图功能",
"data": null
}
// 参数错误
{
"code": 400,
"msg": "提示词不能为空",
"data": null
}
客户端集成建议
权限检查流程:
- 登录后调用
/license/status 获取功能开关状态
- 根据
features 对象控制UI功能显示/隐藏
- 功能调用时后端自动进行权限验证
- 收到403错误时引导用户升级VIP
- 定期调用
/license/heartbeat 检查授权状态
🚀 快速开始
以下是一个完整的客户端集成示例:
// 1. 登录获取Token
const loginResponse = await fetch('https://tw.jianyuai.top/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
username: 'user@example.com',
password: 'password123',
code: '1234',
uuid: 'captcha-uuid'
})
});
const { data: { token } } = await loginResponse.json();
// 2. 获取权限状态
const statusResponse = await fetch('https://tw.jianyuai.top/license/status', {
headers: { 'Authorization': `Bearer ${token}` }
});
const { data: { features } } = await statusResponse.json();
// 3. 根据权限控制功能
if (features.batch_image) {
// 显示批量生图功能
enableBatchImageFeature();
} else {
// 隐藏功能并显示升级提示
showUpgradePrompt('批量生图需要VIP权限');
}
// 4. 调用功能API
const generateResponse = await fetch('https://tw.jianyuai.top/api/batch/image', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: 'beautiful landscape',
count: 3
})
});
if (generateResponse.status === 403) {
// 权限不足,引导升级VIP
showUpgradeDialog();
}
🚀 快速开始
💡 客户端集成建议
建议按照以下步骤进行客户端集成,确保完整替换旧的 bsphp 校验系统。
集成步骤
// 1. 用户登录
const loginResponse = await fetch('https://tw.jianyuai.top/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
username: 'your_username',
password: 'your_password'
})
});
const { data: { token } } = await loginResponse.json();
// 2. 获取用户信息和权限状态
const userInfo = await fetch('https://tw.jianyuai.top/getInfo', {
headers: { 'Authorization': `Bearer ${token}` }
});
// 3. 检查功能权限
const licenseStatus = await fetch('https://tw.jianyuai.top/license/status', {
headers: { 'Authorization': `Bearer ${token}` }
});
// 4. 使用功能API(带权限验证)
const batchImageResponse = await fetch('https://tw.jianyuai.top/api/batch/image', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ /* 功能参数 */ })
});
if (batchImageResponse.status === 403) {
// 权限不足,引导升级VIP
showUpgradeDialog();
}
⚠️ 重要提醒
• 所有API调用都需要携带有效的JWT Token
• 功能API会自动进行权限验证
• 建议定期调用心跳接口保持连接
• VIP功能需要有效的激活码
📞 技术支持
如有任何问题,请联系技术支持团队
文档更新时间:2024年12月23日
API版本:v1.0