出现这样的问题无非就是第一次进入项目之后,在微企浏览器添加了一条历史记录,之后由于授权成功回来,会再一次添加一条记录,所以我们解决的常规方法就是利用pushState方法加上关闭当前微信窗口API得以解决问题

history.pushState(null, null, document.URL)
如果页面组件作了缓存,就需要利用activated和beforeRouteLeave
activated() {if (window.history && window.history.pushState) {history.pushState(null, null, document.URL)window.addEventListener('popstate', this.goBack, false)}
},
// 路由守卫
beforeRouteLeave(to, from, next) {window.removeEventListener('popstate', this.goBack, false) // 跳转时需要清空浏览器添加的记录next()
},

methods: {

goBack() { // 点击浏览器的返回触发的方法let timer = setTimeout(function () {document.addEventListener("WeixinJSBridgeReady",function () {WeixinJSBridge.call("closeWindow");},false);//这个可以关闭ios系统的手机WeixinJSBridge.call("closeWindow");clearInterval(timer)//这个可以关闭安卓系统的手机}, 500)this.$router.go(-2)
},

}

另外需要注意的是:

1.跳转到详情时,需要利用Router.replace()跳转 ,否则如果跳转到详情再返回来首页列表  还是会出现返回两次才能正常退出项目。

2.因为在vue项目使用了微信WeixinJSBridge对象,此时会报错WeixinJSBridge为未定义,导致不能正常打开和打包发布,

所以当我们用vue实现调取微信api时,虽然WeixinJSBridge在微信内置浏览器中可以使用,但在脚手架编译或者发布时会提示WeixinJSBridge is not defined,使得我们无法调试也无法发布,无法验证功能。究竟改如何解决,这需要根据vue-cli的版本来设置,百度中大部分都没有提及。

vue-cli3之前的版本根目录下是有eslintrc.js的,直接在文件中增加"globals": {"WeixinJSBridge" : false}即可

如果是vue-cli3之后版本,需要在package.json中找到eslintConfig,然后增加"globals": {"WeixinJSBridge" : false}即可

至此,就可以编译通过正常调试和发布了。

(专卖店项目)

进入微信企业项目授权回跳之后退出项目需要点击两次(手机的返回主键,回退键)才能正常退出的问题解决相关推荐

  1. 使用uniapp实现锚点跳转,主按钮消失在视口时显示锚点按钮,点击锚点按钮页面返回主按钮位置

    使用uniapp实现锚点跳转,主按钮消失在视口时显示锚点按钮,点击锚点按钮页面返回主按钮位置 onpagescroll页面滑动监听事件 获取视口高度和按钮(btn-bg)距离顶部高,便可计算按钮离开视 ...

  2. 微信公众号授权登录vue移动端项目

    1. 在需要授权登录的页面中 if (this.$route.query.uuid) {this.wxOpenId = this.$route.query.uuid;};let isWeixin = ...

  3. 微信公众号H5页面跳转至app的某个页面,如果手机内没有app,则进入下载页面

    安卓实现方法: $(function(){           var Id = getParameter("goodsid"); //此操作会调起app并阻止接下来的js执行,进 ...

  4. PHP快速实现微信小程序授权

    小程序开发讲究的就是一个敏捷软件开发模式,作为微信小程序授权也有多个项目的积累,所以想贴出来代码,让需要用到的朋友拿来即用(当然前提是需要修改自己的小程序appid和秘钥). 前端调用wx.login ...

  5. 微信企业支付(一)注意

    今天看了微信企业支付,没用代码实现,用postman简单测试了借口,看看返回数据,折腾大半天,总结: ca证书,官方给的证书工具无法运行,检查了dll文件,下载了各种修复工具什么的,结果,换个电脑好了 ...

  6. H5微信公众号授权登录

    目录 一.封装获取code的函数.存储token函数.获取token函数 二.点击请求微信公众号授权并跳转 三.重定向跳转会当前链接获取code登录 四.整体流程的描述: 一.封装获取code的函数. ...

  7. oracle主键从键怎么看,分析Oracle主键的跳号现象

    从做Jforum项目以来,以来遇到一个很明显的现象,就是每个表的主键都出现跳号现象.具体表现在:当一次操作若干条数据时,自动增 从做Jforum项目以来,以来遇到一个很明显的现象,就是每个表的主键都出 ...

  8. mysql 主键冲突 多个事务回滚_MySQL实战45讲Day38----自增主键不是连续的原因

    一.自增主键不连续的原因: 对于表: CREATE TABLE `t` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c` int(11) DEFAULT NULL ...

  9. Mybatis 主键插入回显

    一. Mysql ⏹方式1: 使用属性返回新增记录的ID useGeneratedKeys属性: 是否使用获取新增记录的id值 keyProperty属性: 将返回的主键值设置给哪个属性 <in ...

最新文章

  1. [Python Study Notes] Python的安装
  2. 【一周算法实践集训】_【模型构建】_baseline
  3. 自动驾驶中多模态三维目标检测研究综述
  4. c++ string类 用法简介
  5. 设置树莓派开机自动运行代码
  6. 别再说你不会ElasticSearch,都给你整理好了
  7. SU22 for service CRM_OPPORTUNITY
  8. c3d怎么调语言,falc3d参数调整心得
  9. Android 实现卫星菜单
  10. 创建Tapestry5 工作环境
  11. DM7 达梦 数据库 数据守护(Data Watch) -- 实时主备环境搭建
  12. linux 远程扫描仪,扫描仪Web远程控制
  13. GMP法规附录《计算机化系统》那些事儿
  14. ionic4升级到ionic5踩坑记录
  15. 方差及常见分布的方差计算与推导
  16. Spring之DI依赖注入
  17. 一款强大易用的Vue-markdown文本编辑器插件
  18. 软件测试基础-自动化测试技术
  19. PMP报考条件不符合不知道怎么解决?全套操办方法安排上了!不懂就看
  20. 暗黑游戏服务器列表为空,暗黑3战网错误代码大全 游戏出错童鞋看过来

热门文章

  1. 戴尔笔记本电脑重装win10系统详细记录
  2. 在Java控制台实现学生成绩管理系统
  3. 机器人编程趣味实践19-武林秘籍(文档)
  4. Unity Shader 之 简单实现物体被压扁(top顶点的逐渐与bottom顶点重合)的效果
  5. 挑战微信?三大运营商的目的或许不在这
  6. 移动医疗APP的渠道策略
  7. CSS把图片设置为背景
  8. 可道云 docker 群晖_群晖NAS安装影视客户端新手教程,手把手教你NAS怎么下载电影...
  9. 重度办公用户,哪款平板更合适?
  10. 联想ThinkBook 16+ 2023款 评测