IFrame API
IFrame嵌入完整web页面
1. 嵌入概述
定位系统访问必须进行授权,因此用iframe嵌入定位系统前,也需要一次登录认证,认证成功后再调用iframe页面。为了解决chrome下iframe跨域禁用的问题,从LocalSense无线定位系统 3.5.0以后,认证采用token的方式进行。
1.
2.
3.
4.
5.
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. 单页面信息
其中[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 初始化配置参数说明
//配置示例
initConfig:{
tagId:'1',
mapId:'1',
showCameraIcon: 0,
showTrack: 1,
zoomInOut:32,
showTag:'1;2',
hideAllTag:0,
showBaseIcon: 0,
hideMapElements:0,
}
类型string || number
需要传标签ID,只能传一个标签ID;若传的标签ID不存在,则该标签的高亮效果不生效
类型string || number
需要传地图ID,只能传一个地图ID,若传的地图ID不存在,则配置不生效,呈现默认地图
类型:number
传0:隐藏摄像头
传1:显示摄像头
类型:number
传0:隐藏实时轨迹
传1:显示实时轨迹
类型string
控制在地图中只显示指定的标签,需要传标签ID,支持传入多个标签,用分号“;”分隔
类型:number
传1:隐藏所有标签
类型:number
传0:隐藏基站
传1:显示基站
类型:number
默认展示
传0:隐藏地图标尺与坐标
//配置示例
initConfig:{
from: 1657779630339,
to: 1657786830339,
tagIdMsg:['7,7,1653460859322,0','1,1,1653271713315,0','2,2,1653271713315,0']
}
类型number
格式需要为13位毫秒时间戳;若不传或传错格式则单页面不呈现轨迹回放结果
类型number
格式需要为13位毫秒时间戳;若不传或传错格式则单页面不呈现轨迹回放结果
数组,成员变量格式是字符串,格式为【‘标签名称,标签ID,标签绑定时间戳,标签解绑时间戳’】
若标签未解绑,则解绑时间戳为0
可以传多组标签信息,多组信息用“”分隔,但最多只能够传3组标签信息
若不传或传错格式则单页面不呈现轨迹回放结果
//配置示例
initConfig:{
from: 1657779630339,
to: 1657786830339,
tagIdMsg:['7,7,1653460859322,0','1,1,1653271713315,0','2,2,1653271713315,0'],
alarmType:'2', // sos告警
status:'0' // 未处理
}
类型number,格式需要为13位毫秒时间戳
类型number,格式需要为13位毫秒时间戳
数组,成员变量格式是字符串,格式为【‘标签名称,标签ID,标签绑定时间戳,标签解绑时间戳’】
若标签未解绑,则解绑时间戳为0
可以传多组标签信息,多组信息用“”分隔,但最多只能够传3组标签信息
若不传或传错格式则单页面不呈现轨迹回放结果
类型String,默认全部
类型String,0表示未处理,1表示已处理,默认全部
3.2 动态配置参数说明
//配置示例
// 高亮标签
{type:’overview-highlight’, value:1}
// 切换地图
{type:’overview-changemap, value:1}
{type:’overview-highlight’, value:tagid}
{type:’overview-changemap, value:mapid}