多平台统一用户注册与登录服务 · JWT Token 认证
v1.0.0基础 URL: https://your-domain.zeabur.app/api
统一登录: 所有App的账户互通,A平台注册的用户可以在B平台登录
平台追踪: 注册时记录 platform 字段,标识用户来源
需要认证的接口请在 HTTP Header 中携带 Token:
Authorization: Bearer <your-jwt-token>
Token 有效期:7天,过期后需要重新登录或刷新
生成并返回6位数字验证码(开发模式,不接短信服务)。验证码5分钟内有效。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码,11位数字 |
{
"phone": "13800138000"
}
{
"success": true,
"message": "验证码已发送",
"data": {
"phone": "13800138000",
"code": "123456",
"expiresIn": 300
}
}
使用手机号+验证码注册。注册时需指定 platform 标识来源App。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
| code | string | 是 | 验证码(先调用发送接口获取) |
| platform | string | 是 | 平台标识,如 "app1"、"app2"、"admin-web" |
{
"phone": "13800138000",
"code": "123456",
"platform": "app1"
}
{
"success": true,
"message": "注册成功",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 604800,
"userId": "clxk...",
"phone": "13800138000",
"platform": "app1"
}
}
使用手机号+密码注册。密码会被bcrypt加密存储。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
| password | string | 是 | 密码,6-32位 |
| platform | string | 是 | 平台标识 |
{
"phone": "13800138000",
"password": "MyPass123!",
"platform": "app2"
}
{
"success": true,
"message": "注册成功",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 604800,
"userId": "clxk...",
"phone": "13800138000",
"platform": "app2"
}
}
使用手机号+验证码登录。所有平台统一验证,无需指定平台。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
| code | string | 是 | 验证码 |
{
"phone": "13800138000",
"code": "123456"
}
{
"success": true,
"message": "登录成功",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 604800,
"userId": "clxk...",
"phone": "13800138000",
"platform": "app1"
}
}
使用手机号+密码登录。所有平台统一验证,无需指定平台。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | string | 是 | 手机号码 |
| password | string | 是 | 密码 |
{
"phone": "13800138000",
"password": "MyPass123!"
}
{
"success": true,
"message": "登录成功",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 604800,
"userId": "clxk...",
"phone": "13800138000",
"platform": "app1"
}
}
获取当前登录用户的详细信息。需要在Header中携带Bearer Token。
| 参数 | 说明 |
|---|---|
| Authorization: Bearer <token> | 登录获取的 JWT Token |
{
"success": true,
"message": "操作成功",
"data": {
"id": "clxk...",
"phone": "13800138000",
"platform": "app1",
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:00.000Z"
}
}
使用当前有效的Token换取新Token,用于续期。需要在Header中携带Bearer Token。
| 参数 | 说明 |
|---|---|
| Authorization: Bearer <token> | 当前有效的 JWT Token |
// 无需请求体,直接从 Authorization Header 获取身份
{
"success": true,
"message": "Token已刷新",
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresIn": 604800,
"userId": "clxk...",
"phone": "13800138000",
"platform": "app1"
}
}
所有接口统一返回格式:
{
"success": false,
"message": "错误描述",
"statusCode": 400
}
| HTTP状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 201 | 创建成功(注册) |
| 400 | 请求参数错误 / 验证码错误 / 手机号未注册 |
| 401 | 未授权 / Token无效 / 密码错误 |
| 409 | 冲突(手机号已注册) |
| 429 | 请求频率过高 |
| 500 | 服务器内部错误 |