微信js-sdk分享功能接口常用逻辑封装示例


Posted in Javascript onOctober 13, 2016

本文实例讲述了微信js-sdk分享功能接口常用逻辑封装。分享给大家供大家参考,具体如下:

微信js-sdk 1.0,分享说明:

1.目前支持的分享接口5个,其中分享腾讯微博基本可以忽略

2.接口只是定义分享时的数据,没有提供触发分享功能

一、在ready事件使用使用示例

//分享对象使用
var shareData={
  title:'分享标题',
  desc:'分享描述',
  link:'http://www.gongjuji.net',
  imgUrl:'http://www.gongjuji.net/favicon.ico',
  success:function(){
    appendText('分享成功');
  },
  //用户取消
  cancel:function(){
    appendText('分享取消');
  }
}
var share=new wxShare(shareData);
share.bind();

二、封装类定义:

//微信分享事件监听,常用功能封装
(function(){
var wxShare=function(opts){
  var defaults={
    title:'分享标题',//分享标题,不能为空
    desc:'',//分享描述,可以为空,(分享到朋友圈,不支持描述)
    link:'',//分享页面地址,不能为空
    imgUrl:'',//分享是封面图片,不能为空
    success:function(){},//分享成功触发
    cancel:function(){} //分享取消触发,需要时可以调用
  }
  this.opts=$.extend({},defaults,opts);
}
wxShare.prototype={
  //绑定微信朋友圈,发送朋友
  bindWX:function(){
    var _opts=this.opts;
    //监听,分享到朋友圈
    wx.onMenuShareTimeline({
      title:_opts.title,
      link:_opts.link,
      imgUrl:_opts.imgUrl,
      success:function(){
        if(_opts.success)
          _opts.success();
      },
      calcel:function(){
        if(_opts.cancel)
          _opts.cancel();
      }
    });
    //监听,分享给朋友 (type,dataurl基本可以放弃不使用)
    wx.onMenuShareAppMessage({
      title: _opts.title, // 分享标题
      desc: _opts.desc, // 分享描述
      link: _opts.link, // 分享链接
      imgUrl: _opts.imgUrl, // 分享图标
      success: function () {
        if(_opts.success)
          _opts.success();
      },
      cancel: function () {
        if(_opts.cancel)
          _opts.cancel();
      }
    });
  },
  //绑定QQ空间,QQ好友
  bindQQ:function(){
    var _opts=this.opts;
    //监听,分享到QQ空间
    wx.onMenuShareQZone({
      title: _opts.title, // 分享标题
      desc: _opts.desc, // 分享描述
      link: _opts.link, // 分享链接
      imgUrl: _opts.imgUrl, // 分享图标
      success: function () {
        if(_opts.success)
          _opts.success();
      },
      cancel: function () {
        if(_opts.cancel)
          _opts.cancel();
      }
    });
    //监听,分享到QQ
    wx.onMenuShareQQ({
      title: _opts.title, // 分享标题
      desc: _opts.desc, // 分享描述
      link: _opts.link, // 分享链接
      imgUrl: _opts.imgUrl, // 分享图标
      success: function () {
        if(_opts.success)
          _opts.success();
      },
      cancel: function () {
        if(_opts.cancel)
          _opts.cancel();
      }
    });
  },
  //绑定默认,不使用腾讯微博
  bind:function(){
    this.bindWX();
    this.bindQQ();
  },
  //绑定所有,包括腾讯微博
  bindAll:function(){
    this.bind();
    var _opts=this.opts;
    //监听,分享到腾讯微博 (基本可以放弃不使用)
    wx.onMenuShareWeibo({
      title: _opts.title, // 分享标题
      desc:_opts.desc, // 分享描述
      link: _opts.link, // 分享链接
      imgUrl:_opts.imgUrl, // 分享图标
      success: function () {
        if(_opts.success)
          _opts.success();
      },
      cancel: function () {
        if(_opts.cancel)
          _opts.cancel();
      }
    });
  }
}
window.wxShare=wxShare;
})();

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

Javascript 相关文章推荐
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
学习JavaScript设计模式(封装)
Nov 26 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
JavaScript中清空数组的三种方式
Mar 22 Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
Sep 23 Javascript
bootstrap table实现iview固定列的效果实例代码详解
Sep 30 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
Vue js with语句原理及用法解析
Sep 03 Javascript
详解JavaScript的this指向和绑定
Sep 08 Javascript
利用js实现简单开关灯代码
Nov 23 Javascript
js给table赋值的实例代码
Oct 13 #Javascript
js将table的每个td的内容自动赋值给其title属性的方法
Oct 13 #Javascript
jquery获取点击控件的绝对位置简单实例
Oct 13 #Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
Oct 13 #Javascript
Node.js中常规的文件操作总结
Oct 13 #Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 #Javascript
js图片切换具体实现代码
Oct 13 #Javascript
You might like
如何让CI框架支持service层
2014/10/29 PHP
Symfony的安装和配置方法
2016/03/17 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
2016/06/24 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python部署web开发程序的几种方法
2017/05/05 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
利用Python查看目录中的文件示例详解
2017/08/28 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
实习评语
2013/12/16 职场文书
学习新党章思想汇报
2014/01/09 职场文书
公司营业员的自我评价
2014/03/04 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python