# 超级管理员账号说明

## 📋 账号信息

### 登录凭据

- **用户名**: `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. ✅ 开始使用系统
