解决难点

JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的网址,但由于单页应用的路由特殊,其中涉及到的iOS和Android的微信客户端浏览器内核的差异性导致的兼容问题

JS-SDK签名

官网所述的是

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需要调用一次,对于变化url的SPA的web app可在每次url变化时进行调用

vue中路由history和hash两种模式;在history模式下,理想的设计方案是,当进入到需要用到JS-SDK组件时,获取以下当前url(也就是通过location.href.split('# “)[0]获得到的地址)传递到服务端进行签名,应该就没问题了,但是IOS获取的URL并不是调用微信JS的时候所在页面的地址,而是进入到网站第一个页面的地址。

请观察如下表格:

注意history模式下的IOS设备坑点

浅坑 - 微信分享

如果使用hash模式,分享出去的地址,微信会自动处理掉#后边的部分,会干扰对hash的正常解析,从而影响页面跳转。

例如我的分享链接为

var shareUrl = 'https://www.xxx.com/#/product?id=7'

安卓显示正常

var shareUrl = 'https://www.xxx.com/#/product?id=7'

但是在IOS中,页面的URl后的值被截取掉了,页面因为无法获取值而无法显示

var shareUrl = 'https://www.xxx.com/?from=timeline#/product?id=7'

解决方案

  • 检测分享页是否有场景值,有就干掉重新加载页面
  • static文件夹下新建一个中间页,中间页过滤掉没用的URL参数,再跳回分享页

Vue SPA应用微信开发踩坑记录相关推荐

  1. 微信vue路由跳转兼容_Vue微信公众号开发踩坑记录

    需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分离模式(vue工程仅作为客户端),用户通过域名访问的是客户端,但是微信授权中 ...

  2. 微信开发踩坑系列一之Native支付

    微信开发踩坑系列一之Native支付 1.前言 1.1.文章说明 1.2.微信支付简介 1.3.项目技术栈 2.Native支付开发 2.1.官方描述 2.2.两种模式介绍 2.3.开发前准备工作 2 ...

  3. 微信开发踩坑之旅 之 开发准备及服务器配置

    在工作和兴趣的机缘巧合之下,我开始接触微信开发.在这里简单记述自己的微信开发踩坑之旅. 首先,由于本人标准的理工科生,记述的语言有所不足,我尽量说明准确和详细点. 本文记述主线 ·申请公众号 ·公众号 ...

  4. 乐视体感摄像头开发踩坑记录

    乐视三合一体感相机开发踩坑记录 第一次用Cmake,以下如有错误请大佬指正 开发环境: Linux ARM(树莓派4) AstraSDK-v2.1.3 Arm/Arm64(https://orbbec ...

  5. 微信签名验证踩坑记录1

    @ 微信签名验证踩坑记录1 H5页面打开小程序的签名验证算法,我碰到个问题 有点奇葩,不过也算是自己吸取个教训. 在H5页面打开小程序需要调用jssdk签名.这里有个URL是前端传过来的参数,这时候要 ...

  6. uniapp 开发踩坑记录

    使用dcloud 的 uniapp开发了一个app,把遇到的问题总结一下: 1.uniapp 前端的布局代码与小程序 高度相似(如果没有接触过 建议多看看文档):js是用的vue 布局比较简单,比jq ...

  7. Flutter 开发踩坑记录(干货总结)

    Flutter 太好学了!BUG 真的太少了!issues 只有 5000 多!也就那么亿点!简单得我都枯了!毕竟每次遇到问题,???????? 都是直接去找群里的法佬.低调.Alex 等几位大佬(? ...

  8. 2020年开发踩坑记录

    20200207 mybatis plus 自带insert插入异常 sql injection violation 解决方法: 使用逆向工程脚本时,生成的映射实体类在下面的注解会多table: 删除 ...

  9. uniapp聊天页nvue开发踩坑记录

    由于前段时间开发出来的vue版本的聊天页,性能.用户体验等方面十分不尽人意,故开启了新的征途,nvue版本聊天页的开发. 痛点一.进入页面保持在最底部 这次重构nvue版本的聊天页,使用了标新立异的渲 ...

最新文章

  1. GAE Python 2009-3-22
  2. 【数理知识】《矩阵论》方保镕老师-第1章-矩阵的几何理论
  3. 5m 云服务器2核4g_阿里云服务器2核4gb
  4. 微型计算机用什么评价判断,环评中常用评价等级的判定
  5. 动态生成圈形+文字的图片
  6. Pytm:威胁建模框架
  7. bat: 调用WinRAR.exe压缩文件
  8. linux鼠标指针隐藏,触摸屏鼠标指针隐藏消失方法
  9. 写给四十岁女人的箴言,写给四十岁男人的忠告
  10. matlab基本操作与矩阵输入简单表示
  11. Centos 7 环境下将修改后的MAC地址永久保存
  12. 企业应要求SaaS云服务商提供的三类安全措施
  13. java巴特沃斯滤波器编程_EMG信号的低通巴特沃斯滤波器
  14. 织梦教程:显示昨日今日时间不同效果
  15. Excel 2010 VBA 入门 052 DateAdd函数
  16. 关于Chrome浏览器的一些使用技巧
  17. Matlab学习笔记2011-09-16【数据分析】
  18. 求助移动硬盘显示函数不正确
  19. 南京大学与东南大学的计算机,南京大学和东南大学对比分析报告
  20. 李祥对数值策划的定义

热门文章

  1. 数据库系统原理 - - (1)数据库系统概论
  2. [2020 年百度之星·程序设计大赛 - 复赛] Binary Addition
  3. 基于matlab的神经网络设计,神经网络模型matlab例子
  4. zz纯数学课程科目与教材推荐
  5. 统计学——几种常见的假设检验
  6. 唯独百度搜索打不开,其他网站软件上网正常的解决办法记录
  7. SOAP(简单对象访问协议) 简介
  8. 如何在 Facebook 上实现高效社交营销
  9. 如何避免内存溢出和频繁的垃圾回收
  10. 在Linux中安装mysql后遇到错误20008解决方案