微信分享有两种机制,一种是微信自带的分享机制,一种是公众号自定义的分享机制。html
一、 微信自带分享:微信的自带分享是本身根据网页的信息来抓取分享出去的信息。安全
标题:自动抓取html中head里面的title;微信
图片:网页中第一张长和宽都大于300px的图片app
描述:网页自己的urlide
二、公众号自定义分享:微信自定分享是须要调取微信的jssdk的接口的,步骤:函数
1、先经过config接口注入权限验证配置url
图中所指的四个参数,其中appId是固定的,其余三个参数有公众号即时生成,不过为了安全起见通常有后台返回,jsApiList中注入分享接口spa
jsApiList: [htm
“onMenuShareTimeline”,//分享到朋友圈
“onMenuShareAppMessage”,//分享给朋友
“onMenuShareQQ”,//分享到QQ
“onMenuShareWeibo”,//分享到腾讯微博
“onMenuShareQZone”,//分享到QQ空间
] blog
注意事项:因为在wx.config没有配置好以前,微信接口是调用不了的,因此为了不调取接口失败,建议后台返回的配置参数放在一个单独的接口中无需登陆也能请求,以达到快速注入权限。
2、注入权限后再调取微信的分享接口,示例:
wx.onMenuShareAppMessage({ title: '', // 分享标题 desc: '', // 分享描述 link: '', // 分享连接 imgUrl: '', // 分享图标 type: '', // 分享类型,music、video或link,不填默认为link dataUrl: '', // 若是type是music或video,则要提供数据连接,默认为空 success: function () { // 用户确认分享后执行的回调函数 }, cancel: function () { // 用户取消分享后执行的回调函数 } });
全部的参数由本身定义
注意事项:就算配置了自定义分享,分享的时候仍是会有调取分享接口失败的状况,这个时候分享的信息就会和微信自带的分享同样,为了不分享出去的图片是空白的或者不是产品想要的,咱们能够在body的下面建立一个img标签隐藏一张宽度和高度都大于300的图片,这种状况下描述是desc参数是不可控的。