微信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 相关文章推荐
Extjs407 getValue()和getRawValue()区别介绍
May 21 Javascript
图标线性回归斜着移动到指定的位置
Aug 16 Javascript
jquery easyui使用心得
Jul 07 Javascript
Javascript节点关系实例分析
May 15 Javascript
深入浅析JS的数组遍历方法(推荐)
Jun 15 Javascript
VC调用javascript的几种方法(推荐)
Aug 09 Javascript
详谈js中window.location.search的用法和作用
Feb 13 Javascript
Angular 4环境准备与Angular cli创建项目详解
May 27 Javascript
node.js之基础加密算法模块crypto详解
Sep 11 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
如何利用React实现图片识别App
Feb 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
php上传图片类及用法示例
2016/05/11 PHP
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
老生常谈python中的重载
2018/11/11 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
学Python 3的理由和必要性
2019/11/19 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
python中如何写类
2020/06/29 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
交通安全标语
2014/06/06 职场文书
收费员岗位职责
2015/02/14 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
HTML5简单实现添加背景音乐的几种方法
2021/05/12 HTML / CSS