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


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 window.onload 加载多个函数的方法
Nov 02 Javascript
JQuery中getJSON的使用方法
Dec 13 Javascript
使用jQuery实现dropdownlist的联动效果(sharepoint 2007)
Mar 30 Javascript
常用的JS验证和函数汇总
Dec 23 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
Oct 28 Javascript
jQuery链式操作实例分析
Nov 16 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
JavaScript实现无限级递归树的示例代码
Mar 29 Javascript
详解Vue的ref特性的使用
Jan 24 Javascript
Vue实现移动端拖拽交换位置
Jul 29 Javascript
js实现星星海特效的示例
Sep 28 Javascript
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
微信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
图解上海144收音机
2021/03/02 无线电
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP $_FILES函数详解
2011/03/09 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
PHP实现小程序批量通知推送
2018/11/27 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
微信小程序 点击切换样式scroll-view实现代码实例
2019/10/11 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
深入理解Javascript中的this关键字
2015/03/27 Python
简单理解Python中基于生成器的状态机
2015/04/13 Python
Python验证企业工商注册码
2015/10/25 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
会计岗位职责
2013/11/08 职场文书
九年级体育教学反思
2014/01/23 职场文书
小学优秀教师材料
2014/12/15 职场文书
工程质检员岗位职责
2015/04/08 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript
Python3.8官网文档之类的基础语法阅读
2021/09/04 Python
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js