解决微信授权成功后点击按返回键出现空白页和报错的问题

 更新时间:2020-06-14 00:01:10   作者:佚名   我要评论(0)

微信授权 的操作可以阅读我的另一篇文章 https://www.jb51.net/article/188237.htm
微信授权我是 在index.vue做的授权,是一个空白页,因为授权需要回调所以这个页面

微信授权 的操作可以阅读我的另一篇文章 https://www.jb51.net/article/188237.htm

微信授权我是 在index.vue做的授权,是一个空白页,因为授权需要回调所以这个页面会刷新两次,当我们授权成功进入主页面后,点击返回键或者点击手机的物理返回键,因为浏览器history机制,按物理返回或者返回肯定是会进入这个授权页面的,而此时code已经使用过,会报code错误,而且这个是空白页,多次点击也并不能回到微信的消息列表页,体验极差。。。

我的做法是引入微信的js sdk,使用vue-router 路由导航beforeEach 中的 to(即将到达的页面)和from(当前页面)来做判断,假如to是授权页,from是授权成功后首次进入的页面,在from页面点击返回 ,路由监听到这一满足条件就 调用 微信 wx.closeWindow() 方法即可关闭当前页面回到消息列表页,不是使用vue来开发的项目原理大概也是类似的。

具体代码如下:

①引入微信sdk,npm install 相对应的包即可。

②在路由配置页面配置路由守卫。

router.beforeEach((to, from, next) => {
  // 特殊处理授权成功后的user个人中心页面点击返回退出到微信消息列表页
  let mark = to.fullPath.indexOf('code')
  if (mark !== -1 && from.fullPath === '/user') {
    wx.closeWindow()
  }
})

因为微信授权页授权成功必会在url中带 code,所有我是通过判断路径中是否有 code认定是授权页(可能这种方式)不妥,但能确认to和from两个条件满足即可。

到此这篇关于解决微信授权成功后点击按返回键出现空白页和报错的问题的文章就介绍到这了,更多相关微信返回键出现空白页和报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

  • 微信小程序返回多级页面的实现方法
  • 详解微信小程序胶囊按钮返回|首页自定义导航栏功能
  • 微信小程序判断页面是否从其他页面返回的实例代码
  • 解决微信返回上一页,页面中的AJAX的请求,对Get请求无效的问题
  • 微信小程序返回上一页传参并刷新过程解析
  • 微信小程序 子级页面返回父级并把子级参数带回父级实现方法
  • 6行代码实现微信小程序页面返回顶部效果

相关文章

最新评论