评论

公众号h5在授权后跳转到指定页面任意页面原页面的解决方法

公众号h5在授权后跳转到指定页面任意页面原页面的解决方法

在需要授权的页面使用授权方法,重点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;
}


完美解决授权后跳转至任何指定页面

最后一次编辑于  03-07  
点赞 0
收藏
评论

1 个评论

  • 天天向上-物联网-软件开发
    天天向上-物联网-软件开发
    07-08

    你号 ,上面这个代码些到哪个文件里 ? 我创建一个公众号菜单 好像 从 JAVA 后端调用微信的 创建菜单接口 实现的, 如上图作者 这个JS 代码我无处生根,不知道该写到哪个文件, 请作者指点,我的微信号 wdp_victor

    07-08
    赞同 1
    回复
登录 后发表内容