getCode() {
if (sessionStorage.getItem("openid") && sessionStorage.getItem("openid") != "undefined") {
return false;
}
var code = this.getUrlParam('code') // 截取路径中的code,如果没有就去微信授权,如果已经获取到了就直接传code给后台获取openId
var local = 'http://****************'; //这个地方是微信公众平台网页授权里面配置的域名,也是服务器的域名,把打包后的static和index放到webapps的文件夹下面。格式为域名+文件夹名称
if (code == null || code === '') {
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + this.appId +
'&redirect_uri=' + encodeURIComponent(local) + '&response_type=code&scope=snsapi_base&state=#wechat_redirect'
console.log(code)
} else {
getOpenId(code) //把code传给后台获取用户信息
}
},
在微信公众号开发平台调试,可以在浏览器地址看到code等信息
拿到code之后,调用后端的接口,把code传给后端,换取openid
sessionStorage.setItem("openid", res.data.openid);
存储openid后,刷新页面
location.reload();