vue 如何调用微信分享_微信jssdk分享接口,在vue单页应用使用中遇到的问题

本文记录了在Vue单页应用中使用微信JS-SDK的wx.updateAppMessageShareData接口进行分享时遇到的问题。当用户更新微信客户端后,分享功能出现问题,需要迁移至新的接口。在特定页面因用户状态不同,分享链接动态生成,导致分享失效。最终发现分享链接过长是问题关键,缩短链接后分享恢复正常。同时,确保每个页面仅配置一次分享接口也对解决问题起到作用。
摘要由CSDN通过智能技术生成

微信jssdk分享接口,wx.updateAppMessageShareData,wx.updateTimelineShareData,在vue单页应用使用中遇到的问题,记录一下

微信JS-SDK文档:原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口

我们的项目,用户在更新了微信客户端之后,分享出现了点问题,决定修改,根据客户端版本执行不同的接口。

wx.config({

debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: '', // 必填,公众号的唯一标识

timestamp: , // 必填,生成签名的时间戳

nonceStr: '', // 必填,生成签名的随机串

signature: '',// 必填,签名

jsApiList: [] // 必填,需要使用的JS接口列表

});

wx.ready(function () { //需在用户可能点击分享按钮前就先调用

wx.updateAppMessageShareData({

title: '', // 分享标题

desc: '', // 分享描述

link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

imgUrl: '', // 分享图标

}, function(res) {

//这里是回调函数

});

});

jsApiList 中加入两个新接口,然后配置wx.updateAppMessageShareData,大部分页面都生效了,有一个页面有点特殊需求,根据用户的状态不同分享出去的链接不一样,于是在这个页面配置了两次,但是第二次怎么也不生效,原来的wx.onMenuShareAppMessage是能够正常工作的,但是wx.updateAppMessageShareData不行,于是开始找问题出在哪???

我的判断是同一个页面路由下配置了两次,于是把一个页面拆成了两个页面,单独配置微信分享,结果还是拆出来的第二个页面不生效,萌得一比。。。

我认真的对比了两个页面分享代码,发现了一个不算大的区别,就是link参数,分享的链接,不生效的这个页面的link参数特别长,别的都很短,例如 http://www.baidu.com?id=666, 而我的那个长的链接例如 http://www.baidu.com?id=666&name=jone&age=18&content=后端接口返回的100个以上汉字或者字母组成的字符串经过encodeURIComponent转码&redirect_uil=*******************; 我改成短链接测试分享居然成功了,又tm萌的一比。 本来带这么多参数是为后端省了一个接口,分享页面需要显示的数据都自带了,让后端的同事加了一个接口,问题解决了。终于解决了。。

因为做了两个地方的改动,一个页面拆成两个页面只设置一次分享,缩短link参数,可以确定的是link参数一定是有影响的,那之前的改动有没有用还不确定,于是我把两个页面改回一个页面,再做测试,失败。确定了两个地方都是有影响的,但是link参数导致分享失败,真的是因为过长,还是别的原因还没有具体测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值