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


Posted in Javascript onJune 08, 2020

微信授权 的操作可以阅读我的另一篇文章 https://3water.com/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两个条件满足即可。

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

Javascript 相关文章推荐
JS 对象介绍
Jan 20 Javascript
jquery的ajax简单结构示例代码
Feb 17 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
JavaScript验证Email(3种方法)
Sep 21 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
Angular.Js的自动化测试详解
Dec 09 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
Dec 13 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
Aug 19 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
微信小程序错误this.setData报错及解决过程
Sep 18 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 #Javascript
基于javascript处理二进制图片流过程详解
Jun 08 #Javascript
vue-router的hooks用法详解
Jun 08 #Javascript
Vue自定义render统一项目组弹框功能
Jun 07 #Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 #Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 #Javascript
vue路由权限校验功能的实现代码
Jun 07 #Javascript
You might like
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
JS基础之undefined与null的区别分析
2011/08/08 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
python实现人民币大写转换
2018/06/20 Python
Python中的CSV文件使用"with"语句的方式详解
2018/10/16 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
解决python多线程报错:AttributeError: Can't pickle local object问题
2020/04/08 Python
便利店投资创业计划书
2014/02/08 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
六年级数学教学反思
2016/02/16 职场文书
婚前协议书怎么写,才具有法律效力呢 ?
2019/06/28 职场文书
Python中文纠错的简单实现
2021/07/07 Python
详解flex:1什么意思
2022/07/23 HTML / CSS