### 权限管理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字段