thinkphp3.2 小程序生成带参数的二维码

// 获取 access_token
public function getAccessToken($appid, $secret)
{
    $access_token = $this->redis_get('access_token')[0];

    if (!$access_token) {
        $url = '';//自己拼接,带上$appid $secret
        $res = $this->curl_get($url);
        $res = json_decode($res, true);
        $access_token = $res['access_token'];
        $expire_time = 7200;
        $redis = new Redis();
        $redis->connect('127.0.0.1', 6379);
        $redis->set('access_token', [$access_token], $expire_time);

    }
    return $access_token;
}

protected function redis_get($key)
{
    $redis = new \Redis();
    $redis->connect(C('REDIS_HOST'), C('REDIS_PORT'));// '127.0.0.1',6379
    $data = $redis->get($key);
    $obj = json_decode($data, true);

    if (strpos($key, "token_") === 0 || strpos($key, "session_") === 0) {
        $obj = $obj; //filter the key start with token_ return value
    } else {
    }
    return $obj;
}

// curl get 请求
public function curl_get($url, $data_type = 'text')
{
    $cl = curl_init();
    if (stripos($url, 'https://') !== false) {
        curl_setopt($cl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($cl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($cl, CURLOPT_SSLVERSION, 1);
    }

    curl_setopt($cl, CURLOPT_URL, $url);
    curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
    $content = curl_exec($cl);
    $status = curl_getinfo($cl);
    curl_close($cl);

    if (isset($status['http_code']) && $status['http_code'] == 200) {
        if ($data_type == 'json') {
            $content = json_decode($content, true);
        }

        return $content;
    } else {
        return false;
    }
}

 

URL需要自己填写拼接,不懂联系QQ:992660662

你可能感兴趣的:(php)