前端代碼demo
<!DOCTYPE html>
<html lang="en">
<head>
? ? <meta charset="UTF-8">
? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">
? ? <meta http-equiv="X-UA-Compatible" content="ie=edge">
? ? <title>Document</title>
</head>
<body>
<div id="login_container"></div>
<script src="javascript/jquery-1.9.1.js"></script>
<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<script>
$(document).ready(function(){
//獲取鏈接上的參數(shù)
function GetQueryString(name){
? ? var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
? ? var r = window.location.search.substr(1).match(reg);
? ? if(r!=null)return? unescape(r[2]); return null;
}
? ? var obj = new WxLogin
? ? ({
? ? ? ? id:"login_container",//div的id
? ? ? ? appid: "appid",
? ? ? ? scope: "snsapi_login",//寫死
? ? ? ? redirect_uri:encodeURI("返回地址") ,
? ? ? ? state: "",
? ? ? ? style: "black",//二維碼黑白風(fēng)格? ? ? ?
? ? ? ? // href: "https://某個域名下的css文件"
? ? });
? ? if(GetQueryString('code')){
? ? ? ? // $('#login_container').hide();
? ? ? ? $.ajax({
? ? ? ? ? ? type:'post',
? ? ? ? ? ? url:'a.php',? ?//接口地址
? ? ? ? ? ? data:{
? ? ? ? ? ? ? ? code:GetQueryString('code'),
? ? ? ? ? ? },
? ? ? ? ? ? dataType:'json',
? ? ? ? ? ? success:function(data){
? ? ? ? ? ? ? ? console.log(data);
? ? ? ? ? ? },
? ? ? ? ? ? error:function(a){
? ? ? ? ? ? ? ? alert(a.status);
? ? ? ? ? ? }
? ? ? ? });
? ? }
});
</script>
</body>
</html>
php代碼demo
$code = $_POST["code"];
? ? ? ? $appid = "appid";
? ? ? ? $secret = "secret";
? ? ? ? if (!empty($code)) {
? ? ? ? ? ? //通過code獲得 access_token + openid
? ? ? ? ? ? $url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=" .$appid. "&secret=" . $secret . "&code=" . $code . "&grant_type=authorization_code";
? ? ? ? ? ? $jsonResult = file_get_contents($url);
? ? ? ? ? ? $resultArray = json_decode($jsonResult, true);
? ? ? ? ? ? // print_r($resultArray);exit;
? ? ? ? ? ? /*
? ? ? ? ? ? $resultArray 返回數(shù)據(jù)demo
? ? ? ? ? ? access_token: "21_2pFwLYd9sWCQ1V7FA-yeqgdXefEFB10Zw1-acZ_qJzdD7xDVZ1E-rzluTNv6_ipGX42K42Lq8T96t9u6NIeDPg"
? ? ? ? ? ? expires_in: 7200
? ? ? ? ? ? openid: "ouaAL6OZ-C4l56SglvMiKsQYG9jM"
? ? ? ? ? ? refresh_token: "21_sR7QWDUQK_2PivOkx4moR88nvDHVn6iZdyqNzK_NLCgm0O9j5CG5bmLawAqN6FV4Y2M6g1KUm3iUUlOu5VPghQ"
? ? ? ? ? ? scope: "snsapi_login"
? ? ? ? ? ? unionid: "oEwJB1dOM6TbFCasdlfjackRaTo8"
? ? ? ? ? ? */
? ? ? ? ? ? $access_token = $resultArray["access_token"];
? ? ? ? ? ? $openid = $resultArray["openid"];
? ? ? ? ? ? //通過access_token + openid 獲得用戶所有信息,結(jié)果全部存儲在$infoArray里,后面再寫自己的代碼邏輯
? ? ? ? ? ? $infoUrl = "https://api.weixin.qq.com/sns/userinfo?access_token=" . $access_token . "&openid=" . $openid;
? ? ? ? ? ? $infoResult = file_get_contents($infoUrl);
? ? ? ? ? ? $infoArray = json_decode($infoResult, true);
? ? ? ? ? ? /*
? ? ? ? ? ? $infoArray 返回數(shù)據(jù)demo
? ? ? ? ? ? ? ? city: "Shenzhen"
? ? ? ? ? ? ? ? country: "CN"
? ? ? ? ? ? ? ? headimgurl: "http://thirdwx.qlogo.cn/mmopen/vi_32/JRsX9GSGiaPeIkcuwrSmh2ebPO2C6v0jmRmWA32rzvw4TmI66665Idq5GUYib0OZZua802ZAP3E6DWUiayFtv7N9A/132"
? ? ? ? ? ? ? ? language: "zh_CN"
? ? ? ? ? ? ? ? nickname: "?"
? ? ? ? ? ? ? ? openid: "ouaAL6OZ-C4l6666lvMiKsQYG9jM"
? ? ? ? ? ? ? ? privilege: []
? ? ? ? ? ? ? ? province: "Guangdong"
? ? ? ? ? ? ? ? sex: 1
? ? ? ? ? ? ? ? unionid: "oEwJB1dOM6TbFCnLQlfj6666aTo8"
? ? ? ? ? ? */
? ? ? ? ? ? echo json_encode(array('a'=>$resultArray,'b'=>$infoArray));
? ? ? ? }