微信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 相关文章推荐
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
Aug 24 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
Dec 18 Javascript
canvas雪花效果核心代码分享
Feb 19 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
10个最优秀的Node.js MVC框架
Aug 24 Javascript
vue移动端实现红包雨效果
Jun 23 Javascript
ES6中异步对象Promise用法详解
Jul 31 Javascript
vue页面更新patch的实现示例
Mar 25 Javascript
基于vue+element实现全局loading过程详解
Jul 10 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
解析thinkphp基本配置 convention.php
2013/06/18 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
JavaScript作用域与作用域链深入解析
2013/12/06 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
js读取配置文件自写
2014/02/11 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
JS实现留言板功能
2017/06/17 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
vue实现登录拦截
2020/06/29 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
Python中规范定义命名空间的一些建议
2016/06/04 Python
Python中with及contextlib的用法详解
2017/06/08 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
python爬虫基础之urllib的使用
2020/12/31 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
应用艺术专业个人的自我评价
2014/01/03 职场文书
大学生实习证明范文(5篇)
2014/09/18 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
女儿满月酒致辞
2015/07/29 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
MySQL快速插入一亿测试数据
2021/06/23 MySQL
Java中的随机数Random
2022/03/17 Java/Android