接口测试报告-移动端权限接口.md
4.87 KB
接口测试报告 - 移动端权限接口
测试时间:2025-02-12
测试环境:http://localhost:2011
测试账号:admin(管理员)
1. 测试范围
培训展示、故障排查、备件支持三大模块的移动端专用接口:
| 模块 | 列表接口 | 详情接口 | 简单搜索(带权限) |
|---|---|---|---|
| 培训展示 | Pxzs/MobileList | Pxzs/Mobile/{id} | - |
| 故障排查 | Gzcx/MobileList | Gzcx/Mobile/{id} | gzcx/SimpleSearch |
| 备件支持 | Bjxx/MobileList | Bjxx/Mobile/{id} | bjxx/SimpleSearch |
2. 测试结果汇总
| 接口 | 状态 | 说明 |
|---|---|---|
| Pxzs/Actions/MobileList | ✅ | 返回分页列表,含 pxmc、sbmc 等 |
| Pxzs/Actions/Mobile/{id} | ✅ | 返回详情含 fj1、slt、jj 等 |
| Gzcx/Actions/MobileList | ✅ | 返回分页列表,含 code、zwbjwb 等 |
| Gzcx/Actions/Mobile/{id} | ✅ | 返回详情含 attachements、yzdcd 等 |
| gzcx/SimpleSearch | ✅ | searchKey 匹配故障代码正常 |
| Bjxx/Actions/MobileList | ✅ | 返回分页列表,含 mc、bjqk 等 |
| Bjxx/Actions/Mobile/{id} | ✅ | 返回详情含 sjbj、ynbj、lnbj 等 |
| bjxx/SimpleSearch | ✅ | 无关键字/有关键字均正常 |
3. curl 示例(供复测)
3.1 获取 Token
curl -X POST "http://localhost:2011/api/oauth/Login" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "account=admin&password=66762a3ccde2a2cff3060d7a4a0a576b"
3.2 培训展示列表
curl -X GET "http://localhost:2011/api/Extend/Pxzs/Actions/MobileList?currentPage=1&pageSize=5&sidx=id&sort=desc" \
-H "Authorization: <data.token>"
3.3 培训展示详情
curl -X GET "http://localhost:2011/api/Extend/Pxzs/Actions/Mobile/<培训ID>" \
-H "Authorization: <data.token>"
3.4 故障排查列表
curl -X GET "http://localhost:2011/api/Extend/Gzcx/Actions/MobileList?currentPage=1&pageSize=5" \
-H "Authorization: <data.token>"
3.5 故障排查 SimpleSearch
curl -X GET "http://localhost:2011/api/Extend/gzcx/SimpleSearch?currentPage=1&pageSize=5&searchKey=2026001" \
-H "Authorization: <data.token>"
3.6 备件支持列表
curl -X GET "http://localhost:2011/api/Extend/Bjxx/Actions/MobileList?currentPage=1&pageSize=5" \
-H "Authorization: <data.token>"
3.7 备件支持 SimpleSearch(中文需 URL 编码)
curl -G "http://localhost:2011/api/Extend/bjxx/SimpleSearch" \
--data-urlencode "currentPage=1" \
--data-urlencode "pageSize=5" \
--data-urlencode "searchKey=拉线" \
-H "Authorization: <data.token>"
4. 权限逻辑说明
- 管理员:可查看全部数据(allowedSskhbhIds = null)
- 非管理员:仅可查看
sskhbh为本人、所属部门或所属组织的设备相关数据 - 权限过滤由
KhsbPermissionHelper实现,MobileList/Mobile 接口及 SimpleSearch 均已接入
5. 非管理员账号测试(CY,UserId=781034840806917381)
权限逻辑(已调整为 khsb.dysbbh = cpgl.cpid):
- 通过
khsb.dysbbh(对应设备编号)匹配cpgl.cpid(产品编号),得到用户可查看的产品 ID(cpgl.F_Id) - 培训、故障:
sssb关联产品 ID,仅返回用户设备对应产品的数据 - 备件:来源1 khsb.bjxx + 来源2 bjxx 通过 zlgl.fl 关联到用户产品
| 接口 | 非管理员 CY | 管理员 admin | 说明 |
|---|---|---|---|
| Pxzs/MobileList | total=1 | total=3 | 动力猫道、顶驱等设备对应产品可见 |
| Gzcx/MobileList | total=13 | total=249 | 泥浆泵、顶驱等故障可见 |
| gzcx/SimpleSearch | total=1 | - | 关键字搜索正常 |
| Bjxx/MobileList | total=0 | total=94 | 用户产品下无关联备件 |
| 培训详情(有权) | 200 | - | 动力猫道作业流程可查看 |
| 培训详情(无权限) | 500 | - | 铁钻工培训无权限(用户设备 dysbbh=test003 未匹配 cpgl) |
6. 建议后续验证
- 无效 ID:传入不存在的 ID 调用详情接口,当前返回 500,建议后端统一返回 404 或友好错误码
- 无 Token:当前无 Token 时部分接口仍返回 200,若需强制登录可检查 JWT 中间件配置
- 数据配置:为非管理员可见,需在
khsb中为设备配置fl、bjxx
结论:接口功能正常,权限过滤生效;非管理员 CY 返回 0 条,与其设备未配置 fl/bjxx 相符。