ShareSDKAPICloud

前言

ShareSDKPlus封装了ShareSDK,是对APICloud平台的支持,为APICloud开发的App提供社交分享功能的一个组件,支持包括QQ、微信、新浪微博等多家主流社交平台,帮助开发者轻松实现社会化分享、第三方登录、关注、获得用户资料、获取好友列表等主流的功能。 当前ShareSDK版本,iOS:v4.2.5、Android:v3.5.2

集成准备

注册Mob应用

开发者使用本模块之前需要先到 Mob官网申请开发者账号,并在账号内填写相应信息创建自己的 APP,从而获取AppKey和AppSecret。 详情参考: 获取AppKey和AppSecret

创建APICloud应用

APICloud提供了两种创建应用的方式,方便开发者在云端或APICloud Studio中创建应用。

云端创建应用:

注册并登录APICloud系统:https://www.apicloud.com/console 点击左上⻆“创建应用”, 如图:选择“Native”,填写“名称”及“说明”,应用创建完成。

APICloud Studio中创建应用:

下载并安装开发工具:APICloud Studio 2 登录APICloud Studio,没有账号点击“注册账号”,已经注册,用之前注册的APICloud账号登录APICloud Studio

这两端可以相互同步信息

同步本地应用到云端资源库,开发者在APICloud Studio创建的应用会和云端资源库建立连接。项目代码改动后,可以使用APICloud Studio的代码提交功能提交代码到云端资源库。

打开APICloud云端,加入我们的ShareSDK模块和comlib模块

image-20200825182321712

模块配置

使用此模块之前建议先配置 config.xml 文件,配置完毕,需通过云端编译生效,配置方法如下:

iOS配置

配置config.xml文件

下面是配置各个平台URL Scheme例子,开发者自行删减。下面的值都是ShareSDK Demo测试使用,开发者可自行根据自己的AppKey修改配置

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-xml"><feature <span style="color:#ffc66d">name</span>="shareSDKPlus">

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="wx617c77c82218ea2c" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="wb568898243" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="tencent100371282" />
        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="QQ05FB8B52" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="ap2017062107540437" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="fb1412473428822331" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="line3rdp.com.mob.product.ShareSDK" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="yx0d9a9f9088ea44d78680f3274da1765f" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="pdk4987008320438021391" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="kakao9c17eb03317e0e627ec95a400f5785fb" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="dingoabcwtuab76wy0kyzo" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="pocketapp1234" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="vk5312801" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="twitterkit-viOnkeLpHBKs6KXV7MPpeGyzE" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="rm226427com.mob.product.ShareSDK" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="ak1412473428822331" />

        <param <span style="color:#ffc66d">name</span>="urlScheme" <span style="color:#cc7832">value</span>="aw9ivykfjvi4hpwo" />

</feature>
</code></span></span>

字段描述:

URL Scheme:用于实现应用间跳转及数据交换,跳转到第三方应用客户端进行分享或授权后,从第三方应用客户端平台跳回到当前应用。URL Scheme的value值根据第三方平台规则设置。可以配置多个URL Scheme。

各个平台配置规范:

微信:微信开放平台获取的AppId,URL Scheme为wx+AppId 如: wx617c77c82218ea2c

QQ:需要配置两个URL Scheme,一个是tencent + AppId; 一个是 QQ + AppId转换成的十六进制(如果AppId转换的16进制数不够8位则在前面补0,如转换的是:5FB8B52,则最终填入为QQ05FB8B52 注意:转换后的字母要大写),这里的字母一定要是大写

新浪微博:新浪微博开放平台获取到的appkey,URL Scheme为wb+Appkey 如:wb568898243

Facebook:URL Scheme为fb+AppId如:fb1412473428822331

配置 key.xml 文件

需要将第三方平台(微博、QQ、微信、Twitter、Facebook等)申请的AppKey、AppSecret、redirecturi等参数配置到 key.xml 文件中。

key.xml 配置详解:

key.xml 文件需要放在 widget://res 文件目录下,格式如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-xml"><?<span style="color:#ffc66d">xml</span> version="1.0" encoding="UTF-8" ?>
<<span style="color:#cc7832">security</span>>
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_SinaWei_AppKey" <span style="color:#cc7832">value</span>="568898243" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_SinaWei_AppSecret" <span style="color:#cc7832">value</span>="38a4f8204cc784f81f9f0daaf31e02e3" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_SinaWei_RedirectUri" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_QQ_AppKey" <span style="color:#cc7832">value</span>="100371282" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_QQ_AppSecret" <span style="color:#cc7832">value</span>="aed9b0303e3ed1e27bae87c33761161d" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Wechat_AppKey" <span style="color:#cc7832">value</span>="wx617c77c82218ea2c" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Wechat_AppSecret" <span style="color:#cc7832">value</span>="c7253e5289986cf4c4c74d1ccc185fb1" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Wechat_AppUniversalLink" <span style="color:#cc7832">value</span>="https://ybpre.share2dlink.com/" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Douyin_AppKey" <span style="color:#cc7832">value</span>="aw9ivykfjvi4hpwo" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Douyin_AppSecret" <span style="color:#cc7832">value</span>="42b4caa6bda60bd49f05f06d0a4956e1" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Facebook_AppKey" <span style="color:#cc7832">value</span>="1412473428822331" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Facebook_AppSecret" <span style="color:#cc7832">value</span>="a42f4f3f867dc947b9ed6020c2e93558" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Facebook_DisplayName" <span style="color:#cc7832">value</span>="shareSDK" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Twitter_AppKey" <span style="color:#cc7832">value</span>="viOnkeLpHBKs6KXV7MPpeGyzE" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Twitter_AppSecret" <span style="color:#cc7832">value</span>="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Twitter_RedirectUri" <span style="color:#cc7832">value</span>="http://mob.com" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Instagram_AppKey" <span style="color:#cc7832">value</span>="ff68e3216b4f4f989121aa1c2962d058" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Instagram_AppSecret" <span style="color:#cc7832">value</span>="1b2e82f110264869b3505c3fe34e31a1" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Instagram_RedirectUri" <span style="color:#cc7832">value</span>="http://sharesdk.cn" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Google_AppKey" <span style="color:#cc7832">value</span>="232554794995.apps.googleusercontent.com" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Google_AppSecret" <span style="color:#cc7832">value</span>="PEdFgtrMw97aCvf0joQj7EMk" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Google_RedirectUri" <span style="color:#cc7832">value</span>="http://localhost" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Line_AuthType" <span style="color:#cc7832">value</span>="2" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_AliPaySocial_AppKey" <span style="color:#cc7832">value</span>="2017062107540437" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_MeiPai_AppKey" <span style="color:#cc7832">value</span>="1089867639" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_DingTalk_AppKey" <span style="color:#cc7832">value</span>="dingoabcwtuab76wy0kyzo" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_DouBan_AppKey" <span style="color:#cc7832">value</span>="02e2cbe5ca06de5908a863b15e149b0b" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_DouBan_AppSecret" <span style="color:#cc7832">value</span>="9f1e7b4f71304f2f" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_DouBan_RedirectUri" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_TencentWeibo_AppKey" <span style="color:#cc7832">value</span>="801307650" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_TencentWeibo_AppSecret" <span style="color:#cc7832">value</span>="ae36f4ee3946e1cbb98d6965b0b2ff5c" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_TencentWeibo_RedirectUri" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YinXiang_AppKey" <span style="color:#cc7832">value</span>="46131514-6903" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YinXiang_AppSecret" <span style="color:#cc7832">value</span>="08d7a6f3afcc888a" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YinXiang_Sandbox" <span style="color:#cc7832">value</span>="1" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouDaoNote_AppKey" <span style="color:#cc7832">value</span>="dcde25dca105bcc36884ed4534dab940" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouDaoNote_AppSecret" <span style="color:#cc7832">value</span>="d98217b4020e7f1874263795f44838fe" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouDaoNote_RedirectUri" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn/" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Mingdao_AppKey" <span style="color:#cc7832">value</span>="97230F25CA5C" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Mingdao_AppSecret" <span style="color:#cc7832">value</span>="A5DC29AF7C5A5851F28E903AE9EAC0" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Mingdao_RedirectUri" <span style="color:#cc7832">value</span>="http://mob.com" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kaixin_AppKey" <span style="color:#cc7832">value</span>="358443394194887cee81ff5890870c7c" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kaixin_AppSecret" <span style="color:#cc7832">value</span>="da32179d859c016169f66d90b6db2a23" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kaixin_RedirectUri" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn/" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Renren_AppId" <span style="color:#cc7832">value</span>="226427" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Renren_AppKey" <span style="color:#cc7832">value</span>="fc5b8aed373c4c27a05b712acba0f8c3" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Renren_AppSecret" <span style="color:#cc7832">value</span>="f29df781abdd4f49beca5a2194676ca4" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Renren_AuthType" <span style="color:#cc7832">value</span>="2" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YiXin_AppKey" <span style="color:#cc7832">value</span>="yx0d9a9f9088ea44d78680f3274da1765f" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YiXin_AppSecret" <span style="color:#cc7832">value</span>="1a5bd421ae089c3" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YiXin_RedirectUri" <span style="color:#cc7832">value</span>="https://open.yixin.im/resource/oauth2_callback.html" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kakao_AppKey" <span style="color:#cc7832">value</span>="9c17eb03317e0e627ec95a400f5785fb" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kakao_ApiKey" <span style="color:#cc7832">value</span>="802e551a5048c3172fc1dedaaf40fcf1" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Kakao_RedirectUri" <span style="color:#cc7832">value</span>="http://www.mob.com/oauth" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouTube_AppKey" <span style="color:#cc7832">value</span>="906418427202-jinnbqal1niq4s8isbg2ofsqc5ddkcgr.apps.googleusercontent.com" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouTube_AppSecret" <span style="color:#cc7832">value</span>="" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_YouTube_RedirectUri" <span style="color:#cc7832">value</span>="http://localhost" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Flickr_AppKey" <span style="color:#cc7832">value</span>="cbed81d4a1bc7417693ab7865e354717" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Flickr_AppSecret" <span style="color:#cc7832">value</span>="4c490343869091f2" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Dropbox_AppKey" <span style="color:#cc7832">value</span>="us514wslpfojbxc" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Dropbox_AppSecret" <span style="color:#cc7832">value</span>="w0nmp4os3ngo1ja" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Dropbox_RedirectUri" <span style="color:#cc7832">value</span>="http://localhost" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Evernote_AppKey" <span style="color:#cc7832">value</span>="46131514-6903" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Evernote_AppSecret" <span style="color:#cc7832">value</span>="08d7a6f3afcc888a" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Evernote_Sandbox" <span style="color:#cc7832">value</span>="1" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Pinterest_AppKey" <span style="color:#cc7832">value</span>="4987008320438021391" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Pocket_AppKey" <span style="color:#cc7832">value</span>="11496-de7c8c5eb25b2c9fcdc2b627" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Pocket_RedirectUri" <span style="color:#cc7832">value</span>="pocketapp1234" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_LinkedIn_AppKey" <span style="color:#cc7832">value</span>="46kic3zr7s4n" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_LinkedIn_AppSecret" <span style="color:#cc7832">value</span>="RWw6WRl9YJOcdWsj" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_LinkedIn_RedirectUri" <span style="color:#cc7832">value</span>="http://baidu.com" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_VKontakte_AppKey" <span style="color:#cc7832">value</span>="5312801" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_VKontakte_AppSecret" <span style="color:#cc7832">value</span>="ZHG2wGymmNUCRLG2r6CY" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_VKontakte_AuthType" <span style="color:#cc7832">value</span>="2" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Instapaper_AppKey" <span style="color:#cc7832">value</span>="4rDJORmcOcSAZL1YpqGHRI605xUvrLbOhkJ07yO0wWrYrc61FA" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Instapaper_AppSecret" <span style="color:#cc7832">value</span>="GNr1GespOQbrm8nvd7rlUsyRQsIo3boIbMguAl9gfpdL0aKZWe" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Tumblr_AppKey" <span style="color:#cc7832">value</span>="2QUXqO9fcgGdtGG1FcvML6ZunIQzAEL8xY6hIaxdJnDti2DYwM" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Tumblr_AppSecret" <span style="color:#cc7832">value</span>="3Rt0sPFj7u2g39mEVB3IBpOzKnM3JnTtxX2bao2JKk4VV1gtNo" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Tumblr_RedirectUri" <span style="color:#cc7832">value</span>="http://sharesdk.cn" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_SMS_CountryList" <span style="color:#cc7832">value</span>="0" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_CMCC_AppId" <span style="color:#cc7832">value</span>="300011862498" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_CMCC_AppKey" <span style="color:#cc7832">value</span>="38D9CA1CC280C5F207E2C343745D4A4B" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_CMCC_DisplayUI" <span style="color:#cc7832">value</span>="1" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Telegram_BotToken" <span style="color:#cc7832">value</span>="646009290:AAGSonNPZqyjl0MUER8MdM8pwSPritFVNgI" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Telegram_BotDomain" <span style="color:#cc7832">value</span>="http://www.mob.com" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Reddit_AppKey" <span style="color:#cc7832">value</span>="ObzXn50T7Cg0Xw" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_Reddit_RedirectUri" <span style="color:#cc7832">value</span>="https://www.mob.com/reddit_callback" />

    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_ESurfing_AppKey" <span style="color:#cc7832">value</span>="8148612606" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_ESurfing_AppSecret" <span style="color:#cc7832">value</span>="mCltrhUqwshFa86egDTs0491ibaAulKA" />
    <item <span style="color:#ffc66d">name</span>="shareSDKPlus_ESurfing_AppName" <span style="color:#cc7832">value</span>="shareSDK" />
</<span style="color:#cc7832">security</span>>
</code></span></span>

以上可能出现的全部各个平台的配置,根据开发者需要删减,另外部分特殊平台需要在info.plist文件中配置

字段描述:

shareSDKPlus_SinaWei_AppKey: 从新浪微博开放平台获取的AppKey.

shareSDKPlus_SinaWei_AppSecret: 从新浪微博开放平台获取的AppSecret.

shareSDKPlus_SinaWei_RedirectUri: 从新浪微博开放平台创建应用时自定义填写的回调地址url

其他平台也都是各自到开放平台注册应用获取

配置info.plist文件

该文件含MOB平台MOBAppKey和MOBAppSecret、特殊平台AppKey配置、白名单配置,将info.plist放在widget://res文件目录下,文件内容:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-xml"><span style="color:#bbb529"><?xml version="1.0" encoding="UTF-8"?></span>
<span style="color:#bbb529"><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"></span>
<<span style="color:#e8bf6a">plist</span> version=<span style="color:#6a8759">"1.0"</span>>
<<span style="color:#e8bf6a">dict</span>>

    <<span style="color:#e8bf6a">key</span>>MOBAppKey</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>moba6b6c6d6</<span style="color:#e8bf6a">string</span>>
    <<span style="color:#e8bf6a">key</span>>MOBAppSecret</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>b89d2427a3bc7ad1aea1e1e8c1d36bf3</<span style="color:#e8bf6a">string</span>>

    <<span style="color:#e8bf6a">key</span>>AccountKitClientToken</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>c30c08723aa8c48fbd5e01d1c3103891</<span style="color:#e8bf6a">string</span>>
    <<span style="color:#e8bf6a">key</span>>FacebookAppID</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>1412473428822331</<span style="color:#e8bf6a">string</span>>
    <<span style="color:#e8bf6a">key</span>>KAKAO_APP_KEY</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>9c17eb03317e0e627ec95a400f5785fb</<span style="color:#e8bf6a">string</span>>
    <<span style="color:#e8bf6a">key</span>>LineSDKConfig</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">dict</span>>
        <<span style="color:#e8bf6a">key</span>>ChannelID</<span style="color:#e8bf6a">key</span>>
        <<span style="color:#e8bf6a">string</span>>1521201864</<span style="color:#e8bf6a">string</span>>
    </<span style="color:#e8bf6a">dict</span>>

    <<span style="color:#e8bf6a">key</span>>LSApplicationQueriesSchemes</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">array</span>>
        <<span style="color:#e8bf6a">string</span>>kakaotalk-5.9.7</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>pinterestsdk.v1</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>vkauthorize</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>storylink</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>kakaolink</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>storykompassauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>kakaokompassauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixinfav</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixinoauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixinopenapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixin</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>pocket-oauth-v1</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>dingtalk-open</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>dingtalk</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>alipayshare</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>alipay</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>whatsapp</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>tim</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timopensdkfriend</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timwpa</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timgamebindinggroup</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timapiwallet</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timOpensdkSSoLogin</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>wtlogintim</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timopensdkgrouptribeshare</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timopensdkapiV4</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timgamebindinggroup</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timopensdkdataline</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>wtlogintimV1</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>timapiV1</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixinoauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>yixin</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>sinaweibohd</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>sinaweibo</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>weibosdk2.5</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>weibosdk</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>weibo</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>sinaweibosso</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>weixin</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>youtube</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mpsharesdk11</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mpsharesdk10</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mtmv</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqopensdkapiV4</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqzone</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqwpa</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>wtloginmqq2</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqzoneopensdkapiV2</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqzoneopensdkapi19</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqzoneopensdkapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqzoneopensdk</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqopensdkapiV3</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqopensdkapiV2</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqq</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqOpensdkSSoLogin</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>mqqapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>lineauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>line</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>instagram</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fbauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fb-messenger-platform-20150714</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fb-messenger</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fbauth2</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fbapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>fbapi20130214</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>twitterauth</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>tg</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>telegram</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>renrenapi</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>renrenios</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>renreniphone</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>douyinsharesdk</<span style="color:#e8bf6a">string</span>>
        <<span style="color:#e8bf6a">string</span>>douyinopensdk</<span style="color:#e8bf6a">string</span>>
    </<span style="color:#e8bf6a">array</span>>

    <<span style="color:#e8bf6a">key</span>>NSPhotoLibraryAddUsageDescription</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>写入相册视频</<span style="color:#e8bf6a">string</span>>
    <<span style="color:#e8bf6a">key</span>>NSPhotoLibraryUsageDescription</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">string</span>>从手机相册中选择</<span style="color:#e8bf6a">string</span>>

    <<span style="color:#e8bf6a">key</span>>NSAppTransportSecurity</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">dict</span>>
        <<span style="color:#e8bf6a">key</span>>NSAllowsArbitraryLoads</<span style="color:#e8bf6a">key</span>>
        <<span style="color:#e8bf6a">true</span>/>
    </<span style="color:#e8bf6a">dict</span>>

</<span style="color:#e8bf6a">dict</span>>
</code></span></span>

MOBAppKey、MOBAppSecret:(必须配置)从MOB平台创建应用后,申请的AppKey和AppSecret.

KAKAO_APP_KEY: 从kaKao平台申请的 AppKey,若iOS平台需要使用kaKaoTalk、kaKaoStory平台进行分享,必须添加此字段

LineSDKConfig: line平台配置

LSApplicationQueriesSchemes: 白名单配置,用于判断是否安装第三方客户端及跳转到第三方客户端, 注意用到哪个就配置哪个,无用的可以不配置

注意:

配置白名单,也可以在配置config.xml文件中,配置方法参考配置可被检测的URL Scheme。配置内容参考 快速集成 配置ATS(App Transport Security),在info.plist文件中,APP可以使用http协议访问。配置方法参考iOS修改Info.plist之配置ATS.

配置UZApp.entitlements文件

将UZApp.entitlements放在widget://res文件目录下,并配置universal Link,文件内容如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#bbb529"><?xml version="1.0" encoding="UTF-8"?></span>
<span style="color:#bbb529"><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"></span>
<<span style="color:#e8bf6a">plist</span> version=<span style="color:#6a8759">"1.0"</span>>
<<span style="color:#e8bf6a">dict</span>>
    <<span style="color:#e8bf6a">key</span>>com.apple.developer.applesignin</<span style="color:#e8bf6a">key</span>>
        <<span style="color:#e8bf6a">array</span>>
            <<span style="color:#e8bf6a">string</span>>Default</<span style="color:#e8bf6a">string</span>>
        </<span style="color:#e8bf6a">array</span>>
    <<span style="color:#e8bf6a">key</span>>com.apple.developer.associated-domains</<span style="color:#e8bf6a">key</span>>
    <<span style="color:#e8bf6a">array</span>>
        <<span style="color:#e8bf6a">string</span>>applinks:ybpre.share2dlink.com</<span style="color:#e8bf6a">string</span>>
    </<span style="color:#e8bf6a">array</span>>
</<span style="color:#e8bf6a">dict</span>>
</<span style="color:#e8bf6a">plist</span>>
</code></span></span>

Android配置

注意:ShareSDK的ApiCloud插件1.3.1及之后的版本,做了分包处理,集成方式如下: (老版本集成文档)

平台配置

Android配置第三方平台的AppKey和Mob-AppKey/Mob-AppSecret等信息遵循APICloud的惯例是在config.xml中配置。 在name为”ShareSDKPlus”的标签内,配置标签来填充AppKey等属性的值。 下面是配置各个平台AppKey/AppSecret/RedirectUrl的例子,实际的使用中需要开发者填写自己在第三方网站申请的值(只需要改变值,不要改变AppKey/AppSecret/RedirectUrl的名称,否则将会读取不到)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-xml"><feature <span style="color:#ffc66d">name</span>="shareSDKPlus">
     <param <span style="color:#ffc66d">name</span>="Mob-AppKey" <span style="color:#cc7832">value</span>="moba0b0c0d0" />
     <param <span style="color:#ffc66d">name</span>="Mob-AppSecret" <span style="color:#cc7832">value</span>="5713f0d88511f9f4cf100cade0610a34" />

     <param <span style="color:#ffc66d">name</span>="WeChat-AppId" <span style="color:#cc7832">value</span>="wx4868b35061f87885" />
     <param <span style="color:#ffc66d">name</span>="WeChat-AppSecret" <span style="color:#cc7832">value</span>="64020361b8ec4c99936c0e3999a9f249" />
     <param <span style="color:#ffc66d">name</span>="WeChat-WithShareTicket" <span style="color:#cc7832">value</span>="true" />
     <param <span style="color:#ffc66d">name</span>="WeChat-BypassApproval" <span style="color:#cc7832">value</span>="false" />

     <param <span style="color:#ffc66d">name</span>="SinaWeibo-AppKey" <span style="color:#cc7832">value</span>="568898243" />
     <param <span style="color:#ffc66d">name</span>="SinaWeibo-AppSecret" <span style="color:#cc7832">value</span>="38a4f8204cc784f81f9f0daaf31e02e3" />
     <param <span style="color:#ffc66d">name</span>="SinaWeibo-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />
     <param <span style="color:#ffc66d">name</span>="SinaWeibo-RedirectUrl" <span style="color:#cc7832">value</span>="http://www.sharesdk.cn" />

     <param <span style="color:#ffc66d">name</span>="QQ-AppId" <span style="color:#cc7832">value</span>="100371282" />
     <param <span style="color:#ffc66d">name</span>="QQ-AppKey" <span style="color:#cc7832">value</span>="aed9b0303e3ed1e27bae87c33761161d" />
     <param <span style="color:#ffc66d">name</span>="QQ-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />
     <param <span style="color:#ffc66d">name</span>="QQ-BypassApproval" <span style="color:#cc7832">value</span>="false" />

     <param <span style="color:#ffc66d">name</span>="Google-ClientID" <span style="color:#cc7832">value</span>="232554794995.apps.googleusercontent.com" />
     <param <span style="color:#ffc66d">name</span>="Google-RedirectUri" <span style="color:#cc7832">value</span>="http://localhost" />
     <param <span style="color:#ffc66d">name</span>="Google-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />

     <param <span style="color:#ffc66d">name</span>="Facebook-ConsumerKey" <span style="color:#cc7832">value</span>="1412473428822331" />
     <param <span style="color:#ffc66d">name</span>="Facebook-ConsumerSecret" <span style="color:#cc7832">value</span>="a42f4f3f867dc947b9ed6020c2e93558" />
     <param <span style="color:#ffc66d">name</span>="Facebook-RedirectUrl" <span style="color:#cc7832">value</span>="https://mob.com" />
     <param <span style="color:#ffc66d">name</span>="Facebook-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />

     <param <span style="color:#ffc66d">name</span>="Twitter-ConsumerKey" <span style="color:#cc7832">value</span>="viOnkeLpHBKs6KXV7MPpeGyzE" />
     <param <span style="color:#ffc66d">name</span>="Twitter-ConsumerSecret" <span style="color:#cc7832">value</span>="NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey" />
     <param <span style="color:#ffc66d">name</span>="Twitter-CallbackUrl" <span style="color:#cc7832">value</span>="http://mob.com" />
     <param <span style="color:#ffc66d">name</span>="Twitter-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />
     <param <span style="color:#ffc66d">name</span>="Twitter-BypassApproval" <span style="color:#cc7832">value</span>="true" />

     <param <span style="color:#ffc66d">name</span>="Instagram-ClientId" <span style="color:#cc7832">value</span>="ff68e3216b4f4f989121aa1c2962d058" />
     <param <span style="color:#ffc66d">name</span>="Instagram-ClientSecret" <span style="color:#cc7832">value</span>="1b2e82f110264869b3505c3fe34e31a1" />
     <param <span style="color:#ffc66d">name</span>="Instagram-RedirectUri" <span style="color:#cc7832">value</span>="http://sharesdk.cn" />
     <param <span style="color:#ffc66d">name</span>="Instagram-ShareByAppClient" <span style="color:#cc7832">value</span>="true" />

     <param <span style="color:#ffc66d">name</span>="Alipay-AppId" <span style="color:#cc7832">value</span>="2015072400185895" />

     <param <span style="color:#ffc66d">name</span>="Kakao-AppKey" <span style="color:#cc7832">value</span>="48d3f524e4a636b08d81b3ceb50f1003" />

     <param <span style="color:#ffc66d">name</span>="Telegram-AppKey" <span style="color:#cc7832">value</span>="782826033" />
     <param <span style="color:#ffc66d">name</span>="Telegram-RedirectUrl" <span style="color:#cc7832">value</span>="http://www.mob.com" />

     <param <span style="color:#ffc66d">name</span>="Line-ChannelID" <span style="color:#cc7832">value</span>="1639219273" />
     <param <span style="color:#ffc66d">name</span>="Line-ChannelSecret" <span style="color:#cc7832">value</span>="58faad55ffce8bf8f63b59fe6fb702ae" />
     <param <span style="color:#ffc66d">name</span>="Line-RedirectUri" <span style="color:#cc7832">value</span>="https://www.mob.com/" />

     <param <span style="color:#ffc66d">name</span>="Dingding-AppId" <span style="color:#cc7832">value</span>="dingoanxyrpiscaovl4qlw" />
     <param <span style="color:#ffc66d">name</span>="Dingding-BypassApproval" <span style="color:#cc7832">value</span>="false" />
     <param <span style="color:#ffc66d">name</span>="Dingding-RedirectUrl" <span style="color:#cc7832">value</span>="http://localhost" />

  </feature>
</code></span></span>

Android端支持平台

注意:shareSDKPlus模块在ApiCloud的模块库中添加,shareSDKPlus需要使用的其他第三方平台在gitHub上下载

模块名备注
shareSDKPlusShareSDK核心库,必须引入
ShareSDKPlusQZoneqq空间模块
ShareSDKPlusInstagramInstagram模块
ShareSDKPlusWhatsAppWhatsApp模块
ShareSDKPlusGooglePlusGooglePlus模块(因APICloud方不支持AndroidX,该平台不可用)
ShareSDKPlusFacebookFacebook模块
ShareSDKPlusTwitterTwitter模块
ShareSDKPlusQQQQ模块,使用qq空间也必须引入此模块。(注意事项见附录)
ShareSDKPlusSinaWeibo新浪微博模块
ShareSDKPlusWechat微信模块
ShareSDKPlusAlipay支付宝模块
ShareSDKPlusKakaoKakao模块(暂不可用)
ShareSDKPlusLineLine模块
ShareSDKPlusDingding钉钉模块

API接口

接口参数释义
init初始各平台信息化接口,需在使用SDK之前调用(Android Only)
authorizeplatform:对应平台的数值,平台数值对应表详见script/ShareSDK.js授权
cancelAuthorizeplatform:对应平台的数值,平台数值对应表详见script/ShareSDK.js取消授权
getUserInfoplatform:对应平台的数值,平台数值对应表详见script/ShareSDK.js获取用户信息
shareContentshareParams:分享参数platform:对应平台的数值,平台数值对应表详见script/ShareSDK.jsshareType:分享类型分享
oneKeyShareContentshareParams:分享参数hiddenPlatformList:要隐藏的分享平台一键分享

注意:

  • 使用QQ空间时,QQ模块也必须引入,即ShareSDKPlusQZone和ShareSDKPlusQQ模块都需要引入。
  • 使用QQ模块时,需要修改ShareSDKPlusQQ.zip内容。

步骤为:

  • 解压ShareSDKPlusQQ.zip
  • 修改解压出的ShareSDKPlusQQ/res文件夹下的AndroidManifest.xml文件中${QQ-AppKey}内容,把${QQ-AppKey}替换为自己应用的QQAPPkey

修改后的内容为:其中1234567则为自己QQ的appkey

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code><span style="color:#bbb529"><?xml version="1.0" encoding="utf-8"?></span>
<<span style="color:#e8bf6a">manifest</span> xmlns:android=<span style="color:#6a8759">"http://schemas.android.com/apk/res/android"</span>
    package=<span style="color:#6a8759">"com.mob.sharesdkplusqq"</span>>
    <<span style="color:#e8bf6a">application</span>>

        <<span style="color:#e8bf6a">activity</span>
            android:name=<span style="color:#6a8759">"cn.sharesdk.tencent.qq.ReceiveActivity"</span>
            android:launchMode=<span style="color:#6a8759">"singleTask"</span>
            android:noHistory=<span style="color:#6a8759">"true"</span>>
            <<span style="color:#e8bf6a">intent-filter</span>>
                <<span style="color:#e8bf6a">action</span> android:name=<span style="color:#6a8759">"android.intent.action.VIEW"</span> />

                <<span style="color:#e8bf6a">category</span> android:name=<span style="color:#6a8759">"android.intent.category.DEFAULT"</span> />
                <<span style="color:#e8bf6a">category</span> android:name=<span style="color:#6a8759">"android.intent.category.BROWSABLE"</span> />

                <<span style="color:#e8bf6a">data</span> android:scheme=<span style="color:#6a8759">"tencent1234567"</span> />
            </<span style="color:#e8bf6a">intent-filter</span>>
        </<span style="color:#e8bf6a">activity</span>>
    </<span style="color:#e8bf6a">application</span>>
</<span style="color:#e8bf6a">manifest</span>>
</code></span></span>
  • 修改完成,压缩ShareSDKPlusQQ文件夹,压缩方式选择标准。

模块接口

首先添加一个ShareSDK.js,放在widget://script文件目录下,内容如下:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:grey">/**
 * 常量:分享类型,分享/授权平台,分享/授权结果状态
 */</span>
function ShareSDK()
{
    <span style="color:grey">/**
     * JSON字符串转换为对象
     * @param string        JSON字符串
     * @returns {Object}    转换后对象
     */</span>

    JsonStringToObject = function (string)
    {
        <span style="color:#cc7832">try</span>
        {
            <span style="color:#cc7832">return</span> eval(<span style="color:#6a8759">"("</span> + string + <span style="color:#6a8759">")"</span>);
        }
        <span style="color:#cc7832">catch</span> (err)
        {
            <span style="color:#cc7832">return</span> <span style="color:#6897bb">null</span>;
        }
    };

    <span style="color:#cc7832">this</span>.JsonStringToObject = function (string)
    {
        <span style="color:#cc7832">return</span> JsonStringToObject(string);
    }

    <span style="color:grey">/**
     * 对象转JSON字符串
     * @param obj           对象
     * @returns {string}    JSON字符串
     */</span>
    ObjectToJsonString = function (obj)
    {
        var S = [];
        var J = <span style="color:#6897bb">null</span>;

        var type = Object.prototype.toString.apply(obj);

        <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object Array]'</span>)
        {
            <span style="color:#cc7832">for</span> (var i = <span style="color:#6897bb">0</span>; i < obj.length; i++)
            {
                S.push(ObjectToJsonString(obj[i]));
            }
            J = <span style="color:#6a8759">'['</span> + S.join(<span style="color:#6a8759">','</span>) + <span style="color:#6a8759">']'</span>;
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object Date]'</span>)
        {
            J = <span style="color:#6a8759">"new Date("</span> + obj.getTime() + <span style="color:#6a8759">")"</span>;
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object RegExp]'</span>
            || type === <span style="color:#6a8759">'[object Function]'</span>)
        {
            J = obj.toString();
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object Object]'</span>)
        {
            <span style="color:#cc7832">for</span> (var key <span style="color:#cc7832">in</span> obj)
            {
                var value = ObjectToJsonString(obj[key]);
                <span style="color:#cc7832">if</span> (value != <span style="color:#6897bb">null</span>)
                {
                    S.push(<span style="color:#6a8759">'"'</span> + key + <span style="color:#6a8759">'":'</span> + value);
                }
            }
            J = <span style="color:#6a8759">'{'</span> + S.join(<span style="color:#6a8759">','</span>) + <span style="color:#6a8759">'}'</span>;
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object String]'</span>)
        {
            J = <span style="color:#6a8759">'"'</span> + obj.replace(/\\/g, <span style="color:#6a8759">'\\\\'</span>).replace(/"/g, <span style="color:#6a8759">'\\"'</span>).replace(/\n/g, <span style="color:#6a8759">''</span>) + <span style="color:#6a8759">'"'</span>;
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object Number]'</span>)
        {
            J = obj;
        }
        <span style="color:#cc7832">else</span> <span style="color:#cc7832">if</span> (type === <span style="color:#6a8759">'[object Boolean]'</span>)
        {
            J = obj;
        }

        <span style="color:#cc7832">return</span> J;
    };

    <span style="color:#cc7832">this</span>.ObjectToJsonString = function (obj)
    {
        <span style="color:#cc7832">return</span> ObjectToJsonString(obj);
    }

    <span style="color:grey">/**
     * 平台类型
     * @type {object}
     */</span>
    <span style="color:#cc7832">this</span>.PlatformID = {
        <span style="color:#6a8759">Unknown :</span> <span style="color:#6897bb">0</span>,
        <span style="color:#6a8759">SinaWeibo :</span> <span style="color:#6897bb">1</span>,            <span style="color:grey">//Sina Weibo   </span>
        <span style="color:#6a8759">TencentWeibo :</span> <span style="color:#6897bb">2</span>,        <span style="color:grey">//Tencent Weibo  </span>
        <span style="color:#6a8759">DouBan :</span> <span style="color:#6897bb">5</span>,                <span style="color:grey">//Dou Ban   </span>
        <span style="color:#6a8759">QZone :</span> <span style="color:#6897bb">6</span>,                 <span style="color:grey">//QZone   </span>
        <span style="color:#6a8759">Renren :</span> <span style="color:#6897bb">7</span>,                <span style="color:grey">//Ren Ren   </span>
        <span style="color:#6a8759">Kaixin :</span> <span style="color:#6897bb">8</span>,                <span style="color:grey">//Kai Xin  </span>
        <span style="color:#6a8759">Pengyou :</span> <span style="color:#6897bb">9</span>,            <span style="color:grey">//Friends  </span>
        <span style="color:#6a8759">Facebook :</span> <span style="color:#6897bb">10</span>,            <span style="color:grey">//Facebook   </span>
        <span style="color:#6a8759">Twitter :</span> <span style="color:#6897bb">11</span>,            <span style="color:grey">//Twitter   </span>
        <span style="color:#6a8759">Evernote :</span> <span style="color:#6897bb">12</span>,            <span style="color:grey">//Evernote  </span>
        <span style="color:#6a8759">Foursquare :</span> <span style="color:#6897bb">13</span>,        <span style="color:grey">//Foursquare  </span>
        <span style="color:#6a8759">GooglePlus :</span> <span style="color:#6897bb">14</span>,        <span style="color:grey">//Google+   </span>
        <span style="color:#6a8759">Instagram :</span> <span style="color:#6897bb">15</span>,            <span style="color:grey">//Instagram  </span>
        <span style="color:#6a8759">LinkedIn :</span> <span style="color:#6897bb">16</span>,            <span style="color:grey">//LinkedIn   </span>
        <span style="color:#6a8759">Tumblr :</span> <span style="color:#6897bb">17</span>,            <span style="color:grey">//Tumblr   </span>
        <span style="color:#6a8759">Mail :</span> <span style="color:#6897bb">18</span>,                 <span style="color:grey">//Mail  </span>
        <span style="color:#6a8759">SMS :</span> <span style="color:#6897bb">19</span>,                <span style="color:grey">//SMS   </span>
        <span style="color:#6a8759">Print :</span> <span style="color:#6897bb">20</span>,             <span style="color:grey">//Print   </span>
        <span style="color:#6a8759">Copy :</span> <span style="color:#6897bb">21</span>,                <span style="color:grey">//Copy   </span>
        <span style="color:#6a8759">WeChat :</span> <span style="color:#6897bb">22</span>,            <span style="color:grey">//WeChat Friends  </span>
        <span style="color:#6a8759">WeChatMoments :</span> <span style="color:#6897bb">23</span>,        <span style="color:grey">//WeChat Timeline   </span>
        <span style="color:#6a8759">QQ :</span> <span style="color:#6897bb">24</span>,                <span style="color:grey">//QQ  </span>
        <span style="color:#6a8759">Instapaper :</span> <span style="color:#6897bb">25</span>,        <span style="color:grey">//Instapaper   </span>
        <span style="color:#6a8759">Pocket :</span> <span style="color:#6897bb">26</span>,            <span style="color:grey">//Pocket   </span>
        <span style="color:#6a8759">YouDaoNote :</span> <span style="color:#6897bb">27</span>,         <span style="color:grey">//You Dao Note</span>
        <span style="color:#6a8759">Pinterest :</span> <span style="color:#6897bb">30</span>,         <span style="color:grey">//Pinterest  </span>
        <span style="color:#6a8759">Flickr :</span> <span style="color:#6897bb">34</span>,            <span style="color:grey">//Flickr  </span>
        <span style="color:#6a8759">Dropbox :</span> <span style="color:#6897bb">35</span>,            <span style="color:grey">//Dropbox  </span>
        <span style="color:#6a8759">VKontakte :</span> <span style="color:#6897bb">36</span>,            <span style="color:grey">//VKontakte   </span>
        <span style="color:#6a8759">WeChatFavorites :</span> <span style="color:#6897bb">37</span>,    <span style="color:grey">//WeChat Favorited  </span>
        <span style="color:#6a8759">YiXinSession :</span> <span style="color:#6897bb">38</span>,         <span style="color:grey">//YiXin Session   </span>
        <span style="color:#6a8759">YiXinTimeline :</span> <span style="color:#6897bb">39</span>,        <span style="color:grey">//YiXin Timeline   </span>
        <span style="color:#6a8759">YiXinFav :</span> <span style="color:#6897bb">40</span>,            <span style="color:grey">//YiXin Favorited  </span>
        <span style="color:#6a8759">MingDao :</span> <span style="color:#6897bb">41</span>,              <span style="color:grey">//明道</span>
        <span style="color:#6a8759">Line :</span> <span style="color:#6897bb">42</span>,                 <span style="color:grey">//Line</span>
        <span style="color:#6a8759">WhatsApp :</span> <span style="color:#6897bb">43</span>,             <span style="color:grey">//Whats App</span>
        <span style="color:#6a8759">KakaoTalk :</span> <span style="color:#6897bb">44</span>,         <span style="color:grey">//KakaoTalk</span>
        <span style="color:#6a8759">KakaoStory :</span> <span style="color:#6897bb">45</span>,        <span style="color:grey">//KakaoStory </span>
        <span style="color:#6a8759">FacebookMessenger :</span> <span style="color:#6897bb">46</span>, <span style="color:grey">//FacebookMessenger</span>
        <span style="color:#6a8759">Bluetooth :</span> <span style="color:#6897bb">48</span>,         <span style="color:grey">//Bluetooth</span>
        <span style="color:#6a8759">Alipay :</span> <span style="color:#6897bb">50</span>,            <span style="color:grey">//Alipay</span>
<span style="color:#6897bb">        AliPaySocialTimeline:</span><span style="color:#6897bb">51</span>,<span style="color:grey">//AliPaySocial Timeline</span>
<span style="color:#6897bb">        DingTalk:</span><span style="color:#6897bb">52</span>,            <span style="color:grey">//DingTalk</span>
<span style="color:#6897bb">        YouTube:</span><span style="color:#6897bb">53</span>,             <span style="color:grey">//youtube</span>
<span style="color:#6897bb">        MeiPai:</span><span style="color:#6897bb">54</span>,              <span style="color:grey">//美拍</span>
        <span style="color:#6a8759">Cmcc :</span> <span style="color:#6897bb">55</span>,              <span style="color:grey">//中国移动</span>
        <span style="color:#6a8759">Reddit :</span> <span style="color:#6897bb">56</span>,            <span style="color:grey">//Reddit</span>
        <span style="color:#6a8759">ESurfing :</span> <span style="color:#6897bb">57</span>,          <span style="color:grey">//天翼</span>
        <span style="color:#6a8759">Douyin :</span> <span style="color:#6897bb">58</span>,            <span style="color:grey">//抖音</span>
        <span style="color:#6a8759">FacebookAccount :</span> <span style="color:#6897bb">58</span>,   <span style="color:grey">//FacebookAccount</span>
        <span style="color:#6a8759">KakaoPlatform :</span> <span style="color:#6897bb">995</span>,    <span style="color:grey">//Kakao Series</span>
        <span style="color:#6a8759">EvernotePlatform :</span> <span style="color:#6897bb">996</span>, <span style="color:grey">//Evernote Series</span>
        <span style="color:#6a8759">WechatPlatform :</span> <span style="color:#6897bb">997</span>,   <span style="color:grey">//Wechat Series</span>
        <span style="color:#6a8759">QQPlatform :</span> <span style="color:#6897bb">998</span>,        <span style="color:grey">//QQ Series</span>
        <span style="color:#6a8759">Any :</span> <span style="color:#6897bb">999</span>                 <span style="color:grey">//Any Platform  </span>
    };

    <span style="color:grey">/**
     * 回复状态
     * @type {object}
     */</span>
    <span style="color:#cc7832">this</span>.ResponseState = {
        <span style="color:#6a8759">Begin :</span> <span style="color:#6897bb">0</span>,              <span style="color:grey">//开始</span>
<span style="color:#6897bb">        Success:</span> <span style="color:#6897bb">1</span>,             <span style="color:grey">//成功</span>
        <span style="color:#6a8759">Fail :</span> <span style="color:#6897bb">2</span>,               <span style="color:grey">//失败</span>
        <span style="color:#6a8759">Cancel :</span> <span style="color:#6897bb">3</span>             <span style="color:grey">//取消</span>
    };

    <span style="color:grey">/**
     * 内容分享类型
     * @type {object}
     */</span>
    <span style="color:#cc7832">this</span>.ContentType = {
        <span style="color:#6a8759">Auto :</span> <span style="color:#6897bb">0</span>,
        <span style="color:#6a8759">Text :</span> <span style="color:#6897bb">1</span>,
        <span style="color:#6a8759">Image :</span> <span style="color:#6897bb">2</span>,
        <span style="color:#6a8759">WebPage :</span> <span style="color:#6897bb">4</span>,
        <span style="color:#6a8759">Music :</span> <span style="color:#6897bb">5</span>,
        <span style="color:#6a8759">Video :</span> <span style="color:#6897bb">6</span>,
        <span style="color:#6a8759">App :</span> <span style="color:#6897bb">7</span>,
        <span style="color:#6a8759">File :</span> <span style="color:#6897bb">8</span>,
        <span style="color:#6a8759">Emoji :</span> <span style="color:#6897bb">9</span>
    };

};

var $sharesdk = <span style="color:#cc7832">new</span> ShareSDK();
</code></span></span>

添加ShareSDK.js目的主要是提供平台号,回调状态等一些常量

引入模块

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">var shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'shareSDKPlus'</span>);
</code></span></span>

authorize(授权)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">authorize({params}, callback(<span style="color:#e8bf6a">ret</span>, err))
</code></span></span>

params

platform: 类型:数字 描述:授权平台号,是新浪微博授权还是微信授权或者其他平台授权,由此参数决定

callback(ret, err)

ret: 类型:JSON 对象 内部字段:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">{
<span style="color:#6897bb">    state:</span> <span style="color:#6897bb">1</span>      <span style="color:grey">//数字类型,1:成功 2:失败 3:取消</span>
<span style="color:#6897bb">    data:</span>{}        <span style="color:grey">//json对象 授权后获取的用户信息</span>
<span style="color:#6897bb">    error:</span>{      <span style="color:grey">// state = 2时</span>
<span style="color:#6897bb">        error_code:</span>,    <span style="color:grey">//错误码</span>
<span style="color:#6897bb">        error_msg:</span>   <span style="color:grey">//错误信息</span>
    }
}
</code></span></span>

示例代码

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:#cc7832">var</span> shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'ShareSDKPlus'</span>);
shareApi.authorize({
    <span style="color:#6a8759">"platform"</span>: $sharesdk.PlatformID.SinaWeibo
},<span style="color:#cc7832">function</span>(ret, err){
    <span style="color:#cc7832">var</span> state = ret.state;
    <span style="color:#cc7832">switch</span>(state)
    {
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Success:<span style="color:grey">//1</span>
            api.toast({
                msg: <span style="color:#6a8759">"授权成功"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Fail:<span style="color:grey">//2</span>
            api.toast({
                msg: <span style="color:#6a8759">"授权失败"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Cancel:<span style="color:grey">//3</span>
            api.toast({
                msg: <span style="color:#6a8759">"取消授权"</span>,
                location: <span style="color:#6a8759">'middle'</span>
        });
        <span style="color:#cc7832">break</span>;
       <span style="color:#cc7832">default</span>:
    }   
});
</code></span></span>

可用性 iOS系统,Android系统 可提供的1.0.0及更高版本

cancelAuthorize(取消授权)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">cancelAuthorize({params}, callback(ret, err))
</code></span></span>

params

platform: 类型:数字 描述:授权平台号

callback(ret, err)

ret: 类型:JSON 对象 内部字段:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">{
    <span style="color:#cc7832">state</span>: <span style="color:#6897bb">1</span>      //数字类型,<span style="color:#6897bb">1</span>:成功 <span style="color:#6897bb">2</span>:失败 <span style="color:#6897bb">3</span>:取消
    error:{      // <span style="color:#cc7832">state</span> = <span style="color:#6897bb">2</span>时
        error_code:,    //错误码
        error_msg:   //错误信息
    }
}
</code></span></span>

示例代码

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:#cc7832">var</span> shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'ShareSDKPlus'</span>);
shareApi.cancelAuthorize({
    <span style="color:#6a8759">"platform"</span>: $sharesdk.PlatformID.SinaWeibo
},<span style="color:#cc7832">function</span>(ret, err){
    <span style="color:#cc7832">var</span> state = ret.state;
    <span style="color:#cc7832">switch</span>(state)
    {
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Success:<span style="color:grey">//1</span>
            api.toast({
                msg: <span style="color:#6a8759">"成功"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Fail:<span style="color:grey">//2</span>
            api.toast({
                msg: <span style="color:#6a8759">"失败"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Cancel:<span style="color:grey">//3</span>
            api.toast({
                msg: <span style="color:#6a8759">"授权"</span>,
                location: <span style="color:#6a8759">'middle'</span>
        });
        <span style="color:#cc7832">break</span>;
       <span style="color:#cc7832">default</span>:
    }   
});
</code></span></span>

可用性 iOS系统,Android系统 可提供的1.0.0及更高版本

getUserInfo(获取用户信息)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">getUserInfo({params}, callback(ret, err))
</code></span></span>

params

platform: 类型:数字 描述:平台号,是获取新浪微博还是微信或者其他平台用户信息,由此参数决定

callback(ret, err)

ret: 类型:JSON 对象 内部字段:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">{
<span style="color:#6897bb">    state:</span> <span style="color:#6897bb">1</span>      <span style="color:grey">//数字类型,1:成功 2:失败 3:取消</span>
<span style="color:#6897bb">    data:</span>{}        <span style="color:grey">//json对象 获取的用户信息</span>
<span style="color:#6897bb">    error:</span>{      <span style="color:grey">// state = 2时</span>
<span style="color:#6897bb">        error_code:</span>,    <span style="color:grey">//错误码</span>
<span style="color:#6897bb">        error_msg:</span>   <span style="color:grey">//错误信息</span>
    }
}
</code></span></span>

示例代码

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:#cc7832">var</span> shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'ShareSDKPlus'</span>);
shareApi.getUserInfo({
    <span style="color:#6a8759">"platform"</span>: $sharesdk.PlatformID.SinaWeibo
},<span style="color:#cc7832">function</span>(ret, err){
    <span style="color:#cc7832">var</span> state = ret.state;
    <span style="color:#cc7832">switch</span>(state)
    {
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Success:<span style="color:grey">//1</span>
            api.toast({
                msg: <span style="color:#6a8759">"成功"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Fail:<span style="color:grey">//2</span>
            api.toast({
                msg: <span style="color:#6a8759">"失败"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Cancel:<span style="color:grey">//3</span>
            api.toast({
                msg: <span style="color:#6a8759">"取消"</span>,
                location: <span style="color:#6a8759">'middle'</span>
        });
        <span style="color:#cc7832">break</span>;
       <span style="color:#cc7832">default</span>:
    }   
});
</code></span></span>

shareContent(直接分享)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">shareContent({params}, callback(ret, err))
</code></span></span>

params

platform: 类型:数字 描述:平台号,分享到指定平台

shareParams

类型:json 描述:分享内容 text:文本 imageUrl:图片地址 title:标题

callback(ret, err)

ret: 类型:JSON 对象 内部字段:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">{
<span style="color:#6897bb">    state:</span> <span style="color:#6897bb">1</span>      <span style="color:grey">//数字类型,1:成功 2:失败 3:取消</span>
<span style="color:#6897bb">    data:</span>{}        <span style="color:grey">//</span>
<span style="color:#6897bb">    error:</span>{      <span style="color:grey">// state = 2时</span>
<span style="color:#6897bb">        error_code:</span>,    <span style="color:grey">//错误码</span>
<span style="color:#6897bb">        error_msg:</span>   <span style="color:grey">//错误信息</span>
    }
}
</code></span></span>

示例代码

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:#cc7832">var</span> shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'ShareSDKPlus'</span>);

<span style="color:#cc7832">var</span> shareParams =
    {
        <span style="color:#6a8759">"text"</span> : <span style="color:#6a8759">"测试的文字"</span>,
        <span style="color:#6a8759">"imageUrl"</span> : <span style="color:#6a8759">"https://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg"</span>,
        <span style="color:#6a8759">"title"</span> : <span style="color:#6a8759">"测试的标题"</span>,
        <span style="color:#6a8759">"titleUrl"</span> : <span style="color:#6a8759">"http://www.mob.com"</span>,
        <span style="color:#6a8759">"description"</span> : <span style="color:#6a8759">"测试的描述"</span>,
        <span style="color:#6a8759">"site"</span> : <span style="color:#6a8759">"ShareSDK"</span>,
        <span style="color:#6a8759">"siteUrl"</span> : <span style="color:#6a8759">"http://www.mob.com"</span>,
    };

shareApi.shareContent({
    <span style="color:#6a8759">"platform"</span>: $sharesdk.PlatformID.SinaWeibo,
    <span style="color:#6a8759">"shareParams"</span>: shareParams
    <span style="color:#6a8759">"shareType"</span> : $sharesdk.ContentType.Auto
},<span style="color:#cc7832">function</span>(ret, err){
    <span style="color:#cc7832">var</span> state = ret.state;
    <span style="color:#cc7832">switch</span>(state)
    {
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Success:<span style="color:grey">//1</span>
            api.toast({
                msg: <span style="color:#6a8759">"分享成功"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Fail:<span style="color:grey">//2</span>
            api.toast({
                msg: <span style="color:#6a8759">"分享失败"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Cancel:<span style="color:grey">//3</span>
            api.toast({
                msg: <span style="color:#6a8759">"取消分享"</span>,
                location: <span style="color:#6a8759">'middle'</span>
        });
        <span style="color:#cc7832">break</span>;
       <span style="color:#cc7832">default</span>:
    }   
});
</code></span></span>

可用性

iOS系统,Android系统 可提供的1.0.0及更高版本

oneKeyShareContent(一键分享/菜单分享)

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">oneKeyShareContent({params}, callback(ret, err))
</code></span></span>

params

platforms:

platform: 类型:数组 描述:可分享的平台列表,为null为全平台

shareParams:

类型:json 描述:分享内容 text:文本 imageUrl:图片地址 title:标题

callback(ret, err)

ret: 类型:JSON 对象 内部字段:

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript">{
<span style="color:#6897bb">    state:</span> <span style="color:#6897bb">1</span>      <span style="color:grey">//数字类型,1:成功 2:失败 3:取消</span>
<span style="color:#6897bb">    data:</span>{}        <span style="color:grey">//</span>
<span style="color:#6897bb">    error:</span>{      <span style="color:grey">// state = 2时</span>
<span style="color:#6897bb">        error_code:</span>,    <span style="color:grey">//错误码</span>
<span style="color:#6897bb">        error_msg:</span>   <span style="color:grey">//错误信息</span>
    }
}
</code></span></span>

示例代码

<span style="background-color:#42475a"><span style="color:#a9b7c6"><code class="language-javascript"><span style="color:#cc7832">var</span> shareApi = api.<span style="color:#cc7832">require</span>(<span style="color:#6a8759">'ShareSDKPlus'</span>);

<span style="color:#cc7832">var</span> shareParams =
    {
        <span style="color:#6a8759">"text"</span> : <span style="color:#6a8759">"测试的文字"</span>,
        <span style="color:#6a8759">"imageUrl"</span> : <span style="color:#6a8759">"https://download.sdk.mob.com/206/4f8/dfc9ea27dd8bc4abfec865c38d/800_450_156.2.jpg"</span>,
        <span style="color:#6a8759">"title"</span> : <span style="color:#6a8759">"测试的标题"</span>,
        <span style="color:#6a8759">"titleUrl"</span> : <span style="color:#6a8759">"http://www.mob.com"</span>,
        <span style="color:#6a8759">"description"</span> : <span style="color:#6a8759">"测试的描述"</span>,
        <span style="color:#6a8759">"site"</span> : <span style="color:#6a8759">"ShareSDK"</span>,
        <span style="color:#6a8759">"siteUrl"</span> : <span style="color:#6a8759">"http://www.mob.com"</span>,
    };

<span style="color:#cc7832">var</span> platforms =
    [
        $sharesdk.PlatformID.SinaWeibo,
        $sharesdk.PlatformID.WeChat
    ];

shareApi.oneKeyShareContent({
    <span style="color:#6a8759">"platforms"</span>: platforms, <span style="color:grey">//为null时,显示全部可分享的平台(排除当前环境不可分享平台)</span>
    <span style="color:#6a8759">"shareParams"</span>: shareParams
},<span style="color:#cc7832">function</span>(ret, err){
    <span style="color:#cc7832">var</span> state = ret.state;
    <span style="color:#cc7832">switch</span>(state)
    {
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Success:<span style="color:grey">//1</span>
            api.toast({
                msg: <span style="color:#6a8759">"分享成功"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Fail:<span style="color:grey">//2</span>
            api.toast({
                msg: <span style="color:#6a8759">"分享失败"</span>,
                location: <span style="color:#6a8759">'middle'</span>
            });
        <span style="color:#cc7832">break</span>;
        <span style="color:#cc7832">case</span> $sharesdk.ResponseState.Cancel:<span style="color:grey">//3</span>
            api.toast({
                msg: <span style="color:#6a8759">"取消分享"</span>,
                location: <span style="color:#6a8759">'middle'</span>
        });
        <span style="color:#cc7832">break</span>;
       <span style="color:#cc7832">default</span>:
    }   
});
</code></span></span>

可用性 iOS系统,Android系统 可提供的1.0.0及更高版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MobTech袤博科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值