背景:15 年之前的微信分享只需要加入一段 js 就可以实现。后来微信官方全部禁止了。现在的微信分享全部得使用 jssdk。
一、分享功能:
在微信内(必须在微信里)打开网站页面,分享给朋友或者分享到朋友圈时,自己可以指定分享的标题、缩略图、描述文字。(还可以把这个分享功能进一步扩展,比如分享后发红包、加积分、统计分享次数,谁分享了之类的功能,这个看个人需求而定。)
二、使用条件:
1、认证公众号(就是交了 300 块给腾讯认证的),无论是认证订阅号还是认证服务号都可以。
2、有一个备案域名
三、开发:使用微信 JSSDKAPI
先登录微信公众平台进入 "公众号设置" 的 "功能设置" 里填写 "JS 接口安全域名"。如果你使用了支付类接口,请确保支付目录在该安全域名下,否则将无法完成支付。
备注:登录后可在 "开发者中心" 查看对应的接口权限。
在需要调用 JS 接口的页面引入如下 JS 文件,(支持 https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js
请注意,如果你的页面启用了 https,务必引入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js ,否则将无法在 iOS9.0 以上系统中成功使用 JSSDK
所有需要使用 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: '',
- // 必填,签名,见附录1
- jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
- });
- wx.ready(function(){
- // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
- });
- wx.error(function(res){
- // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
- });
请注意不要有诱导分享等违规行为,对于诱导分享行为将永久回收公众号接口权限,详细规则请查看:朋友圈管理常见问题 。
- wx.onMenuShareTimeline({
- title: '',
- // 分享标题
- link: '',
- // 分享链接
- imgUrl: '',
- // 分享图标
- success: function() {
- // 用户确认分享后执行的回调函数
- },
- cancel: function() {
- // 用户取消分享后执行的回调函数
- }
- });
- wx.onMenuShareAppMessage({
- title: '',
- // 分享标题
- desc: '',
- // 分享描述
- link: '',
- // 分享链接
- imgUrl: '',
- // 分享图标
- type: '',
- // 分享类型,music、video或link,不填默认为link
- dataUrl: '',
- // 如果type是music或video,则要提供数据链接,默认为空
- success: function() {
- // 用户确认分享后执行的回调函数
- },
- cancel: function() {
- // 用户取消分享后执行的回调函数
- }
- });
- wx.onMenuShareQQ({
- title: '',
- // 分享标题
- desc: '',
- // 分享描述
- link: '',
- // 分享链接
- imgUrl: '',
- // 分享图标
- success: function() {
- // 用户确认分享后执行的回调函数
- },
- cancel: function() {
- // 用户取消分享后执行的回调函数
- }
- });
- 四、效果演示:
- 为了方便使用,我已经把分享功能的代码封装,配置两个参数就可以使用。
- 如有需要,请联系851 488 243 ,备注:微信分享
来源: http://www.cnblogs.com/memor-y/p/6728179.html