ios微信公众号分享链接问题

问题分析

首先微信分享功能在ios设备和安卓设备中本来就存在区别,简单来说安卓设备需要使用当前页面获取签名,而ios设备不能使用当前页面获取签名,而应该是使用进入项目的第一个页面(路由)的地址。基于此情况,如果是ios设备的话,在跳转路由的时候获取了第一个页面的地址作为签名使用的地址。

Vue实现代码

import Vue from 'vue'
import router from './router'
router.beforeEach((to, from, next) => {
  // 判断是否是微信环境
  if (/MicroMessenger/i.test(window.navigator.userAgent)) {
    // 判断安卓还是ios环境,记录ios第一个路径值
    if (!Vue.prototype.signLink || /(Android)/i.test(navigator.userAgent)) {
      Vue.prototype.signLink = location.href
    }
  }
  next()
})
// **在vue文件中直接使用 this.signLink 获取签名授权地址**