vue项目获取微信授权code
作者:
发布时间:2021-06-05 12:09:26
浏览量:20
1、判断是否微信端
function is_weixin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } }
2、通过appid 跳转到获取code
function getCodeApi(state) {//获取code let appId = "wxa197appid";//替换自己公众号appid let path = window.location.protocol + '//' + window.location.hostname + "/" + window.location.hash; let urlNow = encodeURIComponent(path); let scope = 'snsapi_userinfo';// snsapi_base //snsapi_userinfo 弹出授权获取昵称头像,snsapi_base静默授权不获取昵称头像 let url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${urlNow}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`; window.location.replace(url); }
3、获取授权链接返回的code
//调用方法 getUrlKey('code')
function getUrlKey(name) { var url = window.location.search; if (url.indexOf('?') == 1) { return false; } url = url.substr(1); url = url.split('&'); name = name || ''; var nameres; for (var i = 0; i < url.length; i++) { var info = url[i].split('='); var obj = {}; obj[info[0]] = decodeURI(info[1]); url[i] = obj; } if (name) { for (var i2 = 0; i2 < url.length; i2++) { for (const key in url[i2]) { if (key == name) { nameres = url[i2][key]; } } } } else { nameres = url; } return nameres; }