JS版微信6.0分享接口用法分析


Posted in Javascript onOctober 13, 2016

本文实例讲述了JS版微信6.0分享接口用法。分享给大家供大家参考,具体如下:

为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了《微信公众平台关于整顿诱导分享及诱导关注行为的公告》,微信平台开发者发现,原有的微信分享功能不能用了。正在苦于微信分享该怎么解决时,微信于2015年1月10日即时发布了开放JS-SDK,为微信网站的开发提供了强大的js功能。

注:

1.微信JS-SDK,提供的分享接口仅是监听分享事件触发时,修改分享的标题、链接等。不能自定义触发分享事件

2.分享的监听,仅提供了腾讯旗下产品的接口,接口列表:分享到朋友圈、分享给朋友、分享到QQ、分享到QQ空间、分享到腾讯微博;

微信6.0之后,原有的WeixinJSBridge.on('menu:share:timeline', function (argv) {}不再可以使用,但是微信提供的新的方法 JS-SDK, 官方接口请参见 微信JSSDK说明文档

分享接口使用实例:

注:本文介绍的前提是服务器端已经获取的公众平台的access_token和Jsapi_Ticket

一、权限验证配置,注册当前页面使用的分享接口

//注入权限验证配置
wx.config({
  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  appId: '@AccessTokenManage.AppID', // 必填,公众号的唯一标识
  timestamp:@timestamp , // 必填,生成签名的时间戳
  nonceStr: '@timestamp', // 必填,生成签名的随机串
  signature: '@Common.SecurityHelper.SHA1(sig)',// 必填,签名,见附录1
  jsApiList: [
    //分享接口列表
    'onMenuShareTimeline',
    'onMenuShareAppMessage',
    'onMenuShareQQ',
    'onMenuShareQZone',
    'onMenuShareWeibo'
  ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

二、在ready事件中,注册监听分享

//处理成功验证
wx.ready(function () {
  // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
  //config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
  //对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
  //监听,分享到朋友圈
  wx.onMenuShareTimeline({
    title:'标题测试',
    link:'https://3water.com',
    imgUrl:'https://3water.com/favicon.ico',
    success:function(){
      appendText('分享成功');
    },
    calcel:function(){
      appendText('已经取消');
    }
  });
  //监听,分享到QQ空间
  wx.onMenuShareQZone({
    title: '标题测试', // 分享标题
    desc: '描述测试', // 分享描述
    link: 'https://3water.com', // 分享链接
    imgUrl: 'https://3water.com/favicon.ico', // 分享图标
    success: function () {
      // 用户确认分享后执行的回调函数
      appendText('分享QQ空间成功');
    },
    cancel: function () {
      // 用户取消分享后执行的回调函数
      appendText('分享QQ控件取消');
    }
  });
  //监听,分享给朋友 (type,dataurl基本可以放弃不使用)
  wx.onMenuShareAppMessage({
    title: '标题测试', // 分享标题
    desc: '描述测试', // 分享描述
    link: 'https://3water.com', // 分享链接
    imgUrl: 'https://3water.com/favicon.ico', // 分享图标
    type: 'link', // 分享类型,music、video或link,不填默认为link
    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
    success: function () {
      // 用户确认分享后执行的回调函数
      appendText('分享给朋友成功');
    },
    cancel: function () {
      // 用户取消分享后执行的回调函数
      appendText('分享给朋友取消');
    }
  });
  //监听,分享到QQ
  wx.onMenuShareQQ({
    title: '标题测试', // 分享标题
    desc: '描述测试', // 分享描述
    link: 'https://3water.com', // 分享链接
    imgUrl: 'https://3water.com/favicon.ico', // 分享图标
    success: function () {
      // 用户确认分享后执行的回调函数
      appendText('分享到QQ成功');
    },
    cancel: function () {
      // 用户取消分享后执行的回调函数
      appendText('分享到QQ取消');
    }
  });
  //监听,分享到腾讯微博 (基本可以放弃不使用)
  wx.onMenuShareWeibo({
    title: '标题测试', // 分享标题
    desc: '描述测试', // 分享描述
    link: 'https://3water.com', // 分享链接
    imgUrl: 'https://3water.com/favicon.ico', // 分享图标
    success: function () {
      // 用户确认分享后执行的回调函数
      appendText('分享到腾讯微博成功');
    },
    cancel: function () {
      // 用户取消分享后执行的回调函数
      appendText('分享到腾讯微博失败');
    }
  });
  appendText('ready事件触发');
});

关于常用封装实例可参考前面一篇《微信js-sdk分享功能接口常用逻辑封装示例》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
纯JS实现动态时间显示代码
Feb 08 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
May 12 Javascript
JS实现的在线调色板实例(附demo源码下载)
Mar 01 Javascript
利用jquery制作滚动到指定位置触发动画
Mar 26 Javascript
Javascript中prototype的使用详解
Jun 18 Javascript
浅谈JavaScript的自动垃圾收集机制
Dec 15 Javascript
js实现放大镜特效
May 18 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
Jan 08 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 #Javascript
微信小程序 SocketIO 实例讲解
Oct 13 #Javascript
简单谈谈JS数组中的indexOf方法
Oct 13 #Javascript
使用jquery如何获取时间
Oct 13 #Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 #Javascript
微信js-sdk分享功能接口常用逻辑封装示例
Oct 13 #Javascript
js给table赋值的实例代码
Oct 13 #Javascript
You might like
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
在微信小程序中保存网络图片
2019/02/12 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
Python中%r和%s的详解及区别
2017/03/16 Python
深入理解Python中的super()方法
2017/11/20 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
Django和Flask框架优缺点对比
2019/10/24 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
基于opencv实现简单画板功能
2020/08/02 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
外科实习自我鉴定
2013/10/06 职场文书
气象学专业个人求职信
2014/03/15 职场文书
篝火晚会主持词
2014/03/25 职场文书
赡养老人协议书
2014/04/21 职场文书
房地产推广策划方案
2014/05/19 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
离婚案件原告代理词
2015/05/23 职场文书
张丽莉观后感
2015/06/16 职场文书