vue 企业微信通过中间页打开会话后,点击左上角返回按钮未关闭页面

背景:前端通过链接跳转到中间页 然后通过中间页调用企微api打开会话,打开会话后,点击左上角返回按钮是回到了中间页,没有回到一开始点击链接的企微页面。前端用的vue。

一、在路由进入页面之前做下判断监听、回退的时候关闭页面

beforeRouteEnter(to, from, next) {
    next(vm => {
      vm.initAddEvent()
    })
  }

然后在methods中定义initAddEventh函数写对应的逻辑

initAddEvent() {
      var hiddenProperty = 'hidden' in document ? 'hidden'
        : 'webkitHidden' in document ? 'webkitHidden'
          : 'mozHidden' in document ? 'mozHidden'
            : null
      var visibilityChangeEvent = hiddenProperty.replace(/hidden/i, 'visibilitychange')
      var onVisibilityChange = function() {
        if (!document[hiddenProperty]) {
          const userAgent = navigator.userAgent
          if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i) || userAgent.match(/iPod/i)) {
            wx.closeWindow()
          } else { // 安卓
            wx.closeWindow()
          }
          console.log('页面---激活1')
        } else {
          console.log('页面---非激活')
        }
      }
      document.addEventListener(visibilityChangeEvent, onVisibilityChange)
    }
Vue 3 中,要跳转到企业微信客服会话页面,你可以使用以下步骤: 1. 首先,确保你已经在 Vue 3 项目中引入了企业微信的 JavaScript SDK,可以通过在 `index.html` 文件中引入企业微信的 SDK 脚本来实现: ```html <script src="https://qydev.weixin.qq.com/sdk/js/agent/agent.js"></script> ``` 2. 在你需要跳转的组件中,创建一个方法来处理跳转逻辑。你可以在方法中使用企业微信的 `openEnterpriseChat` 方法来打开客服会话页面。 ```javascript methods: { openEnterpriseChat() { wx.openEnterpriseChat({ userIds: ['user1', 'user2'], // 客服的企业微信账号列表 groupName: 'group', // 客服会话的群聊名称 onSuccess: function (result) { // 成功打开客服会话页面的回调 console.log('成功打开客服会话页面'); }, onFail: function (err) { // 打开客服会话页面失败的回调 console.error('打开客服会话页面失败', err); } }); } } ``` 3. 在模板中添加一个按钮或其他触发事件的元素,并绑定上面创建的方法: ```html <button @click="openEnterpriseChat">打开客服会话</button> ``` 当用户点击这个按钮时,将会触发 `openEnterpriseChat` 方法,打开企业微信的客服会话页面。 请注意,以上代码中的 `userIds` 是客服的企业微信账号列表,你需要根据实际情况进行替换。另外,为了确保 SDK 能够正常加载,请确保你的项目能够访问到企业微信的 SDK 脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值