美文网首页
vue 中解决移动端使用 js sdk 在ios 上一直报inv

vue 中解决移动端使用 js sdk 在ios 上一直报inv

作者: songkl | 来源:发表于2020-09-11 09:50 被阅读0次

最近项目需求,需要一个上传多张图片的功能,但是出现的问题是在安卓端是没有问题的,但是在ios上一直都是 invalid signature,但是刷新页面就没有问题了。

Vue主打,router使用history模式,外加微信JSSDK套餐

排查了各种情况总是找不出原因,而且神奇的是在安卓上可以正常获取位置,就只是在ios上一直“invalid signature”,打印出来的当前url跟签名的url也明明是一致的,为什么还是签名有问题呢!!???


页面的结构如下:

SPA:

  • 页面A
  • 页面B

非常简单,整个应用从A进入,然后跳转到B,B需要获取位置,我也只是在B里面配置微信的JSSDK,然后就遇到了前面所说的问题。然后,在某一次调试的时候,我就直接从B页面刷新了,然后就可以了!

从B刷新加载的每一次都是那么丝滑,而从A到B,每一次都被枪毙,所以抱着这个问题,我来到了这个新世界 ---- 关于html5-History模式在微信浏览器内的问题

原来。。。

IOS:微信IOS版,微信安卓版,每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url就是最初进入页面时的url

Android:微信安卓版,每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)

解决方案

判断是不是ios或者是安卓 然后在 beforeRouteEnter 做操作。

beforeRouteEnter (to, from, next) {
  var u = navigator.userAgent;
  var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  // XXX: 修复iOS版微信HTML5 History兼容性问题
  if (isiOS && to.path !== location.pathname) {
    // 此处不可使用location.replace
    location.assign(to.fullPath)
  } else {
    next()
  }
}

这样子就就解决了。

相关文章

  • vue 中解决移动端使用 js sdk 在ios 上一直报inv

    最近项目需求,需要一个上传多张图片的功能,但是出现的问题是在安卓端是没有问题的,但是在ios上一直都是 inval...

  • GitHub基本使用介绍

    之前公司项目一直在使用SVN作为项目代码版本控制,最近我想整理下项目中iOS端CC视频SDK封装,CC移动端SDK...

  • 2019-05-21

    Vue移动端中.fastclick解决300毫秒点击延迟问题 在main.js文件下面 importfastCli...

  • Vue.js仿eleme项目(1)

    一,学习背景及介绍 目标掌握Vue.js在实战中的运用,学会使用Vue.js完整地开发移动端APP学会组件化、模块...

  • Vue1实战学习一

    学习目标 掌握Vue.js在实战中的运用 学会使用Vue.js完整的开发移动端APP 学会工程化、组件化、模块化开...

  • 2018-07-19

    1 点击300ms 使用fastclick 2 移动端1px 在ios中使用0.5px 3 js中获取浏览器...

  • Vue插件之vue-awesome-swiper

    vue在移动端开发项目中,使用iview轮播图carousel组件会出现无法滑动的情况解决方式:使用vue-awe...

  • ReactNative项目archive操作报错built w

    问题 RN 项目使用AliOSS,JS的SDK无法使用,无奈使用了iOS的SDK,然后转化为JS接口,模拟器中运行...

  • 兼容

    1 点击300ms 使用fastclick2 移动端1px 在ios中使用0.5px3 js中获取浏览器高度...

  • js瀑布流

    兼容性1 点击300ms 使用fastclick2 移动端1px 在ios中使用0.5px3 js中获取浏览...

网友评论

      本文标题:vue 中解决移动端使用 js sdk 在ios 上一直报inv

      本文链接:https://www.haomeiwen.com/subject/ktcsyctx.html