# 超级管理员账号说明 ## 📋 账号信息 ### 登录凭据 - **用户名**: `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 登录: ```bash POST /api/auth/login Content-Type: application/json { "username": "admin", "password": "cms@admin" } ``` ### 2. 响应示例 ```json { "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 ```bash GET /api/users Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... ``` ## 🔄 重新初始化 如果需要重新初始化超级管理员账号,可以运行: ```bash cd backend pnpm init:admin ``` 脚本会: - ✅ 创建/更新所有基础权限(27个) - ✅ 创建/更新超级管理员角色 - ✅ 创建/更新 admin 用户 - ✅ 分配角色给用户 **注意**: 如果用户已存在,密码会被重置为 `cms@admin` ## 🔍 验证账号 验证超级管理员账号是否创建成功: ```bash cd backend node scripts/verify-admin.js ``` ## ⚠️ 安全建议 1. **首次登录后立即修改密码** 2. **生产环境使用强密码** 3. **定期更换密码** 4. **不要将密码提交到版本控制** ## 📝 修改密码 可以通过以下方式修改密码: ### 方式一:通过 API ```bash PATCH /api/users/1 Authorization: Bearer Content-Type: application/json { "password": "new_strong_password" } ``` ### 方式二:通过数据库 ```sql -- 需要先使用 bcrypt 加密密码 UPDATE users SET password = '' WHERE username = 'admin'; ``` ### 方式三:通过脚本 可以修改 `scripts/init-admin.ts` 中的密码,然后重新运行脚本。 ## 🎯 下一步 1. ✅ 使用 admin 账号登录系统 2. ✅ 创建其他角色(如:编辑、查看者等) 3. ✅ 创建其他用户并分配角色 4. ✅ 配置菜单权限 5. ✅ 开始使用系统