前端代码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(){
//获取链接上的参数
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",//二维码黑白风格
// 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 返回数据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 获得用户所有信息,结果全部存储在$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 返回数据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));
}