Skip to content

轨迹围栏 SDK 介绍

主要为追踪管理的车辆、人员等。通过在定位轨迹与电子围栏系统中创建专题,基于轨迹围栏SDK,开发者管理待监测的轨迹,可应用于车队管理、人员管理等领域,实现轨迹追踪。

1 快速入门

  1. 下载 SDK 引入

下载SDK http://ip:port/sdk/geoctrack.js

  1. index.html 中
const GeocDzwl= new GeocTrack({ak:"","ywid":"","device_type":"",instance:"wx"})

各 h5 开发平台入口文件引入

/* 使用CommonJs规范引入 */
 const GeocTrack = require("geoctrack")
/* 使用ES6模块引入 */
 import GeocTrack from 'geoctrack';

注意:各小程序原生及其它开发平台需要在其对应的入口文件引入。

此专题的 ak 密钥:111222333

 代码示例:
// 方式一
const geocTrack= new GeocTrack({ak:"111222333","ywid":"","device_type":""})
geocTrack.start();

// 方式二
const geocTrack= new GeocTrack()
geocTrack.setAk('111222333');//设置专题AK
geocTrack.setDeviceType(deviceType);//设置设备类型
geocTrack.setYwid('')//设置业务ID
geocTrack.start();//开始跟踪

// API  更多api详见接口文档
geocTrack.getAK();//获取专题AK
geocTrack.stop();//终止跟踪
...


2 sdk 使用说明

2.1 前提条件

参数说明是否必须备注
ak专题 ak,管理端专题中获取
ywid自动注册设备使用,生成唯一设备码
device_type设备类型值
fieldone非必须(可选)预留字段
fieldtwo非必须(可选)预留字段
fieldthree非必须(可选)预留字段
type非必须开发类型 h5/微信/支付宝/钉钉/... [默认 h5]
instance非 h5 时必须Eg: wx

2.2 webview(小程序)使用

接口总览:

接口api 名称说明
1.生成设备唯一码(废弃)getDeviceid()目前 js 无法获取设备唯一码,注册设备时直接传入
2.获取设备唯一码getDeviceid($ywid)获取通过注册设备的业务 id 生成的设备唯一码
3.获取当前设备定位轨迹getPositions($starttime?,$endtime?)

1.获取设备唯一码 (通过唯一码 id)

设备唯一码:引入 sdk 后自动生成,通过传入的专题的 ak 与业务 id(接入 sdk 传入) 使用 SHA-256 生成哈希值。

node 版

// input  =  ak + ywid
function generateHash(input) {
  // 创建一个名为sha256的哈希对象
  var hash = crypto.createHash('sha256');
  
  // 更新哈希对象的输入数据
  hash.update(input);
  
  // 生成哈希值
  var hashedValue = hash.digest('hex'); // 以16进制字符串的形式返回哈希值
  
  return hashedValue;
}

2.3 浏览器 h5 使用

async function generateHash(input) {
    const inputArray = new TextEncoder().encode(input);  
    // 使用SHA-256算法加密 
    const hashArrayBuffer =   await crypto.subtle.digest('SHA-256', inputArray).catch(error => console.error(error));;
    // 将加密后的ArrayBuffer转换为Uint8Array   
    const hashArray = new Uint8Array(hashArrayBuffer);  
    // 将Uint8Array转换为16进制字符串   
    const hashHex = Array.prototype.map.call(hashArray, x => ('00' + x.toString(16)).slice(-2)).join('');     
    console.log(hashHex);
    // 输出加密后的SHA-256值   
    return hashHex;
}

获取当前设备定位轨迹:

1.使用 fingerprintjs2

js
<script src="./fingerprintjs2.js" ></script>
<script>

window.onload=function (){
        if (window.requestIdleCallback) {
        requestIdleCallback(function () {
        Fingerprint2.get(function (components) {
        const values = components.map(component => component.value); // 配置的值的数组
        const murmur = Fingerprint2.x64hash128(values.join(''), 31); // 生成浏览器指纹
        console.log(components);
        console.log(values);
        console.log(murmur);
//        alert('browserId:'+murmur);
       var div=document.createElement("div");
         div.innerText = murmur+'\r\n'+JSON.stringify(components);
         //把div元素节点添加到body元素节点中成为其子节点,但是放在body的现有子节点的最后
         document.body.appendChild(div);


      })
    })
} else {
    setTimeout(function () {
        Fingerprint2.get(function (components) {
          console.log(components) // an array of components: {key: ..., value: ...}
        })
    }, 500)
}
}

</script>

最后更新时间: