Files
nl-video-api/test_permission_api.http
2025-08-03 00:11:15 +08:00

229 lines
5.7 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 权限管理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字段