h5分享

一、微信分享(需要后台配合开发config接口)

注意:去微信公众平台申请微信服务号

(按步骤审核大概需7个工作日)[https://mp.weixin.qq.com/]

步骤一:绑定域名

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可在“开发者中心”查看对应的接口权限。

步骤二:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js

如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js (支持https)。

备注:支持使用 AMD/CMD 标准模块加载方法加载

步骤三:通过config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)。

wx.config({    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。    appId: '', // 必填,公众号的唯一标识    timestamp: , // 必填,生成签名的时间戳    nonceStr: '', // 必填,生成签名的随机串    signature: '',// 必填,签名    jsApiList: [] // 必填,需要使用的JS接口列表});

签名算法见文末的附录1,所有JS接口列表见文末的附录2

步骤四:通过ready接口处理成功验证

wx.ready(function(){    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。});

步骤五:通过error接口处理失败验证

wx.error(function(res){    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。});

分享接口

请注意,不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限,详细规则请查看:朋友圈管理常见问题

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

自定义“分享给朋友”及“分享到QQ”按钮的分享内容(1.4.0)

wx.ready(function () {   //需在用户可能点击分享按钮前就先调用    wx.updateAppMessageShareData({         title: '', // 分享标题        desc: '', // 分享描述        link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致        imgUrl: '', // 分享图标        success: function () {          // 设置成功        }    })});

自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容(1.4.0)

wx.ready(function () {      //需在用户可能点击分享按钮前就先调用    wx.updateTimelineShareData({         title: '', // 分享标题        link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致        imgUrl: '', // 分享图标        success: function () {          // 设置成功        }    })});

获取“分享到朋友圈”按钮点击状态及自定义分享内容接口(即将废弃)

wx.onMenuShareTimeline({    title: '', // 分享标题    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致    imgUrl: '', // 分享图标    success: function () {    // 用户点击了分享后执行的回调函数},

获取“分享给朋友”按钮点击状态及自定义分享内容接口(即将废弃)

wx.onMenuShareAppMessage({title: '', // 分享标题desc: '', // 分享描述link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: '', // 分享图标type: '', // 分享类型,music、video或link,不填默认为linkdataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空success: function () {// 用户点击了分享后执行的回调函数}});

获取“分享到QQ”按钮点击状态及自定义分享内容接口(即将废弃)

wx.onMenuShareQQ({title: '', // 分享标题desc: '', // 分享描述link: '', // 分享链接imgUrl: '', // 分享图标success: function () {// 用户确认分享后执行的回调函数},cancel: function () {// 用户取消分享后执行的回调函数}});

获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口

wx.onMenuShareWeibo({title: '', // 分享标题desc: '', // 分享描述link: '', // 分享链接imgUrl: '', // 分享图标success: function () {// 用户确认分享后执行的回调函数},cancel: function () {// 用户取消分享后执行的回调函数}});

二、QQ分享

(1)分享当前页面

// 使用meta同样可以达到该接口的作用
 
 
 
(有的手机分享标题取得是title标签,所以)

 
 
这是分享的标题

(2)需要自定义分享链接

注意限制:
share_url -- 可选 String 页面可以定制分享出去的url,可去掉某些敏感参数等,如果不传,则使用页面的url,长度不能超过120字节,超过的请转短链。另外,url必须跟页面url同一个域名,否则设置不生效。
title -- 必选 String 分享的标题,最大45字节
desc -- 必选 String 分享的摘要,最大60字节
image_url -- 可选 String 图片URL,原 imageUrl 参数,可以继续使用 imageUrl。
注意:图片最小需要200 * 200,否则分享到Qzone时会被Qzone过滤掉。
页面内引入:share.js
(分享js)[https://qzonestyle.gtimg.cn/qzone/qzact/common/share/share.js]

js内配置
setShareInfo({
           title: title,
           summary: desc,
           pic: imgUrl,
           url: share_link,
  });

你可能感兴趣的:(h5分享)