通常在微信小程序中开发中,需要获取用户的指定openid用来用微信小程序与用户建立联系。
wx.login({
})
调用接口获取登录凭证(code),上传用户服务器。用户服务器调用API,获取包括用户的唯一标识openid 及本次登录的 会话密钥session_key,然后用户服务器返回openid。
参考代码:
onLaunch: function () {
let that = this;
//获取openid不需要授权
wx.login({
success: function (res) {
console.log(res)
//请求自己后台获取用户openid
wx.request({
url: '',//用户服务器url
data: {
code: res.code //上传登录凭证
},
method: "POST",
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success: function (response) {
//可以将获取到的openid放入本地缓存方便下次使用
}
})
}
})
},
服务器代码:
<?php
$code=$_POST["code"];
$appid=''; //微信小程序appid
$appsecret=''; //微信小程序secret
$url="https://api.weixin.qq.com/sns/jscode2session?appid={$appid}&secret={$appsecret}&js_code={$code}&grant_type=authorization_code";
$fp = fopen($url, 'r');
stream_get_meta_data($fp);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo "$result";
fclose($fp);
?>