1.微信小程序后台获取登录用户的openid,首先微信小程序将code传给后台服务器
wx.login({
success: function (res) {
var code = res.code
if (code) {
that.globalData.code = code;
globalData: {
code: code
}
wx.request({
url: 'https://www.nidedyuming.com/index.php/index/index/login',
method: 'POST',
data: {code: code},
success: function (res) {
that.globalData.openid = res.data.openid;
console.log(res.data.openid);
}
})
}
}
})
2.后台服务器接到code参数到https://api.weixin.qq.com/sns/jscode2session?去换取信息
function oauth2($code)
{
//$code = $_GET['code'];//小程序传来的code值
$url = 'https://api.weixin.qq.com/sns/jscode2session?appid="你的APPID"&secret="你的app密钥"&js_code=' . $code . '&grant_type=authorization_code';
//yourAppid为开发者appid.appSecret为开发者的appsecret,都可以从微信公众平台获取;
$info = file_get_contents($url);//发送HTTPs请求并获取返回的数据,推荐使用curl
$json = json_decode($info);//对json数据解码
$arr = get_object_vars($json);
// dump($arr);die;
$openid = $arr['openid'];
return $openid;
}
3.就是这么简单,你想要的登录用户的openid得到了。
4.在微信小程序里面没关闭一个页面就会将该页面的所以进程杀死,这时就会存在一个coke中不能存储session_id的问题,这时我们可以将获取得openid存到全局变量中: that.globalData.openid = res.data.openid;
初次接触微信这块的东西,如有不对的地方欢迎指正