| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | <?phpclass TemperatureDevice {    protected $produceUrl = 'http://yun.eefield.com/coop/api/';    protected $userName = '18610012796';    protected $pwd = '123456';    protected $login = false;    /**     *获取单个设备数据     *     * @author wst     * @date   2021/6/8 18:03     * @deviceId 设备id 多个用英文逗号隔开     */    public function getDevice($deviceId){        $token = $this->getToken();        try{            if (empty($token)) {               throw new Exception('token获取失败');            }else{                $data = curl_post($this->produceUrl . 'device/intimeData.htm', ['accessToken' => $token                    ,"snaddrs"=>$deviceId]);                $data = json_decode($data, true);                if ($data['code'] == 0) {                    $r = [                        'success' => true,                        'msg' => '操作成功',                        'list' => $data['data']                    ];                }else {                    throw new Exception($data['msg']);                }            }            return $r;        }catch (Exception $e){              $r = [                  'success'=>false,                  'msg'=>$e->getMessage(),              ];            return $r;        }    }    /**     * 获取所有设备的基本信息     *     * @author wst     * @date   2021/6/8 17:50     */    public function getDeviceList() {        $token = $this->getToken();        try{            if (empty($token)) {                throw new Exception('token获取失败');            }            else {                $data = curl_post($this->produceUrl . 'device/list.htm', ['accessToken' => $token]);                $data = json_decode($data, true);                if ($data['code'] == 0) {                    $r = [                        'success' => true,                        'msg' => '操作成功',                        'list' => $data['data']                    ];                }                else {                    throw new Exception($data['msg']);                }            }            return $r;        }catch (Exception $e){            $r = [                'success'=>false,                'msg'=>$e->getMessage(),            ];            return $r;        }    }    public function getToken() {        $cookie = cache('temperature_token');        //\think\facade\Cache::delete('aqg_cookie');        if (empty($cookie) || $cookie == 'false') {            $url = $this->produceUrl . 'token.htm';            $data = curl_post($url, ['user' => $this->userName, 'psw' => md5($this->pwd)]);            $data = json_decode($data, true);            if ($data['code'] == 0) {                $cookie = $data['accessToken'];                cache('temperature_token', $data['accessToken'], 604800);            }            else {                $cookie = false;            }        }        return $cookie;    }}
 |