# 权限初始化说明 ## 概述 本目录包含权限初始化脚本,用于将系统中的所有功能权限自动导入到 `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. 在路由中使用权限中间件进行权限控制