文档 / 认证 Auth / Email 注册
Email 注册
验证码须为 1111(mock)→ 创建用户 status=1 → 返回 token(含 country/device_lang/locale/timezone)。永不返回 password_hash。
模拟请求
已预填本接口参数,可直接改 Body 后发送。
验证码 mock:1111;注册/登录成功后自动缓存 token。
POST
占位符 {{refresh_token}} / {{access_token}} 发送时自动替换。
支持 jpg / jpeg / png / webp / gif,最大 2MB。点「发送请求」才会上传。
点击「发送请求」查看结果
请求 Body 字段
| 字段 | 说明 |
|---|---|
email | string, 必填 |
password | string, 必填, ≥8 位 |
code | string, 必填, 邮箱验证码 |
username | string, 可选, 用户名(字母开头,3–32 位) |
nickname | string, 可选, 昵称 |
signature | string, 可选, 个性签名 ≤100 |
bio | string, 可选, 自我介绍 ≤500 |
country | string, 可选, ISO 3166-1 alpha-2,如 US / JP / KR |
device_lang | string, 可选, 设备语言 BCP 47,如 en-US / ja-JP |
locale | string, 可选, APP 使用语言 en/ja/ko/…;也可用 lang |
timezone | string, 可选, IANA 时区,如 America/New_York |
device_id | string, 可选, 写入 session |
device_name | string, 可选 |
platform | string, 可选, ios|android|web |
响应 data 字段说明
| 字段 | 类型 / 说明 |
|---|---|
user.id |
int, 用户 ID |
user.email |
string, 登录邮箱 |
user.username |
string, 用户名;可空串 |
user.nickname |
string, 昵称 |
user.avatar_url |
string, 头像路径/URL;可空串 |
user.signature |
string, 个性签名;可空串 |
user.bio |
string, 自我介绍;可空串 |
user.country |
string, 国家/地区 ISO 3166-1 alpha-2,如 US / JP / KR;可空串 |
user.device_lang |
string, 设备系统语言 BCP 47,如 en-US / ja-JP;可空串 |
user.locale |
string, 当前 APP 使用语言:en/zh/ja/ko/de/fr/es/it/pt/nl/pl;可空串 |
user.timezone |
string, 设备时区 IANA,如 America/New_York / Asia/Tokyo;可空串 |
user.status |
int, 0待验证 1正常 2禁用 3注销 |
user.email_verified_at |
string|null, 邮箱验证时间 UTC |
user.created_at |
string|null, 注册时间 UTC |
access_token |
string, 访问令牌,放 Header: Authorization: Bearer {access_token} |
refresh_token |
string, 刷新令牌,用于 /auth/refresh;客户端安全存储 |
expires_in |
int, access_token 有效秒数,默认 7200 |
完整响应示例
成功时的整包 JSON(APP 可按此解析)。统一外壳 code / message / data。
{
"code": 0,
"message": "ok",
"data": {
"user": {
"id": 1,
"email": "[email protected]",
"username": "demo_user",
"nickname": "Demo",
"avatar_url": "/uploads/avatars/u1_a8fdeec9ac68d6ff.jpg",
"signature": "热爱串珠的手作人",
"bio": "分享串珠作品与材料心得。",
"country": "US",
"device_lang": "en-US",
"locale": "en",
"timezone": "America/New_York",
"status": 1,
"email_verified_at": "2026-08-01 10:00:00",
"created_at": "2026-08-01 10:00:00"
},
"access_token": "eyJ1aWQiOjEsImV4cCI6MTcyMDAwMDAwMCwiaWF0IjoxNzE5OTkzMDAwfQ.signature",
"refresh_token": "a1b2c3d4e5f6789012345678abcdef0123456789abcdef0123456789abcdef01",
"expires_in": 7200
}
}