时间:2021-05-25
用于记录接入微信JS-SDK的坑,以后方便查询 第一次接入公众号微信支付、分享、定位等等的坑的时候,心里是迷茫而又恐惧。因为,听说坑特别多,后来发现自己的亲身体验到了这一点。
支付的坑
1、当前URL未注册
问题: 微信公众号H5调起支付时,点击支付按钮出现“当前页面的URL未注册”的提示。
解决办法:由于2017年8月1日微信官方把关于支付的信息转移到了商户平台:公众平台微信支付公众号支付授权目录、扫码支付回调URL配置入口已于8月1日迁移至商户平台(pay.weixin.qq.com )
所以进入以下位置:
登录微信商户平台-产品中心-开发配置,配置支付授权路径。如果掉起支付的页面在 域名/pay.html中,那么就在此添加授权路径, 如我的掉起支付的页面在/
tip: 注意:后面的 / 一定要加上,表示该路径下的页面都可以调起微信的支付接口。
2、如果按照以上还是弹出当前URL未注册 因为微信支付对spa项目的hash路由兼容还是不很好。需要加上一个 "?" 如图:
代码如下:
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地址不正确。 然后就导致如下结果:
解决办法: 请在保证后台能正确返回初始化需要的配置参数的情况下
修改前:// let currentUrl = window.location.href修改后let currentUrl = window.location.href.split('#')[0]神奇成功了开心
需要注意的几点:
jsApList: [] 需要加入对应参数。比如,分享加入'onMenuShareTimeline', 'onMenuShareAppMessage'。 具体的对应接口的参数可以参考文档
所有接口的调用,请保证在wx.ready()执行后,才调用。文档里面是这么建议的。
定位的坑
刚开始定位的,内心是有点小激动的。因为觉得这个功能很高大尚,当然了这只是我个人的想法。好了~,不扯了。
同样的,给微信初始化的jsApList 加入对应的参数。 然后在wx.ready()函数执行,但是,发现无论如何第一次进入页面都无法成功弹出授权弹框。
后来发现,在页面完成之后。延迟一秒再进行获取定位,即可 百分百成功!坑爹有木有。 代码如下
目前遇到这个三个坑,后期遇到再写上吧。痛苦的经历需要不要再有了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
首先下载微信jssdk引入项目中,这里我就不说怎么去安装了,如果不会的可以看一下npm教程和es6的教程。第一步,引入微信jssdk,此处我是通过下载微信jss
本文实例为大家分享了nodeJS微信分享的具体代码,供大家参考,具体内容如下一、接入微信JSSDK直接引用或者下载本地都行二、JS请求node后台签名、随机数、
Nginx反向代理一个80端口下配置多个微信项目详解 我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑。但是微信公众号接口只支
产品需求:在微信内分享需要手动配置的分享地址、分享图片与内容描述,引导用户分享,并在微信分享成功回调内进行相应的操作。首先需要在项目中引入微信jsSDk包,然后
微信支付已经走进用户的日常生活中,包括:打车、外卖、网购、发红包等,如果自己开发一个APP,如何接入微信支付呢?下面的接入微信支付教程,也许对各位有所帮助。1、