3 changed files with 151 additions and 9 deletions
@ -0,0 +1,103 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace app\common\SzxfjkSdk; |
||||
|
|
||||
|
/** |
||||
|
* 智能门锁数据接口 |
||||
|
*/ |
||||
|
class SmartLocks |
||||
|
{ |
||||
|
protected static $url = 'http://1.12.73.13:30014/admin-api'; |
||||
|
|
||||
|
protected static $v = 'v1'; |
||||
|
|
||||
|
protected static $token = 'eGluZmFuZ3pob3VfcHVzaHNldA=='; |
||||
|
|
||||
|
protected static function getUrl() |
||||
|
{ |
||||
|
return self::$url . '/' . self::$v . '/'; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 设备实时上报数据 |
||||
|
* @param $param |
||||
|
* @return array |
||||
|
*/ |
||||
|
public static function TimingDataPush($param) |
||||
|
{ |
||||
|
|
||||
|
$requestUrl = self::getUrl() . 'HumanBodyInductionDetector/TimingdataPush' . '?token=' . self::$token; |
||||
|
|
||||
|
$data = [ |
||||
|
'id' => $param['deviceSerial'],//设备唯一标识 |
||||
|
'pk' => '',//产品型号 |
||||
|
'did' => $param['deviceSerial'],//设备编号 |
||||
|
'deviceType' => $param['deviceName'],//设备类型 |
||||
|
'deviceModel' => $param['model'],//设备型号 |
||||
|
'uid' => '',//关联编号(人员或方案) |
||||
|
'dtype' => '',//数据类型(实时上报、报警上报) |
||||
|
'site' => '',//安装地址 |
||||
|
'longitude' => '',//经度(当设备无定位芯片时,则字段不显示) |
||||
|
'latitude' => '',//纬度(当设备无定位芯片时,则字段不显示) |
||||
|
'companyName' => '',//设备供应商名称 |
||||
|
'timestamp' => date("Y-m-d H:i:s.v"),//数据上传时间 |
||||
|
'data' => [ |
||||
|
'onlineStatus' => $param['status'],//在线状态//0 为在线,1 为离线 |
||||
|
'quantityElectricity' => $param['battryStatus'],//电量 |
||||
|
'alarmReason' => '',//报警原因 |
||||
|
'alarmType' => '',//报警类型 |
||||
|
'eventName' => '',//事件名称 |
||||
|
'eventType' => '',//事件类型(0:测试报警,1:正式报警) |
||||
|
'alarmTime' => '',//报警时间 |
||||
|
],//数据内容 |
||||
|
]; |
||||
|
|
||||
|
$result = self::curlPost($requestUrl, $data); |
||||
|
|
||||
|
if ($result['success'] === true) { |
||||
|
return ['status' => 1,'msg' => '推送成功']; |
||||
|
} |
||||
|
|
||||
|
return ['status' => 0,'msg' => '推送失败']; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* post请求 |
||||
|
* @param $url |
||||
|
* @param array $data |
||||
|
* @return bool|string |
||||
|
*/ |
||||
|
protected static function curlPost($url, array $data) |
||||
|
{ |
||||
|
$dataJson = json_encode($data); |
||||
|
|
||||
|
$curl = curl_init(); |
||||
|
|
||||
|
curl_setopt_array($curl, [ |
||||
|
CURLOPT_PORT => "30014", |
||||
|
CURLOPT_URL => $url, |
||||
|
CURLOPT_RETURNTRANSFER => true, |
||||
|
CURLOPT_ENCODING => "", |
||||
|
CURLOPT_MAXREDIRS => 10, |
||||
|
CURLOPT_TIMEOUT => 30, |
||||
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
||||
|
CURLOPT_CUSTOMREQUEST => "POST", |
||||
|
CURLOPT_POSTFIELDS => $dataJson, |
||||
|
CURLOPT_HTTPHEADER => [ |
||||
|
"content-type: application/json" |
||||
|
], |
||||
|
]); |
||||
|
|
||||
|
$response = curl_exec($curl); |
||||
|
$err = curl_error($curl); |
||||
|
|
||||
|
curl_close($curl); |
||||
|
|
||||
|
if ($err) { |
||||
|
return $err; |
||||
|
} else { |
||||
|
return json_decode($response, true); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue