微信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面向对象扩展库代码分享
Mar 27 Javascript
javascript中[]和{}对象使用介绍
Mar 20 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
Apr 15 Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
jquery仅用6行代码实现滑动门效果
Sep 07 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
基于canvas粒子系统的构建详解
Aug 31 Javascript
基于js中this和event 的区别(详解)
Oct 24 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
JavaScript Math对象和调试程序的方法分析
May 13 Javascript
vue实现简单计算商品价格
Sep 14 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 VS ASP
2006/10/09 PHP
如何在PHP中进行身份认证
2006/10/09 PHP
PHP图片上传代码
2013/11/04 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
Django验证码的生成与使用示例
2017/05/20 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
python实现广度优先搜索过程解析
2019/10/19 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
超级实用的8个Python列表技巧
2020/08/24 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
审核会计岗位职责
2013/11/08 职场文书
绿色学校实施方案
2014/03/31 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL