0、通用流程
常规为跳转一个第三方的地址(微信内的网页除外,走的是jssdk),带上必要的参数:appid、分享链接、分享图片、分享标题、分享内容等等(根据不同平台支持的内容不同,链接、文字等均需要进行encodeURIComponent后再拼接到链接上,微信内网页除外)
1、微信分享
只有在微信里的网页有,为和app分享出来作区分,一般称为二次分享
(1)申请公众号填写资料,并去公众号完成相应配置,ip白名单、js安全域名、业务域名
(2)代码接入:
JSSDK参考文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#3
第一步:引入jssdk
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.6.0.js
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.6.0.js (支持https)。
备注:支持使用 AMD/CMD 标准模块加载方法加载
第二步:通过config接口注入权限验证配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
// 以上参数,除了jsApiList,都从接口获取,或者是php混编通过页面变量获取
第三步:通过ready接口处理成功验证(分享给朋友和朋友圈的,官方说法是即将废弃,有新接口代替,但实际尝试过新接口还未能起作用)
wx.ready(function(){
// 分享到朋友圈
wx.onMenuShareTimeline({
title: '', // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success: function () {
// 用户点击了分享后执行的回调函数
}
});
// 分享给朋友
wx.onMenuShareAppMessage({
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户点击了分享后执行的回调函数
}
});
});
如果没有使用jssdk对微信二次分享做特定设置,微信会自己爬取网页上内容作为分享的内容,从经验得知:(不设置会比较难看,根据业务需要告知产品经理做抉择)
分享给朋友:
title: 网页的title
desc:网页的网址
link:当前网页的网址
imgUrl:页面上单边大小大于200(300?)的第一张图片地址(img src那种,background的不算)
分享到朋友圈:
title: 网页的title
link:当前网页的网址
imgUrl:页面上单边大小大于200(300?)的第一张图片地址(img src那种,background的不算)
2、QQ分享
http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={link}&title={link}&desc={title}&summary={summary}&site=&pics={pic}
3、微博分享
http://service.weibo.com/share/share.php?appkey={appKey}&title={title}&url={link}&pic={pic}&rcontent=&retcode=0
4、Facebook分享
http://www.facebook.com/sharer/sharer.php?u={link}&t={title}
Facebook不会预填文字,不带图,图片和图片下的配图和文字为Facebook爬虫爬取获得(可以通过自定义爬虫获取内容,需要在分享的链接的网页上添加额外代码,这里不作为主要内容讲解,有兴趣的可以看下面blog)
Facebook爬虫内容自定义相关介绍blog:https://blog.csdn.net/snow_finland/article/details/88797221
5、Twitter分享
https://twitter.com/intent/tweet?text={text}
Twitter不带图,不需要单独链接,只有一个文案字段