请选择 进入手机版 | 继续访问电脑版
×
热搜词
标签: 暂无标签
首先介绍下微信JSSDK;它是微信官方提供给开发者的一个API;有分享、拍照;唤起相册、上传、录音、播放、地理定位等微信上操作的功能。

今天我们是来解决在实际开发中常见的分享功能在部分(我是在小米4实测)安卓机操作失败的问题。
1.首先是通过config接口注入权限验证配置(前面绑定域名,引入JS就不多介绍了)
wx.config({  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。  appId: '', // 必填,公众号的唯一标识  timestamp: , // 必填,生成签名的时间戳  nonceStr: '', // 必填,生成签名的随机串  signature: '',// 必填,签名  jsApiList: [] // 必填,需要使用的JS接口列表});这个授权是必须完成,不然没办法进行,建议可以把授权写在App.vue里面这样就可以在任意路由确保授权。
2.授权成功后去调取微信的方法
就以分享微信朋友为例
wx.ready(function () {    wx.updateAppMessageShareData({      title: config.title || '', // 分享标题      desc: config.desc || '', // 分享描述      link: config.link || '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致      imgUrl: config.imgUrl || '', // 分享图标      success: config.callback || function () {        console.log('分享成功')      }    })  })这种微信官网提供的方法实测是有bug,ios上不会有任何问题。
但是在部分安卓机上会出现无图文只有默认原始链接的情况;事实情况是你已经获取到title、desc等内容但是在部分安卓机型上会有兼容的问题。
这个时候我们可以用微信官方声明要废弃的方法。(不知道哪年哪月会废弃... 先用着解决问题)
wx.ready(function () {    wx.onMenuShareTimeline({      title: config.title || '', // 分享标题      desc: config.desc || '', // 分享描述      link: config.link || '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致      imgUrl: config.imgUrl || '', // 分享图标      success: config.callback || function () {        console.log('分享成功')      }    })  })可以用onMenuShareTimeline这个方法来处理这个问题;这是微信自定义分享的方法
这个时候代码应该同时加上这两个方法,在你需要分享的时候同时调取这两个方法,这个时候就能解决安卓部分机型不兼容的问题。
微信分享和支付这两个功能建议尽量在线上进行调试,因为授权的签名会经常出问题(当然这是后端同学该去解决的问题)。
希望能够帮到一部分碰见同样问题的开发者,如果还有其他的问题欢迎留言讨论。
邓金泉

写了 3 篇文章,拥有财富 36,被 0 人关注

回复

使用道具

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

返回顶部