第三方平台分享插件(微信、QQ、新浪微博)

该插件支持微信分享(微信好友、朋友圈),QQ好友分享,新浪微博分享

该插件是基于ShareSDK的基础上集成微信、QQ、新浪微博的分享功能,所以需要在以上4个平台上分别注册应用信息,获取对应的appid等配置信息,进行插件的初始化。

官网链接

ShareSDK的官网(Mob平台):http://www.mob.com/

微信开放平台:https://open.weixin.qq.com/

腾讯开放平台:http://open.qq.com/

新浪微博开放平台:http://open.weibo.com/

注册教程:

Mob官网注册应用得到appkey,Mob平台用户后台使用指南:http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

微信开放平台应用得到appkey教程:

https://www.jianshu.com/p/01d549014f0a

腾讯开放平台应用得到appkid教程:

https://jingyan.baidu.com/article/d2b1d10292eabc5c7e37d4b5.html

新浪微博开放平台得到应用appkey教程:

https://jingyan.baidu.com/article/375c8e19b8024125f2a22913.html

 

注意微信、QQ、新浪微博等申请获取应用的appkey的信息,均需要通过审核后方可使用。

初始化插件:

1、该插件配置参数,需要输入对应分享平台的Key和Secret作为参数。参数对应如下表


注意:微信、QQ、新浪微博等申请获取应用的appkey的信息,均需要通过审核后方可使用WEIBO_REDIRECT_URL微博回调地址需要应平台上配置的一致;

集成该插件后,有2个全局变量,sharesdkShareSDK

全局变量sharesdk   提供方法:分享功能、是否安装客户端

判断是否安装客户端:

sharesdk.isInstallClient.promise(ClientType).then(callback);

参数:

ClientType  客户端类型  

ShareSDK.ClientType.SinaWeibo

ShareSDK.ClientType.QQ

ShareSDK.ClientType.Wechat

Callback 回调方法  该方法返回布尔值,得到是否安装该客户端

例子:

/** 是否安装微博客户端 **/
function checkWeiboClient() {
    sharesdk.isInstallClient.promise(ShareSDK.ClientType.SinaWeibo).then(function(isInstall){
        if(isInstall) {
            alert("新浪微博客户端已安装");
        }else {
            alert("未安装新浪微博客户端");
        }
    });
}


分享功能:

sharesdk.share(platformType, shareType, shareInfo, success, fail);

参数:

platformType  分享平台类型

QQ好友分享     ShareSDK.PlatformType.QQFriend

QQ空间分享     ShareSDK.PlatformType.QZone

拷贝        ShareSDK.PlatformType.Copy

微信好友分享    ShareSDK.PlatformType.WechatSession

微信朋友圈分享   ShareSDK.PlatformType.WechatTimeline

新浪微博分享    ShareSDK.PlatformType.SinaWeibo

shareType   分享类型

文本 ShareSDK.ShareType.Text

图片 ShareSDK.ShareType.Image

网页 ShareSDK.ShareType.WebPage

shareInfo  分享信息对象

属性 icon:图片,

   image:图片

title:分享内容的标题,

text:分享内容,

url:分享的链接地址

success  分享成功的回调方法

fail    分享失败的回调方法返回一个信息对象msgmsgjson对象。通过msg.state判断是取消分享还是分享失败。如果是分享失败。msg.error获取失败信息。

       返回一个信息对象,属性 state

开始ShareSDK.ResponseState.Begin   0

成功ShareSDK.ResponseState.Success 1

失败ShareSDK.ResponseState.Fail     2

取消ShareSDK.ResponseState.Cancel   :3

例子:

/** 拷贝连接 */
function  copyLink() {
    var text='https://www.lbuilder.com';
    var shareInfo = {text:text};
    sharesdk.share(ShareSDK.PlatformType.Copy, ShareSDK.ShareType.Text, shareInfo, success, fail);
}

/** 分享纯文本到微信好友 */
function shareText() {
    var text='这是一条测试文本~~~~';
    var shareInfo = {text:text};
    sharesdk.share(ShareSDK.PlatformType.WechatSession, ShareSDK.ShareType.Text, shareInfo, success, fail);
} /** 分享图片到QQ好友,只能分享一张*/ function shareImage() { var image = 'https://raw.githubusercontent.com/zhaolin0801/cordova-sharesdk-demo/master/www/img/Wechat-QRcode.jpeg'; var shareInfo = {image:image}; sharesdk.share(ShareSDK.PlatformType.QQFriend, ShareSDK.ShareType.Image, shareInfo, success, fail);
} /** 分享网页到微博 */ function shareWebPage() { var icon = 'https://raw.githubusercontent.com/zhaolin0801/cordova-sharesdk-demo/master/www/img/Wechat-QRcode.jpeg'; var title = '这是网页的标题'; var text = '这是网页的内容,android未签名只能分享单张图片到朋友圈'; var url = 'http://carhot.cn/articles/1'; var shareInfo = {icon:icon, title:title, text:text, url:url}; sharesdk.share(ShareSDK.PlatformType.SinaWeibo, ShareSDK.ShareType.WebPage, shareInfo, success, fail);
} /****回调方法 *****/ function success() { alert('sucessed!'); } function fail(msg) { if(msg.state == ShareSDK.ResponseState.Cancel) { alert('cancel!'); }else { alert('failed!: ' + msg.error); } }


全局变量ShareSDK:提供ClientType,PlatformType,ShareType,ResponseState常量。如下表:

客户端类型(用于判断是否安装了相应的客户端)

说明

ShareSDK.ClientType.SinaWeibo

新浪微博客户端

ShareSDK.ClientType.Wechat

微信客户端

ShareSDK.ClientType.QQ

QQ客户端

 

平台类型(分享到指定平台)

说明

ShareSDK.PlatformType.QQFriend

QQ好友

ShareSDK.PlatformType.QZone(暂不支持)

QQ空间

ShareSDK.PlatformType.Copy

拷贝

ShareSDK.PlatformType.WechatSession

微信好友

ShareSDK.PlatformType.WechatTimeline

微信朋友圈

ShareSDK.PlatformType.SinaWeibo

新浪微博

 

分享内容类型

说明

ShareSDK.ShareType.Text

文本类型

ShareSDK.ShareType.Image

图片类型

ShareSDK.ShareType.WebPage

网页类型

 

分享响应状态

说明

ShareSDK.ResponseState.Begin

开始分享

ShareSDK.ResponseState.Success

分享成功

ShareSDK.ResponseState.Fail

分享失败

ShareSDK.ResponseState.Cancel

取消分享


注意:

1. Android微信分享需要使用审核通过后的签名文件打包才能分享。

2. 目前仅支持android和ios平台的微信好友、微信朋友前、微博、QQ好友分享以及拷贝链接功能。分享类型包括:纯文本,单张图片,网页。