library-picturebook-activity/backend/docs/ADMIN_ACCOUNT.md
2025-11-23 14:04:20 +08:00

3.4 KiB
Raw Blame History

超级管理员账号说明

📋 账号信息

登录凭据

  • 用户名: admin
  • 密码: cms@admin
  • 昵称: 超级管理员
  • 邮箱: admin@example.com
  • 角色: super_admin (超级管理员)

🔐 权限说明

超级管理员拥有系统所有权限,共 27 个权限

用户管理权限

  • user:create - 创建用户
  • user:read - 查看用户
  • user:update - 更新用户
  • user:delete - 删除用户

角色管理权限

  • role:create - 创建角色
  • role:read - 查看角色
  • role:update - 更新角色
  • role:delete - 删除角色
  • role:assign - 分配角色

权限管理权限

  • permission:create - 创建权限
  • permission:read - 查看权限
  • permission:update - 更新权限
  • permission:delete - 删除权限

菜单管理权限

  • menu:create - 创建菜单
  • menu:read - 查看菜单
  • menu:update - 更新菜单
  • menu:delete - 删除菜单

数据字典权限

  • dict:create - 创建字典
  • dict:read - 查看字典
  • dict:update - 更新字典
  • dict:delete - 删除字典

系统配置权限

  • config:create - 创建配置
  • config:read - 查看配置
  • config:update - 更新配置
  • config:delete - 删除配置

日志管理权限

  • log:read - 查看日志
  • log:delete - 删除日志

🚀 使用方法

1. 登录系统

使用以下 API 登录:

POST /api/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "cms@admin"
}

2. 响应示例

{
  "code": 200,
  "message": "success",
  "data": {
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "user": {
      "id": 1,
      "username": "admin",
      "nickname": "超级管理员",
      "email": "admin@example.com",
      "avatar": null,
      "roles": ["super_admin"],
      "permissions": [
        "user:create",
        "user:read",
        "user:update",
        "user:delete"
        // ... 所有 27 个权限
      ]
    }
  }
}

3. 使用 Token 访问 API

GET /api/users
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

🔄 重新初始化

如果需要重新初始化超级管理员账号,可以运行:

cd backend
pnpm init:admin

脚本会:

  • 创建/更新所有基础权限27个
  • 创建/更新超级管理员角色
  • 创建/更新 admin 用户
  • 分配角色给用户

注意: 如果用户已存在,密码会被重置为 cms@admin

🔍 验证账号

验证超级管理员账号是否创建成功:

cd backend
node scripts/verify-admin.js

⚠️ 安全建议

  1. 首次登录后立即修改密码
  2. 生产环境使用强密码
  3. 定期更换密码
  4. 不要将密码提交到版本控制

📝 修改密码

可以通过以下方式修改密码:

方式一:通过 API

PATCH /api/users/1
Authorization: Bearer <token>
Content-Type: application/json

{
  "password": "new_strong_password"
}

方式二:通过数据库

-- 需要先使用 bcrypt 加密密码
UPDATE users
SET password = '<bcrypt_hashed_password>'
WHERE username = 'admin';

方式三:通过脚本

可以修改 scripts/init-admin.ts 中的密码,然后重新运行脚本。

🎯 下一步

  1. 使用 admin 账号登录系统
  2. 创建其他角色(如:编辑、查看者等)
  3. 创建其他用户并分配角色
  4. 配置菜单权限
  5. 开始使用系统