# Apifox 指南:课程资源分享 - 专业负责人联动 基础信息: - baseURL: http://localhost:8080 - 认证:请求头 Authorization: Bearer - 获取 token:调用登录接口 `/login`,复制响应中的 token 测试目标:验证“专业负责人”与 RuoYi 角色的联动 - 在页面或接口中为用户绑定/解绑专业负责人时,应同步写入/删除 `sys_user_role` 的 `major_lead` 角色 - 列表接口 `/manage/majorLead/roleUsers` 能展示所有拥有 `major_lead` 角色的用户,并显示其已绑定专业ID 前置准备: 1) 在 RuoYi 后台“角色管理”中创建: - 角色名称:专业负责人 - 权限字符:major_lead - 记下 role_id(例如 103) 2) 确保存在至少一个专业(`tb_major`)与一个测试用户(user_id=7 仅示例) 步骤 1:列出所有拥有 major_lead 角色的用户 - GET /manage/majorLead/roleUsers?pageNum=1&pageSize=10 - 断言: - code == 200 - rows 为数组 步骤 2:给用户绑定“专业负责人”并联动角色 - POST /manage/majorLead - Headers:Authorization: Bearer {{token}} - Body(JSON): ``` { "majorId": 1, "userId": 7, "remark": "测试绑定" } ``` - 断言: - code == 200 - DB 校验(手工): - tb_major_lead 存在一条 (major_id=1, user_id=7) - sys_user_role 存在一条 (user_id=7, role_id= {major_lead 的 role_id}) - 负例:userId 不存在 → 返回错误(提示“用户不存在或已被删除”) 步骤 3:按专业筛选拥有 major_lead 角色的用户 - GET /manage/majorLead/roleUsers?majorId=1 - 断言: - 返回中包含 userId=7 步骤 4:删除绑定并按需撤销角色 - DELETE /manage/majorLead?majorId=1&userId=7 - 断言: - code == 200 - DB 校验: - tb_major_lead 不再包含 (major_id=1, user_id=7) - 若该用户没有其它 tb_major_lead 记录,则 sys_user_role 中 (user_id=7, role_id={major_lead}) 被删除 步骤 5:卸任负责人 - DELETE /manage/majorLead/retire/7 - 断言: - code == 200 - tb_major_lead 不含 user_id=7 的任何记录 - sys_user_role 中 (user_id=7, role_id={major_lead}) 被删除 常见失败点与解决: - 400:系统未配置角色 major_lead → 请先在后台创建角色,权限字符=major_lead - 409:唯一键冲突(重复绑定)→ 检查是否已存在该 (majorId, userId) 记录 - 403:权限不足 → 给测试账号分配 `manage:majorLead:*` 按钮权限