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.7 KiB
1.7 KiB
admin_user — 运营后台管理员账号
模型
app/models/admin.py| 关联接口 admin-auth-login / admin-admins-list | ← 表索引
运营后台的管理员账号,与 App 用户(user 表)完全隔离:走独立 JWT secret、独立鉴权链(见 app/admin/)。密码 bcrypt 存哈希,带角色做权限分级。
字段
| 列 | 类型 | 约束 / 默认 | 说明 |
|---|---|---|---|
id |
Integer | PK, autoincrement | |
username |
String(64) | unique, index, NOT NULL | 登录名 |
password_hash |
String(255) | NOT NULL | bcrypt 哈希(明文不落库) |
role |
String(20) | NOT NULL, default operator |
super_admin(全权+管账号)/ finance(钱:提现+金币)/ operator(用户+反馈+大盘) |
status |
String(20) | NOT NULL, default active |
active / disabled(禁用后 token 立即失效) |
created_at |
DateTime(tz) | server_default now(), NOT NULL | 创建时间 |
last_login_at |
DateTime(tz) | nullable | 最近登录时间(登录成功时更新) |
索引与约束
- PK:
id - unique index:
ix_admin_user_username(username唯一)
关系
- 被
admin_audit_log.admin_id引用(一管理员多条审计)。
说明
- 角色权限:
super_admin恒通过所有角色守卫(require_role);finance管钱(提现/金币),operator管用户/反馈/大盘。具体守卫见各接口文档。 - 鉴权隔离:admin token
typ=admin+ 独立ADMIN_JWT_SECRET(≠ App 的JWT_SECRET_KEY),App 用户 token 无法当 admin 用。admin 无 refresh,过期(默认 12h)重新登录。 - 初始化:首个管理员用
scripts/create_admin.py命令行创建(无自助注册接口)。