微信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 相关文章推荐
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
Sep 01 Javascript
理解javascript中DOM事件
Dec 25 Javascript
三分钟带你玩转jQuery.noConflict()
Feb 15 Javascript
微信小程序 教程之注册页面
Oct 17 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
Jan 17 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
详解vue项目接入微信JSSDK的坑
Dec 14 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
Smarty安装配置方法
2008/04/10 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
Yii框架安装简明教程
2020/05/15 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
js输出列表实现代码
2010/09/12 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
分享一个asp.net pager分页控件
2012/01/04 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
Python网站验证码识别
2016/01/25 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
简单谈谈python基本数据类型
2018/09/26 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
Django model update的多种用法介绍
2020/03/28 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
Python实现石头剪刀布游戏
2021/01/20 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
2014年青年教师工作总结
2014/12/17 职场文书
论文致谢词范文
2015/05/14 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
诚信高考倡议书
2019/06/24 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers