Skip to content

扫描记录上传 scan

当闸机验证人脸比对成功或设备端扫描到蓝牙标签,设备根据人脸信息或芯片信息和本地的白名单信息进行比对,假如被扫描对象在项目白名单内则此扫描记录需要上报服务器端,用于生成打卡记录

人脸闸机上报格式

{
"client": "2017050001", 
"event": "scan", 
"data": [
   {
        "workerId": 100178, 
        "inOut": 1, 
        "open": 1,
        "scanType": 1,
        "scanId" : "100178",
        "ts": "1551863638000",
        "scanData": {
            "scanPhoto" : "worker/%d/face/5567983-1586828908186.jpg",
            "temperature" : "37.1"
         }
    }
], 
"success": 1, 
"error": ""
}

蓝牙扫描类型上报格式

{
"client": "2017050001", 
"event": "scan", 
"data": [
    {
        "workerId": 100178, 
        "inOut": 1, 
        "open": 1, 
        "scanType": 4,
        "scanId" : "134367730",
        "ts": "1551863638000",
        "scanData": {
            "chipId": "134367730", 
            "distance": "-61", 
            "elec": 10, 
            "ts": "1551863639000"
        }
    }
], 
"success": 1, 
"error": ""
}
  • data 是数组类型,请务必按数组类型封装结构,否则服务端解析不到数据

  • workerId 工人Id 扫描到工人后,传递白名单接口获取的workerId值,假如设备没有劳务获取白名单,则workerId传0即可

  • open 闸机是否开门了 1 开,0不开 安全帽默认都是开

  • inOut 开门之后的进出类型 1 进,0出 安全帽默认都是进

  • scanType 闸机扫描类型:

    • 1 IcCard Ic卡刷卡
    • 2 RFIDCard 安全帽中的rfid被闸机扫描
    • 3 FaceUrl 人脸方式
    • 4 ChipId 安全帽中的描蓝牙芯片被工地宝扫
    • 5 nb标签设备gps工作模式
    • 6 nb标签设备ble蓝牙定位模式
  • scanId 闸机扫描对象Id为了兼容字符串类型Ic卡闸机,统一使用字符串可能有的值为

    • 1 IcCard id号
    • 2 RFIDCard id号
    • 3 人脸类型传递识别工人的workerId
    • 4 ChipId 蓝牙芯片号
    • 5 ChipCode Nb芯片号
    • 6 ChipCode Nb芯片号

scanData 不同设备附带上传的额外信息放在这个结构中 工地宝需要额外把数据传递进来,闸机不用传递通用字段已经全部覆盖

工地宝扫描数据示例说明:

{ "chipId": 134367730, "distance": "-61", "elec": 10, "ts": "1551863639000" }

闸机类型扫描数据示例说明:

"scanData": {
    "temperature" : "37.1"
}

temperature 有测温模块的闸机,设备收集到工人体温信息后,通过此字段上报服务端,假如没有体温信息请传“0”

人脸类型扫描数据示例说明:

"scanData": {
  "scanPhoto" : "imageObjKey",
  "temperature" : "37.1"
}
  • scanPhoto上报

    1. 人脸扫描通过后将照片存放在本地,imageObjKey命名规则: {workerId}-{当前时间戳} 比如:50001-1557803938000.jpg

    2. 调用约定好的文件服务OSS对象key生成规则生成image对象key,

    3. 把该对象key放入scanData结构中并上报服务端,

    4. 调用服务端接口把照片对象传递到服务端,

    5. 服务端会检查照片到位了把数据推送政府接口。

  • temperature 有测温模块的人脸设备,设备收集到工人体温信息后,通过此字段上报服务端,假如没有体温信息请传“0”

  • ts 设备上的时间戳

闸机禁止通行信息上报:

open 字段为 0 闸机未开门,人脸库对比通过但是人员没有权限时需要上报未通行原因,正常通行时无须传递此结构

{
"client": "2017050001", 
"event": "scan", 
"data": [
   {
        "workerId": 100178, 
        "inOut": 1, 
        "open": 0,
        "scanType": 1,
        "scanId" : "100178",
        "ts": "1551863638000",
        "scanData": {
            "scanPhoto" : "worker/%d/face/5567983-1586828908186.jpg",
            "temperature" : "37.1"
         },
         "tipMsg": {
            code: "31"
         }         
    }
], 
"success": 1, 
"error": ""
}

  • code 通行信息代码, 更新信息参见 同步项目白名单 获取白名单通行提示字典,值为 -1 时表示不使用预定义信息代码而自定义一个提示信息
  • describe 仅当 code 为 -1 时才需要设置此值,表示未通行原因不存在通行字典中,此为自定义提示信息

上报格式参考:

    // 错误代码格式上报
    "tipMsg": {
        code: "31"
    }

    // 自定义提示信息上报
    "tipMsg": {
        code: "-1",
        describe: "未按时上传核酸检测信息禁止通行"
    }