102 lines
2.7 KiB
Markdown
102 lines
2.7 KiB
Markdown
# 权限初始化说明
|
||
|
||
## 概述
|
||
|
||
本目录包含权限初始化脚本,用于将系统中的所有功能权限自动导入到 `admin_permissions` 表中。
|
||
|
||
## 权限分类
|
||
|
||
系统权限按模块分类,共包含以下模块:
|
||
|
||
### 1. 管理员管理 (admin)
|
||
- 管理员用户管理:创建、查看、更新、删除
|
||
- 角色管理:创建、查看、更新、删除、设置权限
|
||
- 权限管理:创建、查看、更新、删除
|
||
|
||
### 2. 打卡营管理 (camp)
|
||
- 分类管理:创建、查看、更新、删除
|
||
- 打卡营管理:创建、查看、更新、删除
|
||
- 小节管理:创建、查看、更新、删除
|
||
- 任务管理:创建、查看、更新、删除
|
||
- 用户进度管理:查看、更新、重置
|
||
- 用户打卡营管理:查看、加入、重置进度
|
||
|
||
### 3. 订单管理 (order)
|
||
- 订单:创建、查看、更新状态
|
||
|
||
### 4. 题目试卷管理 (question)
|
||
- 题目管理:创建、查看、更新、删除、批量删除
|
||
- 试卷管理:创建、查看、更新、删除、批量删除、添加题目、移除题目
|
||
- 答题记录管理:创建、查看、删除、统计
|
||
|
||
### 5. 统计 (statistics)
|
||
- 仪表盘统计:查看
|
||
|
||
### 6. OSS (oss)
|
||
- OSS上传:获取上传凭证
|
||
|
||
### 7. 支付 (payment)
|
||
- 微信支付:创建订单、处理通知
|
||
|
||
### 8. 调度器 (scheduler)
|
||
- 调度任务:创建、查看、删除
|
||
|
||
## 使用方法
|
||
|
||
### 方法一:使用 Go 脚本(推荐)
|
||
|
||
```bash
|
||
cd dd_fiber_api
|
||
go run scripts/init_permissions.go
|
||
```
|
||
|
||
或者指定配置文件路径:
|
||
|
||
```bash
|
||
go run scripts/init_permissions.go config.yaml
|
||
```
|
||
|
||
### 方法二:使用 SQL 脚本
|
||
|
||
直接执行 SQL 文件:
|
||
|
||
```bash
|
||
mysql -u root -p duidui_db < docs/init_permissions.sql
|
||
```
|
||
|
||
或者在 MySQL 客户端中执行:
|
||
|
||
```sql
|
||
source docs/init_permissions.sql;
|
||
```
|
||
|
||
## 权限代码格式
|
||
|
||
权限代码采用 `资源:操作` 的格式,例如:
|
||
- `admin:user:create` - 管理员模块的用户创建操作
|
||
- `camp:camp:read` - 打卡营模块的打卡营查看操作
|
||
- `question:paper:update` - 题目模块的试卷更新操作
|
||
|
||
## 注意事项
|
||
|
||
1. 脚本使用 `ON DUPLICATE KEY UPDATE`,如果权限已存在,会更新其信息
|
||
2. 权限 ID 从 1001 开始,按模块分段分配:
|
||
- 1000-1999: 管理员管理
|
||
- 2000-2999: 打卡营管理
|
||
- 3000-3999: 订单管理
|
||
- 4000-4999: 题目试卷管理
|
||
- 5000-5999: 统计
|
||
- 6000-6999: OSS
|
||
- 7000-7999: 支付
|
||
- 8000-8999: 调度器
|
||
3. 执行脚本前请确保数据库连接配置正确
|
||
4. 建议在首次部署或权限结构变更时执行此脚本
|
||
|
||
## 后续操作
|
||
|
||
权限初始化完成后,可以:
|
||
1. 创建角色并分配权限
|
||
2. 为管理员用户分配角色
|
||
3. 在路由中使用权限中间件进行权限控制
|
||
|