接口测试报告-移动端权限接口.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. 建议后续验证

  1. 无效 ID:传入不存在的 ID 调用详情接口,当前返回 500,建议后端统一返回 404 或友好错误码
  2. 无 Token:当前无 Token 时部分接口仍返回 200,若需强制登录可检查 JWT 中间件配置
  3. 数据配置:为非管理员可见,需在 khsb 中为设备配置 flbjxx

结论:接口功能正常,权限过滤生效;非管理员 CY 返回 0 条,与其设备未配置 fl/bjxx 相符。