🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
``` //login.html <li onclick="back()"><p>微信登录</p></li> <li><p><a href="https://open.weixin.qq.com/connect/qrconnect?appid=xxxxxxx&redirect_uri=http://ui-china.cn/login.php&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect">微信登录</a></p></li> <style> #login_container{ position: absolute; top: 25%; left: 50%; margin-top: -141px; margin-left: -141px; z-index: 999; visibility: hidden; } </style> <span id="login_container"></span> <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script> <script> var obj = new WxLogin({ id: "login_container", appid: "xxxxxx", scope: "snsapi_login", redirect_uri: encodeURIComponent("http://" + window.location.host + "/wx_login.php"), state: Math.ceil(Math.random()*1000), style: "black", href: ""}); function back(){ // console.log(123); document.getElementById("login_container").style.visibility="visible"; } </script> //wx_login.php <?php header("Content-type: text/html; charset=utf-8"); $appid = "xxxx"; $secret = "xxxxxx"; $code = $_GET["code"]; $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_token_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); $json_obj = json_decode($res,true); //根据openid和access_token查询用户信息 $access_token = $json_obj['access_token']; $openid = $json_obj['openid']; $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_user_info_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); //解析json $user_obj = json_decode($res,true); $_SESSION['user'] = $user_obj; print_r($user_obj); print_r("<br><br>"); // print_r($get_user_info_url); // print_r("<br><br>"); // print_r($openid); // return json_decode($openid); print_r("<span style='font-size:3em;'>openid:".$openid."</span> "); print_r("<br><br>"); echo json_decode($user_obj); ?> ```