duidui_fiber/scripts/README_permissions.md
2026-03-27 10:34:03 +08:00

2.7 KiB
Raw Blame History

权限初始化说明

概述

本目录包含权限初始化脚本,用于将系统中的所有功能权限自动导入到 admin_permissions 表中。

权限分类

系统权限按模块分类,共包含以下模块:

1. 管理员管理 (admin)

  • 管理员用户管理:创建、查看、更新、删除
  • 角色管理:创建、查看、更新、删除、设置权限
  • 权限管理:创建、查看、更新、删除

2. 打卡营管理 (camp)

  • 分类管理:创建、查看、更新、删除
  • 打卡营管理:创建、查看、更新、删除
  • 小节管理:创建、查看、更新、删除
  • 任务管理:创建、查看、更新、删除
  • 用户进度管理:查看、更新、重置
  • 用户打卡营管理:查看、加入、重置进度

3. 订单管理 (order)

  • 订单:创建、查看、更新状态

4. 题目试卷管理 (question)

  • 题目管理:创建、查看、更新、删除、批量删除
  • 试卷管理:创建、查看、更新、删除、批量删除、添加题目、移除题目
  • 答题记录管理:创建、查看、删除、统计

5. 统计 (statistics)

  • 仪表盘统计:查看

6. OSS (oss)

  • OSS上传获取上传凭证

7. 支付 (payment)

  • 微信支付:创建订单、处理通知

8. 调度器 (scheduler)

  • 调度任务:创建、查看、删除

使用方法

方法一:使用 Go 脚本(推荐)

cd dd_fiber_api
go run scripts/init_permissions.go

或者指定配置文件路径:

go run scripts/init_permissions.go config.yaml

方法二:使用 SQL 脚本

直接执行 SQL 文件:

mysql -u root -p duidui_db < docs/init_permissions.sql

或者在 MySQL 客户端中执行:

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. 在路由中使用权限中间件进行权限控制