在需要授权的页面使用授权方法,重点state参数
wx() {
let appid = 'wxba3axxxxxxxxxx';
let uri = encodeURIComponent('https://a.cc.cc/h5/'); // 授权域名(首页地址)
let scope = 'snsapi_userinfo'; // 获取用户信息
let state = encodeURIComponent('https://a.cc.cc/h5/#/pages/login/fastLogin'); // 要跳转的页面地址
window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${uri}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`;
},
然后在首页(授权域名页面)获取参数并跳转至这里指定的页面。
// 获取state参数的值
var state = decodeURIComponent(getUrlParam('state'));
// 移除state参数,避免页面重复刷新时再次获取state参数
history.replaceState(null, '', location.href.split('?')[0]);
// 如果state不为null,则跳转到指定页面
if (state && state !== 'null') {
window.location.href = state;
}
// 获取URL参数的方法
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
完美解决授权后跳转至任何指定页面
你号 ,上面这个代码些到哪个文件里 ? 我创建一个公众号菜单 好像 从 JAVA 后端调用微信的 创建菜单接口 实现的, 如上图作者 这个JS 代码我无处生根,不知道该写到哪个文件, 请作者指点,我的微信号 wdp_victor