如果转载请加链接:https://blog.csdn.net/Lei_Xue/article/details/103064810
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9eb026f5850bff04&redirect_uri=https%3a%2f%2ftemporary.enmasaxinli.com&response_type=code&scope=snsapi_userinfo&state="+ user_id +"#wechat_redirect"
如若链接需要携带参数的话就直接写在state上 回调链接上也会有state参数 直接截取就可以了
state也可以不传 或传默认值STATE
重定向链接可以用 window.location.href = 链接地址
具体可以查看微信文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
第二步:地址栏的参数
地址栏的参数的方法
getUrlParam = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
直接调用就行如code getUrlParam(code)
第三部:直接用code跟后台拿用户信息(前端自己调用openid的话页面会显示appid跟秘钥不安全,不建议使用)
//把code传给后台,得到openid
getOpenId = function(code) {
var id = getUrlParam('state')
sessionStorage.setItem("userId", id);
$.ajax({
type: 'get',
dataType: 'json',
url: 'https://地址',
data: {
code: code
},
success: function(res) {
// 本地存储这个openid,并刷新页面
sessionStorage.setItem("openid", res.data.openid);
sessionStorage.setItem("headimgurl", res.data.headimgurl);
sessionStorage.setItem("nickname", res.data.nickname);
}
});
}