微信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 相关文章推荐
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
JS获取当前日期和时间的简单实例
Nov 19 Javascript
使用JQuery库提供的扩展功能实现自定义方法
Sep 09 Javascript
JSON相关知识汇总
Jul 03 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
Jan 26 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
JavaScript函数节流的两种写法
Apr 07 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
Oct 25 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
Nov 28 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
一个简单计数器的源代码
2006/10/09 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP静态成员变量
2017/02/14 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
AngularJS语法详解
2015/01/23 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
vue实现信息管理系统
2020/05/30 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
全面了解python字符串和字典
2016/07/07 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
django2.2安装错误最全的解决方案(小结)
2019/09/24 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
Python如何合并多个字典或映射
2020/07/24 Python
python Gabor滤波器讲解
2020/10/26 Python
HTML5 Notification(桌面提醒)功能使用实例
2014/03/17 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
Notino芬兰:购买香水和化妆品
2019/04/15 全球购物
KTV的创业计划书范文
2014/02/02 职场文书
应聘会计求职信
2014/06/11 职场文书
材料化学专业求职信
2014/07/15 职场文书
尊师重教演讲稿
2014/09/04 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
劳动模范获奖感言
2015/07/31 职场文书