通用业务系统api_4.0.0_uwb
  1. IFrame页面应用
通用业务系统api_4.0.0_uwb
  • 开发指南
    • 开发说明
    • 权限认证
  • 登录管理
    • 登录接口(Token获取)
      POST
  • 告警业务
    • 告警信息查询接口
      GET
    • 告警处理接口
      POST
    • 查询全部告警类型
      GET
  • 定位信息
    • 历史时间段内标签里程数查询
      GET
    • 目标实时状态查询
      GET
  • 考勤与工时统计
    • 考勤统计
      POST
    • 考勤统计明细
      POST
    • 工时统计
      POST
    • 工时统计明细
      GET
  • 历史轨迹/视频查询
    • 历史轨迹数据查询
      GET
  • 电子点名与统计区域
    • 根据id查询点名结果明细
      POST
    • 按时间段查询点名任务清单
      POST
    • 统计区域内标签进出记录
      POST
  • 巡检任务
    • 按时间段查询巡检记录
      GET
  • IFrame页面应用
    • IFrame API
  • 附录
    • MD5加密及MD5加盐介绍
    • 数据字典
      • 业务异常字典
      • 围栏类型字典
      • 区域类型字典
      • 告警类型字典
  1. IFrame页面应用

IFrame API

IFrame嵌入完整web页面#

1. 嵌入概述#

父页面通过iframe标签嵌入LocalSense无线定位系统web页面(简称子页面),可以快速复用定位系统页面能力,在很短的时间内完成集成。
定位系统访问必须进行授权,因此用iframe嵌入定位系统前,也需要一次登录认证,认证成功后再调用iframe页面。为了解决chrome下iframe跨域禁用的问题,从LocalSense无线定位系统 3.5.0以后,认证采用token的方式进行。
总体交互流程如下:
1.
父页面阻塞调用子页面的登录接口(/localsense/login),传入用户名及密码(密码需要md5加盐处理,具体参见附录1,采用的是系统默认的盐值),获取返回的token
2.
父页面注册message监听事件
3.
监听到子页面向外传递的ready=true的信号时,将获取到的token、当前用户名、页面的初始配置(部分子页面提供)通过postMessage传递给子页面
4.
子页面获取到token及用户名后,将启动页面的加载
5.
在子页面正常运行中,可以通过动态配置API(部分子页面提供)与子页面交互

2. 调用页面代码示例#

<script>
    let xhr = new XMLHttpRequest();
    xhr.open('post','http://192.168.0.117:8180/localsense/login',false);//取现场实际正在使用的IP与端口号
    xhr.setRequestHeader('content-type','application/json');    
    //username取现场实际的用户名与密码,密码串经过md5加密生成(见附录)
    xhr.send('{"username":"admin","password":"525eca1df03da0fee843361eb5216910"}');	
    let json = xhr.responseText;
    let data = JSON.parse(json);
    
    window.addEventListener('message',function(e){
      if(e.data.ready){		//接收到子页面发出的ready信号
        if(data.data){
          //初始化配置调用
          document.getElementById('test').contentWindow.postMessage({
          token:data.data,
          username:'admin',//username取实际的用户名
          initConfig:{//单页面对应初始配置,若无,可不传;具体见附表
           mapBgColor: ’#000000’
          }
          },"*");	

          //动态配置调用
          document.getElementById('test').contentWindow.postMessage({
          type:’overview-highlight’, value:1
          },"*")
        }
      }

    })
  </script>
<!--用户页面实际嵌入位置,iframe的ip,端口取现场实际的-->
 <iframe id="test" src="http://192.168.0.117:8180/localsense/#/SingleModule/index/tagInfo" style="width:500px;height:400px"></iframe>

3. 单页面信息#

API分为两大类,初始化配置API及动态配置API,初始化配置API控制子页面在初次加载时按指定的初始化配置进行呈现,动态配置API控制子页面在正常运行(即初始加载后)需要呈现的配置效果。动态配置的调用参照上面代码的例子,具体API在下面初始化配置和动态配置表格中说明。
访问地址:http://[IP:Port]/localsense/#/SingleModule/index/[SingleModuleUrl]
其中[IP:Port]表示IP地址和端口号,[SingleModuleUrl]表示单页面地址,见下表
LocalSense定位应用软件单页面汇总#
单页面名称URL地址(用于替换[SingleModuleUrl])支持初始化配置支持动态API
首页home否否
地图overview是是
标签信息tagInfo否否
轨迹查询trace-search是否
标签信息tagInfo否否
轨迹查询trace-search是否
联动视频录像video-download否否
热图分析heat-map否否
告警总览alarm-overview否否
告警记录record否否
人员画像portrait否否
人员列表person-list否否
健康监测health-over否否
人员考勤attd否否
工时统计inwork否否
电子点名roll-call否否
人员巡检inspection否否
随身消息instant-msg否否
3.1 初始化配置参数说明#
(1) URL地址:overview
//配置示例
initConfig:{
   tagId:'1',
   mapId:'1',
   showCameraIcon: 0,
   showTrack: 1,
   zoomInOut:32,
   showTag:'1;2',
   hideAllTag:0,
   showBaseIcon: 0,
   hideMapElements:0,
 }
配置说明
高亮标签:tagId
类型string || number
需要传标签ID,只能传一个标签ID;若传的标签ID不存在,则该标签的高亮效果不生效
切换地图:mapId
类型string || number
需要传地图ID,只能传一个地图ID,若传的地图ID不存在,则配置不生效,呈现默认地图
摄像头显隐:showCameraIcon
类型:number
传0:隐藏摄像头
传1:显示摄像头
实时轨迹显隐:showTrack
类型:number
传0:隐藏实时轨迹
传1:显示实时轨迹
显示指定标签:showTag
类型string
控制在地图中只显示指定的标签,需要传标签ID,支持传入多个标签,用分号“;”分隔
隐藏所有标签:hideAllTag
类型:number
传1:隐藏所有标签
基站显隐:showBaseIcon
类型:number
传0:隐藏基站
传1:显示基站
左下角地图标尺与坐标显隐:hideMapElements
类型:number
默认展示
传0:隐藏地图标尺与坐标
(2) URL地址:trace-search
//配置示例
initConfig:{
  from: 1657779630339,
  to: 1657786830339,
  tagIdMsg:['7,7,1653460859322,0','1,1,1653271713315,0','2,2,1653271713315,0']
 }
配置说明
查询起始时间:from
类型number
格式需要为13位毫秒时间戳;若不传或传错格式则单页面不呈现轨迹回放结果
查询结束时间:to
类型number
格式需要为13位毫秒时间戳;若不传或传错格式则单页面不呈现轨迹回放结果
待查询的标签信息:tagIdMsg
数组,成员变量格式是字符串,格式为【‘标签名称,标签ID,标签绑定时间戳,标签解绑时间戳’】
若标签未解绑,则解绑时间戳为0
可以传多组标签信息,多组信息用“”分隔,但最多只能够传3组标签信息
若不传或传错格式则单页面不呈现轨迹回放结果
(3) URL地址:record
//配置示例
initConfig:{
  from: 1657779630339,
  to: 1657786830339,
  tagIdMsg:['7,7,1653460859322,0','1,1,1653271713315,0','2,2,1653271713315,0'],
  alarmType:'2', // sos告警
  status:'0' // 未处理
 }
配置说明
查询告警记录的起始时间戳:from
类型number,格式需要为13位毫秒时间戳
查询告警记录的结束时间戳:to
类型number,格式需要为13位毫秒时间戳
待查询的标签信息:tagIdMsg
数组,成员变量格式是字符串,格式为【‘标签名称,标签ID,标签绑定时间戳,标签解绑时间戳’】
若标签未解绑,则解绑时间戳为0
可以传多组标签信息,多组信息用“”分隔,但最多只能够传3组标签信息
若不传或传错格式则单页面不呈现轨迹回放结果
告警类型:alarmType
类型String,默认全部
处理状态:status
类型String,0表示未处理,1表示已处理,默认全部
3.2 动态配置参数说明#
URL地址:overview
//配置示例

// 高亮标签
{type:’overview-highlight’, value:1}

// 切换地图
{type:’overview-changemap, value:1}
配置说明
高亮标签
{type:’overview-highlight’, value:tagid}
切换地图
{type:’overview-changemap, value:mapid}
上一页
按时间段查询巡检记录
下一页
MD5加密及MD5加盐介绍
Built with