社交分享接口(socialshare)

1. 接口描述

社交分享接口允许小程序调用客户端社交分享功能,可以通过微信好友、微信朋友圈、微博、QQ好友(5.6版本)以及短信等方式分享内容。用户分享时的界面如下图所示。

支付流程


2. 调用命令

2.2 命令格式

http://cmbls/socialshare?id=XXX&channel=XXX&type=XXX&title=XXX&text=XXX&&picurl=XXX&url=XXX

注意:url 一定要传以 http:// https:// 开头的完整的链接,不能省略,否则通过微博分享会看不到链接。url不能为空并且长度不能超过255,否则无法通过微博分享。

2.1 字段定义


字段
说明
id功能标识
channel

分享方式
weixinsession:微信会话分享
weixintimeline:微信朋友圈分享
weibo:微博分享
message:短信分享
qqsession:QQ会话分享(5.6支持)
PS:如果设置了该参数就需要网页实现对应的UI,如果没有设置客户端会显示选择界面(如上图)

如果未定义此字段或者此字段值为null,默认由客户端弹框供用户选择分享方式,defaultWithNoSMS:由客户端弹框供用户选择分享方式,但去掉了短信分享选项。

type分享的类型。目前只支持文本分享、网页分享、图片分享(只支持微信)三种方式。可能的取值:url网页分享;image图片分享;text文本分享,默认的取值。 如果未定义此字段或者此字段值为空,默认为文本分享。
title
分享内容的标题。
text
分享内容的文本。如果text字段无内容,分享文本的内容可以通过CMBLS.socialShare.getText(id)获取。
picurl缩略图的url。优先使用此字段作为缩略图数据源,如果未定义此字段或者此字段值为空,使用默认的缩略图。仅支持微信分享。
url
type取值为url时有效,表示网页分享的url。
imageData(6.1.0版本开始支持)

type取值为image时有效,表示图片数据参数(不能为空),该参数为对图片二进制字节数据进行Base64 + Urlencode(utf-8)转换后的字符串。仅支持微信分享。

PS:必须做Base64 encode 和UrlEncode处理,否则iOS会提示“图片数据不能为空”。如果做了此处理,但iOS系统相册内还是没有图片,则可能是Base64 encode的方法问题,联系客户端开发协助

messageAddress短信分享目标的手机号(可选,iPhone6.3.0支持,android6.1.0版本支持)


3. 回调函数

社交分享接口的回调函数如下所示:

3.1 成功回调函数

CMBLS.socialShare.successCallback(id,message)

成功时,message的值为

<Data>
   <stateCode>0</stateCode>
   <description>Success </description>
</Data>


3.2 失败回调函数

CMBLS.socialShare.failCallback(id,message)

失败时,message的值为

<Data>
  <stateCode>非0状态码</stateCode>
  <description>描述信息</description>
</Data>


4. 调用示例

5. 备注