Exemplo n.º 1
0
 private function getAccessToken()
 {
     // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
     $redis = PtRedis::obj();
     $data = $redis->get($this->access_path);
     if ($data) {
         $data = json_decode($data);
     }
     if (!$data || isset($data->expire_time) && $data->expire_time < time()) {
         // 如果是企业号用以下URL获取access_token
         // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";
         $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}";
         $res = json_decode($this->httpGet($url));
         $access_token = $res->access_token;
         if ($access_token) {
             $res->expire_time = time() + 7000;
             $res->access_token = $access_token;
             $redis->set($this->access_path, json_encode($res));
         }
     } else {
         $access_token = $data->access_token;
     }
     return $access_token;
 }
Exemplo n.º 2
0
 static function _redis($key = "default")
 {
     return PtRedis::obj($key);
 }