share
Share模块管理客户端的社交分享功能,提供调用终端社交软件的分享能力。通过plus.share可获取社交分享管理对象。
方法:
- getServices: 获取分享服务
- sendWithSystem: 使用系统组件发送分享
对象:
- ShareService: 分享服务对象
- ShareServerIdentity: 分享服务标识
- ShareMessage: JSON对象,分享消息对象
- GeoPosition: JSON对象,用户位置信息
- ShareMessageExtra: JSON对象,保存分享消息扩展信息
- Authorize: 分享授权控件对象
回调方法:
- ServicesSuccessCallback: 获取分享服务成功回调
- AuthorizeSuccessCallback: 分享授权认证成功回调
- ShareSuccessCallback: 分享操作成功回调
- ShareErrorCallback: 分享操作失败回调
权限:
permissions
{ // ... "permissions":{ // ... "Share": { "description": "分享" } } }
ShareService
分享服务对象
interface plus.share.ShareService { // Attributes attribute DOMString id; attribute DOMString description; attribute Boolean authenticated; attribute DOMString accessToken; attribute Boolean nativeClient; // Methods function void authorize( successCallback, errorCallback ); function void forbid(); function void send( message ); }
说明:
ShareService对象用于表示分享服务,在JS中为对象,用于向系统请求分享操作。
属性:
- id: 分享服务标识
- description: 分享服务描述
- authenticated: 是否授权认证
- accessToken: 授权认证信息
- nativeClient: 是否存在对应的分享客户端
方法:
ShareServerIdentity
分享服务标识
常量:
- "sinaweibo": (DOMString
类型
)新浪微博
- "tencentweibo": (DOMString
类型
)腾讯微博
- "weixin": (DOMString
类型
)微信
ShareMessage
JSON对象,分享消息对象
interface plus.share.ShareMessage { attribute String content; attribute String[] thumbs; attribute String[] pictures; attribute String href; attribute String title; attribute JSON extra; attribute GEOPosition geo; attribute ShareMessageExtra extra; attribute String interface; }
说明:
ShareMessage对象用于表示分享消息内容,在JS中为JSON对象,用于向系统发送分享信息操作。
属性:
- content: (String
类型
)分享消息的文字内容
- pictures: (Array[
String
]
类型
)分享消息的图片
分享消息中包含的图片路径,仅支持本地路径。 若分享平台仅支持提交一张图片,传入多张图片则仅提交第一张图片。 如果不能同时支持其它内容信息,优先级顺序为:pictures>content。
- thumbs: (Array[
Stromg
]
类型
)分享消息的缩略图
分享消息中包含的缩略图路径; 若分享平台仅支持提交一张图片,传入多张图片则仅提交第一张图片; 如果分享平台的信息不支持缩略图,若没有设置消息的图片(pictures)则使用缩略图,否则忽略其属性值。 注意:图片有大小限制,推荐图片小于20Kb。
- href: (String
类型
)分享独立的链接
分享独立链接地址,仅支持网络地址(以http://或https://开头)。 如果不能同时支持其它内容信息,优先级顺序为:href>pictures>content。
- title: (String
类型
)分享消息的标题
目前仅微信分享独立链接消息时支持。
- geo: (GeoPosition
类型
)分享消息中包含的用户地理信息数据
- extra: (ShareMessageExtra
类型
)分享消息扩展参数
- interface: (String
类型
)分享消息的模式
可取值: "auto" - 自动选择,如果已经安装微博客户端则采用编辑界面进行分享,否则采用无界面分享; "slient" - 静默分享,采用无界面模式进行分享; "editable" - 进入编辑界面,用户确认分享内容后发送,如果当前未安装微博客户端则触发错误回调。 默认值为"auto"。 (仅新浪微博分享时生效)
GeoPosition
JSON对象,用户位置信息
interface plus.share.GeoPosition { attribute Number latitude; attribute Number longitude; }
说明:
GeoPosition对象用于表示用户分享消息时的位置信息。用于标识分享操作时用户的位置信息。
属性:
- latitude: (Number
类型
)用户位置的纬度坐标信息
- longitude: (Number
类型
)用户位置的经度坐标信息
ShareMessageExtra
JSON对象,保存分享消息扩展信息
interface plus.share.ShareMessageExtra { attribute String scene; }
说明:
ShareMessageExtra对象用于保存各分享平台扩展的参数,用于自定义分享功能。
属性:
- scene: (String
类型
)微信分享场景,仅微信分享平台有效
可取值: "WXSceneSession"分享到微信的“我的好友”; "WXSceneTimeline"分享到微信的“朋友圈”中; "WXSceneFavorite"分享到微信的“我的收藏”中。 默认值为"WXSceneSession"。
Authorize
分享授权控件对象
interface plus.share.Authorize { // Methods function void load( id ); function void setVisible( visible ); // Events function void onloaded(); function void onauthenticated(); function void onerror(); }
说明:
Authorize对象表示分享控件对象,用于在窗口中显示分享控件,使用此对象可自定义分享授权界面。
构造:
- Authorize(id,display): 创建分享授权控件对象
方法:
- load: 加载分享授权页面
- setVisible: 设置分享授权控件是否可见
事件:
- onloaded: 分享控件加载完成事件
- onauthenticated: 分享授权认证成功事件
- onerror: 分享授权认证失败事件
ServicesSuccessCallback
获取分享服务成功回调
void ServicesSuccessCallback( services ) { // Get share services success code }
说明:
当获取分享服务列表成功时的回调函数,用于返回终端支持的分享服务列表。
参数:
- services:
(
Array[
ShareService
]
)
必选 数组,运行环境支持的分享服务列表
运行环境支持的分享服务列表数组,可通过services.length获取分享服务列表的数目。
返回值:
void : 无AuthorizeSuccessCallback
分享授权认证成功回调
void AuthorizeSuccessCallback(services){ // Authorize success code }
说明:
分享服务授权认证操作成功时调用。
参数:
- service:
(
ShareService
)
必选 授权认证操作的分享服务对象
返回值:
void : 无ShareSuccessCallback
分享操作成功回调
void ShareSuccessCallback () { // Share success code }
说明:
分享操作成功回调函数,当分享操作成功时调用。
参数:
无
返回值:
void : 无ShareErrorCallback
分享操作失败回调
void ShareErrorCallback ( error ) { // Error var code = error.code; // 错误编码 var message = error.message; // 错误描述信息 }
说明:
当分享操作失败时的回调函数,用于返回分享相关操作失败的错误信息。
参数:
- error:
(
DOMException
)
必选 分享操作失败错误信息
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。