Files
nl-video-api/test_permission_api.http

229 lines
5.7 KiB
Go
Raw Normal View History

2025-08-03 00:11:15 +08:00
### 权限管理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字段