02. 用户与资料¶
1. 验证码与平台信息(公开)¶
GET /api/captcha¶
返回示例:
{
"code": 200,
"message": "成功",
"data": {
"captcha_id": "cpt_abc",
"image_base64": "data:image/png;base64,..."
}
}
GET /api/platform/info¶
返回示例:
{
"code": 200,
"message": "成功",
"data": {
"name": "DraARL 麟链",
"version": "v2.0.0",
"language": "zh-CN"
}
}
GET /api/platform/totalstats¶
返回示例:
{
"code": 200,
"message": "成功",
"data": {
"total_devices": 96,
"online_devices": 22,
"total_users": 180,
"total_groups": 15
}
}
2. 当前用户¶
GET /api/me(JWT)¶
功能:获取当前登录用户完整信息。
返回示例:
{
"code": 200,
"message": "成功",
"data": {
"id": 12,
"username": "alice",
"nickname": "Alice",
"callsign": "BG7XXX",
"email": "alice@example.com",
"roles": "user",
"isAdmin": false,
"approval_status": 1,
"avatar": "https://...",
"avatar_thumb": "https://...",
"last_group_id": 999,
"last_login_ip": "203.0.113.9",
"last_login_ip_location": "广东省深圳市"
}
}
PUT /api/me(JWT)¶
功能:更新个人资料。
请求示例:
{
"nickname": "Alice L",
"phone": "13800001111",
"address": "Shenzhen",
"introduction": "HAM operator",
"sex": 1,
"birthday": "1995-08-12",
"dmrid": 4601234,
"mdcid": "MDC1001",
"alarm_msg": true
}
返回:更新后的用户对象(同 GET /api/me 主要字段)。
PUT /api/me/password(JWT)¶
请求:
{ "old_password": "OldPass", "new_password": "NewPass123" }
返回:
{ "code": 200, "message": "密码修改成功" }
PUT /api/me/email(JWT)¶
请求示例:
{
"old_session_id": "old_session",
"old_code": "111111",
"new_session_id": "new_session",
"new_code": "222222"
}
返回:
{ "code": 200, "message": "邮箱修改成功", "data": { "email": "new@example.com" } }
3. 公开用户信息(登录后可查)¶
GET /api/users/:id/public(JWT)¶
GET /api/users/name/:username/public(JWT)¶
返回示例:
{
"code": 200,
"message": "成功",
"data": {
"id": 12,
"username": "alice",
"nickname": "Alice",
"callsign": "BG7XXX",
"avatar": "https://...",
"avatar_thumb": "https://...",
"address": "Shenzhen"
}
}
4. 用户密码(管理员/本人)¶
PUT /api/users/:id/password(JWT)¶
请求:
{ "old_password": "OldPass", "new_password": "NewPass123" }
说明:
- 管理员可重置他人密码(old_password 可忽略)。
- 普通用户仅可改自己密码且必须校验旧密码。
5. 管理员用户管理(Admin)¶
GET /api/users¶
参数:page、limit、keyword
POST /api/users¶
请求(复用 RegisterRequest):
{
"username": "newuser",
"password": "InitPass123",
"callsign": "BG7NEW",
"nickname": "New User"
}
PUT /api/users/:id¶
请求:
{
"username": "alice",
"nickname": "Alice",
"callsign": "BG7XXX",
"status": 1,
"role": "user"
}
DELETE /api/users/:id¶
PUT /api/users/:id/status¶
请求:
{ "status": 1 }
GET /api/users/:id¶
功能:管理员查看用户详情。