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