appKey = $appKey; $this->secret = $secret; $this->curl = new CurlHelper(); } public function getAccessToken(){ $accessToken = \Yii::$app->cache->get("ys_access_token"); if($accessToken){ $this->accessToken = $accessToken; return $this; }else{ // 去生成access_token $ressult = $this->curl::post(self::API.self::GETACCESSTOKEN,['appKey'=>$this->appKey,'appSecret'=>$this->secret]); $ressult = Json::decode($ressult); if($ressult['code'] == '200'){ \Yii::$app->cache->set('ys_access_token',$ressult['data']['accessToken'],(bcdiv($ressult['data']['expireTime'],1000,0) - time())); $this->accessToken = $ressult['data']['accessToken']; return $this; }else{ return false; } } } // 刷新设备列表 public function getDeviceList(){ $data = [ 'accessToken' => $this->accessToken, // todo 个人版不做分页处理 // 'pageStart' => 0,// 默认从0开始 // 'pageSize' => 50,// 最大是50 ]; $result = $this->curl::post(self::API.self::DEVICELIST,$data); return Json::decode($result); } // 添加设备 public function addDeviceItem($deviceSerial,$validateCode){ $data = [ 'accessToken' => $this->accessToken, 'deviceSerial' => $deviceSerial, 'validateCode' => $validateCode, ]; $result = $this->curl::post(self::API.self::ADD,$data); return Json::decode($result); } // 删除设备 public function delDeviceItem($deviceSerial){ $data = [ 'accessToken' => $this->accessToken, 'deviceSerial' => $deviceSerial, ]; $result = $this->curl::post(self::API.self::DEL,$data); return Json::decode($result); } // 获取设备播放地址 public function getAddress($source){ $data = [ 'accessToken' => $this->accessToken, //'source' => $source, 'deviceSerial' =>$source, 'protocol' => 1, 'quality' => 2, ]; $result = $this->curl::post(self::API2.self::GETADDRESS,$data); return Json::decode($result); } }