php APP微信授权登录

2020-12-20 11:28:17

  1. 前端
<div id="applogin" onclick="login()"><img src="{DT_PATH}api/oauth/wechat/icon.png" alt="微信"/></div>

<script>
    function login(){
        if (navigator.userAgent.indexOf("Html5Plus") > -1) {
    // app 环境
    var wx = null;
    plus.oauth.getServices(function (services) {
        wx = services[0];
        if (!wx.authResult) {
            wx.login(function (e) {
                // 登录成功
                // alert(JSON.stringify(e))
                // alert(e.target.authResult.openid);
                var url = "/api/hcd.php?openid="+e.target.authResult.openid+"&nickname="+e.target.userInfo.nickname+"&avatar="+e.target.userInfo.headimgurl+"&unionid="+e.target.userInfo.unionid;
                window.location.href = url;
            }, function (err) {
                alert(JSON.stringify(err))
            });
        } else {
            // 已登录
            wx.login(function (e) {
                // 登录成功
                // alert(JSON.stringify(e))
                // alert(e.target.authResult.openid);
                var url = "/api/hcd.php?openid="+e.target.authResult.openid+"&nickname="+e.target.userInfo.nickname+"&avatar="+e.target.userInfo.headimgurl+"&unionid="+e.target.userInfo.unionid;
                // alert(url);
                window.location.href = url;
            }, function (err) {
                alert(JSON.stringify(err))
            });
        }
    }, function (err) {
        alert(JSON.stringify(err))
    });
} else {

}
    }
  1. js自动判断app环境,如果是app环境则调用插件的wx.login方法获取 openid和unioinid 传递给接口
  2. php处理获取unionid返回用户信息

致知网络科技© 2020-2025 鲁ICP备20031360号-2