详解vue项目接入微信JSSDK的坑


Posted in Javascript onDecember 14, 2018

用于记录接入微信JS-SDK的坑,以后方便查询 第一次接入公众号微信支付、分享、定位等等的坑的时候,心里是迷茫而又恐惧。因为,听说坑特别多,后来发现自己的亲身体验到了这一点。

支付的坑

1、当前URL未注册

详解vue项目接入微信JSSDK的坑

问题: 微信公众号H5调起支付时,点击支付按钮出现“当前页面的URL未注册”的提示。

解决办法:由于2017年8月1日微信官方把关于支付的信息转移到了商户平台:公众平台微信支付公众号支付授权目录、扫码支付回调URL配置入口已于8月1日迁移至商户平台(pay.weixin.qq.com )

所以进入以下位置:

登录微信商户平台-产品中心-开发配置,配置支付授权路径。如果掉起支付的页面在 域名/pay.html中,那么就在此添加授权路径, 如我的掉起支付的页面在www.weixinPay.com/pay.html 中,那么授权目录就配置为htt://www.weixinPay.com/

tip: 注意:后面的 / 一定要加上,表示该路径下的页面都可以调起微信的支付接口。

详解vue项目接入微信JSSDK的坑

2、如果按照以上还是弹出当前URL未注册 因为微信支付对spa项目的hash路由兼容还是不很好。需要加上一个 "?" 如图:

详解vue项目接入微信JSSDK的坑

代码如下:

watch: {
 $route() {
  this.directRightUrl()
 }
},
methods: {
 directRightUrl() {
 let { href, protocol, host, pathname, search, hash } = window.location
 search = search || '?'
 let newHref = `${protocol}//${host}${pathname}${search}${hash}`
 if (newHref !== href) {
  window.location.replace(newHref)
 }
 }

我这里是根据App.vue文件,进行路由监控。然后给每个页面都加上问号,虽然会些许性能消耗。但是方便省事,具体可以根据自己的页面适当修改。

微信JS-SDK说明文档

分享的坑

根据JS-SDK的文档,很多人都是在初始化的wx配置的时候,传入的当前的URL地址不正确。 然后就导致如下结果:

详解vue项目接入微信JSSDK的坑

解决办法: 请在保证后台能正确返回初始化需要的配置参数的情况下

详解vue项目接入微信JSSDK的坑

修改前:
// let currentUrl = window.location.href
修改后
let currentUrl = window.location.href.split('#')[0]

神奇成功了开心

详解vue项目接入微信JSSDK的坑

需要注意的几点:

jsApList: [] 需要加入对应参数。比如,分享加入'onMenuShareTimeline', 'onMenuShareAppMessage'。 具体的对应接口的参数可以参考文档

所有接口的调用,请保证在wx.ready()执行后,才调用。文档里面是这么建议的。

详解vue项目接入微信JSSDK的坑

定位的坑

刚开始定位的,内心是有点小激动的。因为觉得这个功能很高大尚,当然了这只是我个人的想法。好了~,不扯了。

同样的,给微信初始化的 jsApList 加入对应的参数。 然后在wx.ready()函数执行,但是,发现无论如何第一次进入页面都无法成功弹出授权弹框。

详解vue项目接入微信JSSDK的坑

后来发现,在页面完成之后。延迟一秒再进行获取定位,即可 百分百成功!坑爹有木有。 代码如下

详解vue项目接入微信JSSDK的坑

详解vue项目接入微信JSSDK的坑

目前遇到这个三个坑,后期遇到再写上吧。痛苦的经历需要不要再有了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery实现动画效果的实例代码
May 07 Javascript
js的.innerHTML = ""IE9下显示有错误的解决方法
Sep 16 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
JQuery 获取多个select标签option的text内容(实例)
Sep 07 jQuery
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
Sep 06 Javascript
对layui中table组件工具栏的使用详解
Sep 19 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
Dec 14 #Javascript
javascript中的event loop事件循环详解
Dec 14 #Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 #Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
Dec 13 #Javascript
node.js学习笔记之koa框架和简单爬虫练习
Dec 13 #Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 #Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
Dec 13 #Javascript
You might like
php的ajax简单实例
2014/02/27 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
鼠标移到图片上变大显示而不是放大镜效果
2014/06/15 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
webpack4+react多页面架构的实现
2018/10/25 Javascript
从vue源码看props的用法
2019/01/09 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
2020/08/03 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
如何使用Python 打印各种三角形
2019/06/28 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
自主招生自荐信格式
2013/12/03 职场文书
旅游项目开发策划书
2014/01/18 职场文书
军训自我鉴定怎么写
2014/02/13 职场文书
教师党员先进性教育自我剖析材料思想汇报
2014/09/24 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python