0e42e96ddb
新增 admin 模块接口文档(auth login/me、admins CRUD、audit-logs、feedback 处理、stats 概览、user coins/detail/status、wallet 流水、withdraw 对账/刷新/列表) + admin_user/admin_audit_log 两张表文档,更新 api/database README 索引。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: OuYingJun1024 <1034284404@qq.com> Reviewed-on: #12 Co-authored-by: ouzhou <ouzhou@wonderable.ai> Co-committed-by: ouzhou <ouzhou@wonderable.ai>
1.5 KiB
1.5 KiB
POST /admin/api/auth/login — 管理员登录
所属:Admin·Auth 组(前缀
/admin/api/auth) | 鉴权:无 | ← 返回 API 索引
入参
application/json:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
username |
string | ✓ | 管理员账号,1–64 字 |
password |
string | ✓ | 密码,1–128 字 |
出参
响应 200:AdminLoginResponse
| 字段 | 类型 | 说明 |
|---|---|---|
access_token |
string | admin JWT(独立 ADMIN_JWT_SECRET、payload typ=admin、默认 12h、无 refresh) |
token_type |
string | 固定 Bearer |
expires_in |
int | access_token 剩余秒数(过期需重新登录) |
admin |
AdminOut | 当前管理员信息,字段见下 |
AdminOut
| 字段 | 类型 | 说明 |
|---|---|---|
id |
int | 管理员 id |
username |
string | 账号 |
role |
string | 角色:super_admin / finance / operator |
status |
string | 状态:active / disabled |
created_at |
datetime | 创建时间(UTC) |
last_login_at |
datetime | null | 上次登录时间,从未登录为 null |
错误码
401用户名或密码错误(用户名不存在与密码错误统一同文案,防账号枚举)403账号已禁用(status != active)422缺username或password/ 长度超限429同 IP 每分钟登录超过 10 次(限流防爆破)
说明
- 登录成功后回写
last_login_at为当前时间。 - 后续所有 admin 接口须带
Authorization: Bearer <access_token>;admin token 与 App 用户 token 完全隔离。