229 lines
5.7 KiB
Go
229 lines
5.7 KiB
Go
### 权限管理API测试
|
||
|
||
### ===== 角色管理测试 =====
|
||
|
||
### 1. 创建角色
|
||
POST http://localhost:8000/api/v1/admin/roles
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "内容管理员",
|
||
"code": "content_manager",
|
||
"level": 3,
|
||
"description": "负责影片内容的管理和维护",
|
||
"sort": 10,
|
||
"status": 1,
|
||
"is_system": 0
|
||
}
|
||
|
||
### 2. 创建系统角色
|
||
POST http://localhost:8000/api/v1/admin/roles
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "超级管理员",
|
||
"code": "super_admin",
|
||
"level": 1,
|
||
"description": "系统超级管理员,拥有所有权限",
|
||
"sort": 1,
|
||
"status": 1,
|
||
"is_system": 1
|
||
}
|
||
|
||
### 3. 获取角色列表
|
||
GET http://localhost:8000/api/v1/admin/roles?page=1&page_size=10
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 4. 获取所有角色
|
||
GET http://localhost:8000/api/v1/admin/roles/all
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 5. 获取角色详情
|
||
GET http://localhost:8000/api/v1/admin/roles/1
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 6. 更新角色信息
|
||
PUT http://localhost:8000/api/v1/admin/roles/1
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "内容管理员(更新版)",
|
||
"code": "content_manager",
|
||
"level": 3,
|
||
"description": "负责影片内容的管理和维护,包括审核功能",
|
||
"sort": 10,
|
||
"status": 1,
|
||
"is_system": 0
|
||
}
|
||
|
||
### 7. 根据等级获取角色
|
||
GET http://localhost:8000/api/v1/admin/roles/level/3
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 8. 批量更新角色状态
|
||
PUT http://localhost:8000/api/v1/admin/roles/batch/status
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"ids": [1, 2],
|
||
"status": 1
|
||
}
|
||
|
||
### 9. 复制角色
|
||
POST http://localhost:8000/api/v1/admin/roles/copy
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"source_id": 1,
|
||
"name": "内容管理员副本",
|
||
"code": "content_manager_copy"
|
||
}
|
||
|
||
### 10. 删除角色
|
||
DELETE http://localhost:8000/api/v1/admin/roles/3
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### ===== 权限管理测试 =====
|
||
|
||
### 11. 创建菜单权限
|
||
POST http://localhost:8000/api/v1/admin/permissions
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "影片管理",
|
||
"code": "movie_manage",
|
||
"type": "menu",
|
||
"parent_id": 0,
|
||
"path": "/movie",
|
||
"component": "MovieManage",
|
||
"icon": "movie",
|
||
"description": "影片管理菜单",
|
||
"sort": 10,
|
||
"status": 1
|
||
}
|
||
|
||
### 12. 创建按钮权限
|
||
POST http://localhost:8000/api/v1/admin/permissions
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "添加影片",
|
||
"code": "movie_create",
|
||
"type": "button",
|
||
"parent_id": 1,
|
||
"description": "添加影片按钮权限",
|
||
"sort": 1,
|
||
"status": 1
|
||
}
|
||
|
||
### 13. 创建API权限
|
||
POST http://localhost:8000/api/v1/admin/permissions
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "创建影片接口",
|
||
"code": "api_movie_create",
|
||
"type": "api",
|
||
"parent_id": 1,
|
||
"api_path": "/api/v1/movies",
|
||
"method": "POST",
|
||
"description": "创建影片API权限",
|
||
"sort": 1,
|
||
"status": 1
|
||
}
|
||
|
||
### 14. 获取权限列表
|
||
GET http://localhost:8000/api/v1/admin/permissions?page=1&page_size=10
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 15. 获取权限树
|
||
GET http://localhost:8000/api/v1/admin/permissions/tree
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 16. 获取菜单权限
|
||
GET http://localhost:8000/api/v1/admin/permissions/menu
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 17. 获取API权限
|
||
GET http://localhost:8000/api/v1/admin/permissions/api
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 18. 获取权限详情
|
||
GET http://localhost:8000/api/v1/admin/permissions/1
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 19. 更新权限信息
|
||
PUT http://localhost:8000/api/v1/admin/permissions/1
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"name": "影片管理(更新版)",
|
||
"code": "movie_manage",
|
||
"type": "menu",
|
||
"parent_id": 0,
|
||
"path": "/movie",
|
||
"component": "MovieManage",
|
||
"icon": "movie",
|
||
"description": "影片管理菜单,包含所有影片相关功能",
|
||
"sort": 10,
|
||
"status": 1
|
||
}
|
||
|
||
### 20. 删除权限
|
||
DELETE http://localhost:8000/api/v1/admin/permissions/4
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### ===== 角色权限分配测试 =====
|
||
|
||
### 21. 为角色分配权限
|
||
POST http://localhost:8000/api/v1/admin/roles/1/permissions
|
||
Content-Type: application/json
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
{
|
||
"role_id": 1,
|
||
"permission_ids": [1, 2, 3]
|
||
}
|
||
|
||
### 22. 获取角色权限
|
||
GET http://localhost:8000/api/v1/admin/roles/1/permissions
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### ===== 权限检查测试 =====
|
||
|
||
### 23. 获取用户权限
|
||
GET http://localhost:8000/api/v1/admin/permissions/user/1
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 24. 检查用户权限
|
||
GET http://localhost:8000/api/v1/admin/permissions/check?user_id=1&permission_code=movie_manage
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### 25. 检查API权限
|
||
GET http://localhost:8000/api/v1/admin/permissions/check/api?user_id=1&api_path=/api/v1/movies&method=POST
|
||
Authorization: Bearer {{admin_token}}
|
||
|
||
### ===== 数据库初始化测试 =====
|
||
|
||
### 26. 初始化数据库(命令行执行)
|
||
# 在项目根目录执行:
|
||
# go run main.go init-db
|
||
|
||
### ===== 注意事项 =====
|
||
# 1. 所有管理员接口都需要在请求头中添加 Authorization: Bearer {{admin_token}}
|
||
# 2. {{admin_token}} 需要先通过管理员登录接口获取
|
||
# 3. 系统角色不能删除和修改某些字段
|
||
# 4. 权限分配时需要确保权限ID有效
|
||
# 5. 删除权限前需要确保没有子权限
|
||
# 6. 角色等级用于权限层级控制,数字越小权限越高
|
||
# 7. 权限类型包括:menu(菜单)、button(按钮)、api(接口)
|
||
# 8. API权限需要指定api_path和method字段 |