【干货重点】微信开发篇之获取用户基本信息!(四)

获取用户基本信息

之前的三篇文章是拿面向过程写的 有点low哈 换成框架写了
我这里是TP5框架(大同小异)

直接说一下授权流程吧

思路:

1.准备好Appid和Appsecret
2.通过appid请求微信接口获取code
3.请求欧回调至getuserinfo方法
4.再通过getuserinfo方法获取openid

有一些要注意的点:
测试号的回调地址不要带http或者https什么的
直接写" www.aa.com "这种就行
你的代码回调地址要写getuserinfo的准确地址
上!代! 码!

public function wxLogin()
    {
        $AppID = '你的appid';
        $redirect_uri = urlencode('http://xx.xx.cn/index/wxSample/getUserInfo');
        //跳转微信回调到redirect_uri获取code
        $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$AppID&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
        return redirect($url);

    }

    public function getUserInfo()
    {
        //echo '2';
        $code      = $_GET["code"];
        $AppID     = '你的appid';
        $Appsecret = '你的appsecret';
        $url       = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$AppID&secret=$Appsecret&code=$code&grant_type=authorization_code";
        $res       = $this->sendRequest($url);
        $access_token = $res["access_token"];
        $openId  = $res['openid'];
        $getUserInfo = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openId&lang=zh_CN";
        $user_info = $this->sendRequest($getUserInfo);
        var_dump($user_info);
    }

    public function sendREquest($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        return json_decode($output, true);
    }
wxlogin是默认登录方法 回调至getuserinfo方法
再通过senrequest方法请求返回给你openid

为您推荐

评论已关闭