当项目运行在微信浏览器时,会遇到分享的需求,下面是我实现微信分享时遇到的一些坑,需要注意:原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口。
一、配置
登录微信公众号配置js安全域名,分享权限等等。
二、安装:
npm i weixin-js-sdk --save
三、使用
1、从服务器获取signature签名:
这里注意由于项目是采用hash模式,地址需要处理一下location.href.split(’#’)[0]
2、wx.config配置:
如果需要调试,开启debug即可
3、wx.ready注册:
link必须是配置的安全域名,域保持一致
4、页面引入:
在首页调用一次即可
import { initWx } from ‘…/weixin’;
let obj = {
title:this.homeList.share.shareTitle,
link:this.homeList.share.shareLink,
imgUrl:this.homeList.share.shareIcon,
desc:this.homeList.share.shareDescription,
}
initWx(obj)
至此,基本的分享功能已经注册完毕,但是测试发现ios生效,android并不生效,最后反复调试,解决了这个坑,暂未发现是什么原因,可能是微信的坑。
解决方式:
在jsApiList里加入’onMenuShareAppMessage’与’onMenuShareTimeline’即可。不配置wx.onMenuShareTimeline (); wx.onMenuShareAppMessage (); 也可以。
再次测试,发现android可以了,解决了这个坑。
四、链接:
微信JS-SDK说明文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115