微信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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
javaScript parseInt字符转化为数字函数使用小结
Nov 05 Javascript
jQuery 表格工具集
Apr 25 Javascript
jquery实现两个图片渐变切换效果的方法
Jun 25 Javascript
JavaScript常见的五种数组去重的方式
Dec 15 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
Angular 开发学习之Angular CLI的安装使用
Dec 31 Javascript
vue如何在自定义组件中使用v-model
May 14 Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 Javascript
这应该是最详细的响应式系统讲解了
Jul 22 Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 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
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
vue中导出Excel表格的实现代码
2018/10/18 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
应聘教师自荐信
2013/10/12 职场文书
机械制造专业个人的自我评价
2013/12/28 职场文书
英语道歉信范文
2014/01/09 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
小学生保护环境倡议书
2014/05/15 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
开学第一天的感想
2015/08/10 职场文书