微信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 相关文章推荐
JavaScript中的16进制字符(改进)
Nov 21 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 Javascript
JS取文本框中最小值的简单实例
Nov 29 Javascript
jQuery实现的多屏图像图层切换效果实例
May 07 Javascript
JQuery插件jcarousellite的参数中文说明
May 11 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
Feb 22 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
Sep 17 Javascript
vue-cli项目修改文件热重载失效的解决方法
Sep 19 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
Jan 18 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
Terran兵种介绍
2020/03/14 星际争霸
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
2015/10/24 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
Python中的自省(反射)详解
2015/06/02 Python
对python mayavi三维绘图的实现详解
2019/01/08 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
OpenCV实现机器人对物体进行移动跟随的方法实例
2020/11/09 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
日语专业毕业生自荐信
2013/11/11 职场文书
手机被没收检讨书
2014/02/22 职场文书
护士长2014年度工作总结
2014/11/11 职场文书
2015年药品销售工作总结范文
2015/05/25 职场文书