Files
shaguabijia-app-server/docs/database/admin_user.md
T
ouzhou 0e42e96ddb docs(admin): 补充管理后台 API 与数据库文档 (#12)
新增 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>
2026-06-06 15:58:23 +08:00

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 唯一)

关系

说明

  • 角色权限: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 命令行创建(无自助注册接口)。