微信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实现UTF8编码转换成gb2312编码
Dec 22 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
jQuery的$.proxy()应用示例介绍
Apr 03 Javascript
jquery动态分页效果堪比时光网
Sep 25 Javascript
利用jquery操作Radio方法小结
Oct 20 Javascript
分享10个原生JavaScript技巧
Apr 20 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
element ui里dialog关闭后清除验证条件方法
Feb 26 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
浅谈HTTP 缓存的那些事儿
Oct 17 Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 Javascript
vue实现树状表格效果
Dec 29 Vue.js
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 SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
Javascript 生成指定范围数值随机数
2009/01/09 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
js获取指定日期周数以及星期几的小例子
2014/06/27 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python实现抢购IPhone手机
2018/02/07 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
后勤副校长自我鉴定
2013/10/13 职场文书
销售员岗位职责范本
2014/02/03 职场文书
保密承诺书
2014/03/27 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
学籍证明模板
2014/11/21 职场文书
公司员工辞职信范文
2015/05/12 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
银行培训心得体会范文
2016/01/09 职场文书
教师反邪教心得体会
2016/01/15 职场文书
OpenCV实现反阈值二值化
2021/11/17 Java/Android