library-picturebook-activity/backend/docs/ADMIN_ACCOUNT.md

185 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2025-11-23 14:04:20 +08:00
# 超级管理员账号说明
## 📋 账号信息
### 登录凭据
- **用户名**: `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 <token>
Content-Type: application/json
{
"password": "new_strong_password"
}
```
### 方式二:通过数据库
```sql
-- 需要先使用 bcrypt 加密密码
UPDATE users
SET password = '<bcrypt_hashed_password>'
WHERE username = 'admin';
```
### 方式三:通过脚本
可以修改 `scripts/init-admin.ts` 中的密码,然后重新运行脚本。
## 🎯 下一步
1. ✅ 使用 admin 账号登录系统
2. ✅ 创建其他角色(如:编辑、查看者等)
3. ✅ 创建其他用户并分配角色
4. ✅ 配置菜单权限
5. ✅ 开始使用系统