微信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的一些特性和用法整理小结
Jan 13 Javascript
JS原型对象通俗"唱法"
Dec 27 Javascript
在JS中如何调用JSP中的变量
Jan 22 Javascript
JQuery中clone方法复制节点
May 18 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
Aug 10 Javascript
Javascript的无new构建实例详解
May 15 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
Dec 08 Javascript
jquery实现下拉框多选方法介绍
Jan 03 Javascript
Vue代码分割懒加载的实现方法
Nov 23 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
15个顶级开源JavaScript框架和库
Oct 10 Javascript
深入浅析Vue.js 中的 v-for 列表渲染指令
Nov 19 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 5.0 Pear安装方法
2006/12/06 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
AngularJS 仿微信图片手势缩放的实例
2017/09/28 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python3 max()函数基础用法
2019/02/19 Python
python队列原理及实现方法示例
2019/11/27 Python
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
关于VPN
2012/06/10 面试题
产品质量承诺书
2014/03/27 职场文书
2014年宣传思想工作总结
2014/12/10 职场文书
2015年防汛工作总结
2015/05/15 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书