Share模块管理客户端的社交分享功能,提供调用终端社交软件的分享能力。通过plus.share可获取社交分享管理对象。
分享接口支持开发者获取设备上安装的社交App环境,调用社交App进行分享操作。若当前设备安装了对应的社交App,则调用此App的分享操作界面,否则调用WAP页面进行分享。
方法:
- getServices: 获取分享服务
- sendWithSystem: 使用系统分享
对象:
- AuthOptions: JSON对象,分享授权认证参数选项
- GeoPosition: JSON对象,位置信息(将废弃)
- ShareService: 分享服务对象
- ShareServerIdentity: 分享服务标识
- ShareMessage: JSON对象,分享消息对象
- ShareMessageExtra: JSON对象,保存分享消息扩展信息
- WeixinMiniProgramOptions: JSON对象,打开微信小程序的信息
- WeixinCustomerServiceOptions: JSON对象,打开微信客服的信息
回调方法:
- ServicesSuccessCallback: 获取分享服务成功回调
- AuthorizeSuccessCallback: 分享授权认证成功回调
- ShareSuccessCallback: 分享操作成功回调
- ShareErrorCallback: 分享操作失败回调
权限:
permissions
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"Share"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"分享"</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
getServices
获取分享服务
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getServices</span><span style="color:#ffffff">(</span><span style="color:#ffffff">successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取终端支持的分享通道列表,可用于提示用户进行分享列表选择。 成功后通过successCB回调返回当前环境支持的分享服务列表,失败则通过errorCB回调返回错误信息。
参数:
- successCB: ( ServicesSuccessCallback ) 必选 获取分享服务成功回调
获取分享服务列表成功时触发,回调参数返回终端支持的分享服务列表。
- errorCB: ( ShareErrorCallback ) 可选 获取分享服务失败回调
获取分享服务列表失败时触发,回调参数返回错误信息。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 监听plusready事件 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// 获取分享服务</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getServices</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">s</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
shares </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> s</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"获取分享服务列表失败: "</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">);</span>
</code></span></span>
sendWithSystem
使用系统分享
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#ffffff">sendWithSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff">msg</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
调用系统分享组件发送分享消息,msg参数中设置分享的内容。 分享成功后通过successCB回调函数通知操作完成,失败则通过errorCB回调返回。
参数:
- msg: ( ShareMessage ) 必选 要分享的消息对象
用于设置要分享的消息内容,如文字内容,图片等信息。 仅支持type类型为"text"、"image"的消息。
- successCB: ( ShareSuccessCallback ) 必选 分享操作成功回调
调用系统分享操作成功时触发,用于返回操作成功信息。 注意:此回调并不表示分享消息已经发送成功,只表示成功请求系统发送成功。
- errorCB: ( ShareErrorCallback ) 可选 分享操作失败回调
调用系统分享操作失败时触发,用于返回操作错误信息。
返回值:
void : 无
平台支持:
- Android - ALL (支持) :
当msg参数中设置图片(msg.pictures属性)时,分享类型为"image/*",在分享时可能只会发送图片(如微信); 没有设置图片时分享类型则认为是文本"text/plain"。
注意: Android10及以上版本对文件系统访问权限有调整,可能在部分设备上无法分享应用沙盒目录中的图片,建议将图片保存到系统相册后再分享。 - iOS - ALL (支持) :
不同的分享程序对分享内容有要求,如微信分享时必需添加链接地址(msg.href),否则微信分享失败。 注:iOS8.0及以上系统触发成功回调则表示发送消息成功。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// 使用系统分享发送分享消息 </span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareSystem</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#ffffff">sendWithSystem</span><span style="color:#ffffff">({</span><span style="color:#ffffff">type</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'text'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">content</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'分享内容'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">href</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'http://www.dcloud.io/'</span><span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'分享成功'</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'分享失败:'</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
</code></span></span>
AuthOptions
JSON对象,分享授权认证参数选项
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">AuthOptions</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> appid</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> appkey</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> appsecret</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> redirect_uri</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
此对象支持的属性值由分享服务的授权认证模块定义。
属性:
- appid: (String 类型 )分享服务平台申请的appid
动态设置分享服务授权认证时需要使用的appid,仅需要此参数的分享服务(如“微信”、“QQ”)支持。 如果未设置则使用运行环境中内置的appid值(如在HBuilder中可在manifest.json的“SDK配置”项中进行设置)。
- appkey: (String 类型 )分享服务平台申请的appkey
动态设置分享服务授权认证时需要使用的appkey,仅需要此参数的分享服务(如“新浪微博”)支持。 如果未设置则使用运行环境中内置的appkey值(如在HBuilder中可在manifest.json的“SDK配置”项中进行设置)。
- appsecret: (String 类型 )分享服务平台申请的appsecret
动态设置分享服务中需要使用的appsecret,仅需要此参数的分享服务(如“微信”、“新浪微博”)支持。 如果未设置则使用运行环境中内置的appsecret值(如在HBuilder中可在manifest.json的“SDK配置”项中进行设置);当开放平台申请的appsecret值涉及到安全问题时,可在应用运行时从服务器获取,然后通过此api动态设置。
- redirect_url: (String 类型 )分享服务平台申请的redirect_url
动态设置分享服务中需要使用的redirect_url,仅需要此参数的登录授权服务(如“新浪微博登录”)支持。 如果未设置则使用运行环境中内置的redirect_url值(如在HBuilder中可在manifest.json的SDK配置项中进行设置)。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 需调用plus.share.getServices获取分享服务列表 </span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#87ceeb">// 分享操作判断是否认证,如果没有则需要授权认证</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareAction</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> s </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">[</span><span style="color:#cd5c5c">0</span><span style="color:#ffffff">];</span>
<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(!</span><span style="color:#ffffff">s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authenticated</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authorize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">functioin</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"认证完成!"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"未进行认证"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"appid"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"XXXXXX"</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
GeoPosition
JSON对象,位置信息(将废弃)
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">GeoPosition</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Number</span><span style="color:#ffffff"> latitude</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Number</span><span style="color:#ffffff"> longitude</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
GeoPosition对象保存位置信息,用于标识分享操作时用户的位置信息。 注意:目前主流App不再支持设置位置信息,将废弃。
属性:
- latitude: (Number 类型 )用户位置的纬度坐标信息
- longitude: (Number 类型 )用户位置的经度坐标信息
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">/**
* 发送分享消息
* @param {plus.share.ShareService} s
*/</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareMessage</span><span style="color:#ffffff">(</span><span style="color:#ffffff">s</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">send</span><span style="color:#ffffff">({</span><span style="color:#ffffff">content</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"Hello"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
geo</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span> <span style="color:#87ceeb">// 可以调用plus.geolocation.getCurrentPosition获取当前位置</span><span style="color:#ffffff">
latitude</span><span style="color:#ffffff">:</span> <span style="color:#cd5c5c">39.9074</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
longitude</span><span style="color:#ffffff">:</span> <span style="color:#cd5c5c">116.3975</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享成功!"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
</code></span></span>
ShareService
分享服务对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">ShareService</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Attributes</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">DOMString</span><span style="color:#ffffff"> id</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">DOMString</span><span style="color:#ffffff"> description</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> authenticated</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">DOMString</span><span style="color:#ffffff"> accessToken</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Boolean</span><span style="color:#ffffff"> nativeClient</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// Methods</span>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> authorize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">successCallback</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCallback</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> options</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> forbid</span><span style="color:#ffffff">();</span>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> send</span><span style="color:#ffffff">(</span><span style="color:#ffffff">message</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> launchMiniProgram</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> openCustomerServiceChat</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
ShareService对象用于表示分享服务,在JS中为对象,用于向系统请求分享操作。
属性:
- id: 分享服务标识
- description: 分享服务描述
- authenticated: 是否授权认证
- accessToken: 授权认证信息
- nativeClient: 是否存在对应的分享客户端
方法:
- authorize: 授权认证操作
- forbid: 取消授权认证
- send: 发送分享
- launchMiniProgram: 调用微信小程序
- openCustomerServiceChat: 打开微信客服
id
分享服务标识
说明:
ShareServerIdentity 类型 只读属性
用于表示分享服务标识: "sinaweibo" - 表示新浪微博; "weixin" - 表示微信; "qq" - 表示腾讯QQ; "tencentweibo" - 表示腾讯微博(已废弃)。
description
分享服务描述
说明:
DOMString 类型 只读属性
用于描述分享服务的信息: 如“新浪微博”、“腾讯微博”、“微信”、“QQ”。
authenticated
是否授权认证
说明:
Boolean 类型 只读属性
用于标识此分享是否已经授权认证过,true表示已完成授权认证;false表示未完成授权认证。
accessToken
授权认证信息
说明:
DOMString 类型 只读属性
仅在authenticated为true时有效,标识客户认证标识信息,用于发送分享信息。
nativeClient
是否存在对应的分享客户端
说明:
Boolean 类型 只读属性
对于某些分享服务,必须依赖相应客户端App才能实现分享操作;有些分享服务则不依赖,客户端App不存在时调用WAP页面进行分享操作。
具体情况如下:
- 微信 - 依赖微信客户端App
- QQ - 依赖QQ客户端App
- 新浪微博 - 不依赖微博客户端App
注意:提交AppStore审核时没有安装相应的客户端App可能导致无法通过审核,此时需要判断相应的客户端App是否安装,如果没有安装则不显示对应的分享入口。
authorize
授权认证操作
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> obj</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authorize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">successCallback</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCallback</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> options</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
对指定的分享服务进行授权认证操作,在授权前可通过ShareService.authenticated属性判断是否已经授权过,通常只需要对没有进行过授权认证的服务进行授权认证操作。 授权认证操作成功后通过successCB回调函数通知操作完成,操作失败则通过errorCB回调返回。
参数:
- successCallback: ( AuthorizeSuccessCallback ) 必选 分享服务授权认证成功回调
分享服务授权认证操作成功时的回调函数,用于返回分享授权操作成功信息。
- errorCallback: ( ShareErrorCallback ) 可选 分享服务授权认证失败回调
分享服务授权认证操作失败时的回调函数,用于返回错误信息。
- options: ( AuthOptions ) 可选 分享服务授权认证参数
分享服务授权认证操作使用的参数。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 获取分享服务列表 </span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#87ceeb">// 分享操作判断是否认证,如果没有则需要授权认证</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareAction</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> s </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">[</span><span style="color:#cd5c5c">0</span><span style="color:#ffffff">];</span>
<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(!</span><span style="color:#ffffff">s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authenticated</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authorize</span><span style="color:#ffffff">(</span><span style="color:#ffffff">functioin</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"认证完成!"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"未进行认证"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"appid"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"XXXXXX"</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
forbid
取消授权认证
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> obj</span><span style="color:#ffffff">.</span><span style="color:#ffffff">forbid</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
对指定的分享服务取消授权认证操作,取消授权认证后,再次分享时需重新进行授权操作。
参数:
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">=</span><span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 获取分享服务列表 </span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#87ceeb">// 取消所有分享服务的</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> cancelAuthorize</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i </span><span style="color:#f0e68c"><strong>in</strong></span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> s </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> shares</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">];</span>
<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authenticated</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">forbid</span><span style="color:#ffffff">();</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
send
发送分享
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> obj</span><span style="color:#ffffff">.</span><span style="color:#ffffff">send</span><span style="color:#ffffff">(</span><span style="color:#ffffff">msg</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
发送分享消息,分享消息的内容通过msg设置。 发送成功后通过successCB回调函数通知操作完成,发送失败则通过errorCB回调返回。若分享服务没有进行授权认证或授权认证失效则触发失败回调函数。
参数:
- msg: ( ShareMessage ) 必选 要发送的分享消息对象
用于设置要分享的消息内容,如文字内容,图片等信息。
- successCB: ( ShareSuccessCallback ) 必选 发送分享消息成功回调
发送分享消息操作成功时的回调函数,用于返回发送分享消息操作成功信息。
- errorCB: ( ShareErrorCallback ) 可选 发送分享消息失败回调
发送分享消息操作失败时的回调函数,用于返回错误信息。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">/**
* 发送分享消息
* @param {plus.share.ShareService} s
*/</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareMessage</span><span style="color:#ffffff">(</span><span style="color:#ffffff">s</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
s</span><span style="color:#ffffff">.</span><span style="color:#ffffff">send</span><span style="color:#ffffff">({</span><span style="color:#ffffff">content</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"Hello"</span><span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享成功!"</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
</code></span></span>
launchMiniProgram
调用微信小程序
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> obj</span><span style="color:#ffffff">.</span><span style="color:#ffffff">launchMiniProgram</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
在微信小程序中打开APP(使用button组件的open-type属性值设置为"launchApp")时,可通过plus.runtime.arguments获取小程序传入的参数(小程序中button组件的app-parameter属性值)。 注意:需在微信开放平台将应用关联小程序才能正常调用。
参数:
- options: ( WeixinMiniProgramOptions ) 必选 微信小程序的参数
设置要调用微信小程序的标识。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> sweixin </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 需调用plus.share.getServices获取微信分享服务对象</span>
<span style="color:#87ceeb">//...</span>
<span style="color:#87ceeb">/**
* 调用微信小程序
*/</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> launchMiniProgram</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
sweixin</span><span style="color:#ffffff">?</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">.</span><span style="color:#ffffff">launchMiniProgram</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
id</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'gh_33446d7f7a26'</span>
<span style="color:#ffffff">}):</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'当前环境不支持微信操作!'</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
openCustomerServiceChat
打开微信客服
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> obj</span><span style="color:#ffffff">.</span><span style="color:#ffffff">openCustomerServiceChat</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
切换到微信App中,打开微信客服聊天界面。 注意:需在微信开放平台开通微信客服功能。
参数:
- options: ( WeixinCustomerServiceOptions ) 必选 微信客服的参数
设置要调用微信客服的信息。
- successCB: ( ShareSuccessCallback ) 必选 打开微信客服成功回调
调用微信客服操作成功时触发,无返回数据。
- errorCB: ( ShareErrorCallback ) 可选 调用微信客服失败回调
调用微信客服操作失败时触发,返回错误信息。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> sweixin </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 需调用plus.share.getServices获取微信分享服务对象</span>
<span style="color:#87ceeb">//...</span>
<span style="color:#87ceeb">/**
* 打开微信客服
*/</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> openWeixinService</span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
sweixin</span><span style="color:#ffffff">?</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">.</span><span style="color:#ffffff">openCustomerServiceChat</span><span style="color:#ffffff">({</span><span style="color:#ffffff">
corpid</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'111112222'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">
url</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'https://www.weixin.com//'</span>
<span style="color:#ffffff">}):</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'当前环境不支持微信操作!'</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
ShareServerIdentity
分享服务标识
常量:
- "sinaweibo": (DOMString 类型 )新浪微博
- "tencentweibo": (DOMString 类型 )腾讯微博
- "weixin": (DOMString 类型 )微信
ShareMessage
JSON对象,分享消息对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">ShareMessage</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> type</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> content</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff">[]</span><span style="color:#ffffff"> thumbs</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff">[]</span><span style="color:#ffffff"> pictures</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> media</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> href</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> title</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">GEOPosition</span><span style="color:#ffffff"> geo</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">ShareMessageExtra</span><span style="color:#ffffff"> extra</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">WeixinMiniProgramOptions</span><span style="color:#ffffff"> miniProgram</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span> <span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
ShareMessage对象用于表示分享消息内容,在JS中为JSON对象,用于向系统发送分享信息操作。
属性:
- type: (String 类型 )分享消息的类型
微信分享平台,可取值:
- "web"-分享网页类型,title(必填)、content(必填)、thumbs(必填)、href(网页url,必填)属性值有效;
- "text"-分享文字类型,content(必填)属性值有效;
- "image"-分享图片类型,pictures(必填)属性值有效;
- "music"-分享音乐类型,title(必填)、content(必填)、thumbs(必填)、href(网页url,可选)、media(音乐url,必填)属性值有效;
HBuilderX3.1.0+支持href属性,href为音乐网页地址,media为音乐资源地址。 - "video"-分享视频类型,title(必填)、content(必填)、thumbs(必填)、media(视频url,必填)属性值有效;
- "miniProgram"-分享小程序类型(仅支持分享到好友),title(必填)、content(必填)、thumbs(图片小于128K,宽高比为5:4,必填)、miniProgram(小程序参数,必填)属性值有效;
新浪微博分享平台,可取值:- "web"-分享网页类型,content、href(网页url,必填),分享链接添加到内容之后;
- "text"-分享文字类型,content(必填)属性有效,可在内容中直接插入链接地址;
- "image"-分享图片类型,content(可选)、thumbs(可选)、pictures(必填)属性有效;
- "video"-分享视频类型,content(可选)、thumbs(可选)、media(本地视频文件,必填)属性有效;
QQ分享平台,可取值:- "web"-分享网页类型,title(必填)、content(必填)、thumbs(必填)、href(网页url,必填)属性值有效;
注意:HBuilderX2.9.9+版本支持。 Android平台在低版本QQ上可能不支持图片(thumbs),需更新到最新版本QQ。 - "text"-分享文字类型,href(iOS可选,Android必填)、title(必填,最长30个字符)、content(可选,最长40个字符)、pictures或thumbs(可选,优先pictures,iOS不支持)属性有效;
- "image"-分享图片类型,pictures或thumbs(必填,优先pictures)属性有效;
- "music"-分享音乐类型,title(必填,最长30个字符)、content(可选,最长40个字符)、href(网页url,必填)、media(音乐url,必填)、pictures或thumbs(可选,优先pictures)属性值有效;
- content: (String 类型 )分享消息的文字内容
- pictures: (Array[String] 类型 )分享消息的图片
分享消息中包含的图片路径,仅支持本地路径及网络路径(新浪微博暂时不支持网络路径)。 若分享平台仅支持提交一张图片,传入多张图片则仅提交第一张图片。 如果未指定type类型,优先级顺序为:pictures>content(即设置了pictures则认为分享图片类型)。
平台支持
- Android - 4.4+ (支持) :
分享到微信单张图片大小不能超过10M,分享到QQ单张图片不能超过5M。
- iOS - 9.0+ (支持)
- Android - 4.4+ (支持) :
- thumbs: (Array[String] 类型 )分享消息的缩略图
分享消息中包含的缩略图路径,支持本地路径及网络路径(新浪微博暂时不支持网络路径)。 若分享平台仅支持提交一张图片,传入多张图片则仅提交第一张图片。 如果分享平台的信息不支持缩略图,若没有设置消息的图片(pictures)则使用缩略图,否则忽略其属性值。 注意:图片有大小限制,推荐图片小于20Kb。如果使用的图片过大,会自动压缩图片大小,此时可能引起图片质量下降。
- media: (String 类型 )分享的多媒体资源
分享的多媒体资源地址,当type值为"music"、"video"时有效。 注意: 微信分享平台支持音乐、视频类型,仅支持网络地址(以http://或https://开头); QQ分享平台支持音乐类型,仅支持网络路径(以http://或https://开头); 新浪微博分享平台支持视频类型,仅支持本地文件路径。
- href: (String 类型 )分享独立的链接
分享资源地址,仅支持网络地址(以http://或https://开头)。 如果未指定type类型,优先级顺序为:href>pictures>content(即设置了href则认为分享网页类型)。
<span style="background-color:#333333"><code> <span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> sweixin </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 需调用plus.share.getServices获取微信分享服务对象</span> <span style="color:#87ceeb">//...</span> <span style="color:#87ceeb">// 分享到微信</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareWeixinMessage</span><span style="color:#ffffff">(){</span><span style="color:#ffffff"> sweixin</span><span style="color:#ffffff">.</span><span style="color:#ffffff">send</span><span style="color:#ffffff">(</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">content</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"DCloud HBuilder-做最好的HTML5开发工具"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">href</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"http://www.dcloud.io/"</span><span style="color:#ffffff">,</span><span style="color:#ffffff">extra</span><span style="color:#ffffff">:{</span><span style="color:#ffffff">scene</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">"WXSceneTimeline"</span><span style="color:#ffffff">}},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff"> alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享成功!"</span><span style="color:#ffffff">);</span> <span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff"> alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"分享失败:"</span><span style="color:#ffffff">+</span><span style="color:#ffffff">e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">);</span> <span style="color:#ffffff">});</span> <span style="color:#ffffff">}</span> </code></span>
- title: (String 类型 )分享消息的标题
仅微信分享网页、音频、视频、小程序类型时支持。
- geo: (GeoPosition 类型 )分享消息中包含位置信息(将废弃)
注意:目前主流App不再支持设置位置信息,将废弃。
- extra: (ShareMessageExtra 类型 )分享消息扩展参数
- miniProgram: (WeixinMiniProgramOptions 类型 )分享微信小程序参数
仅微信分享小程序类型时支持。
- interface: (String 类型 )分享消息的模式
可取值: "auto" - 自动选择,如果已经安装微博客户端则采用编辑界面进行分享,否则采用无界面分享; "slient" - 静默分享,采用无界面模式进行分享; "editable" - 进入编辑界面,用户确认分享内容后发送,如果当前未安装微博客户端则触发错误回调。 默认值为"auto"。 (仅新浪微博分享时生效)
ShareMessageExtra
JSON对象,保存分享消息扩展信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">ShareMessageExtra</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> scene</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
ShareMessageExtra对象用于保存各分享平台扩展的参数,用于自定义分享功能。
属性:
- scene: (String 类型 )微信分享场景,仅微信分享平台有效
可取值: "WXSceneSession"分享到微信的“我的好友”; "WXSceneTimeline"分享到微信的“朋友圈”中; "WXSceneFavorite"分享到微信的“我的收藏”中。 默认值为"WXSceneSession"。
WeixinMiniProgramOptions
JSON对象,打开微信小程序的信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">WeixinMiniProgramOptions</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> id</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> path</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">Nnumber</span><span style="color:#ffffff"> type</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
attribute webUrl</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
用于配置分享小程序的参数,如小程序标识、页面路径等。 注意:分享的小程序需要在微信开放平台关联的开发者账号下,否则会分享失败。
属性:
- id: (String 类型 )微信小程序ID
注意:是微信小程序的原始ID("g_"开头的字符串)。
- path: (String 类型 )微信小程序打开的页面路径
- type: (Number 类型 )微信小程序版本类型
可取值: 0-正式版; 1-测试版; 2-体验版。 默认值为0。
- webUrl: (String 类型 )兼容低版本的网页链接
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> sweixin </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// 需调用plus.share.getServices获取微信分享服务对象</span>
<span style="color:#87ceeb">//...</span>
<span style="color:#87ceeb">// 分享小程序</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> shareMiniProgram</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(!</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">nativeUI</span><span style="color:#ffffff">.</span><span style="color:#ffffff">alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'当前环境不支持微信分享操作!'</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> msg</span><span style="color:#ffffff">={</span><span style="color:#ffffff">type</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'miniProgram'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">title</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'分享小程序标题'</span><span style="color:#ffffff">,</span><span style="color:#ffffff">thumbs</span><span style="color:#ffffff">:[</span><span style="color:#ffa0a0">'_www/mp.png'</span><span style="color:#ffffff">]};</span><span style="color:#ffffff">
msg</span><span style="color:#ffffff">.</span><span style="color:#ffffff">content </span><span style="color:#ffffff">=</span> <span style="color:#ffa0a0">'分享小程序描述内容。'</span><span style="color:#ffffff">;</span><span style="color:#ffffff">
msg</span><span style="color:#ffffff">.</span><span style="color:#ffffff">miniProgram</span><span style="color:#ffffff">={</span><span style="color:#ffffff">id</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'g_XXXXXXX'</span><span style="color:#ffffff">,</span> <span style="color:#87ceeb">// 小程序的原始标识</span><span style="color:#ffffff">
webUrl</span><span style="color:#ffffff">:</span><span style="color:#ffa0a0">'http://www.dcloud.io/'</span><span style="color:#ffffff">};</span>
<span style="color:#87ceeb">// 发送分享</span>
<span style="color:#f0e68c"><strong>if</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authenticated</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
doShare</span><span style="color:#ffffff">(</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> msg</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span><span style="color:#f0e68c"><strong>else</strong></span><span style="color:#ffffff">{</span><span style="color:#ffffff">
sweixin</span><span style="color:#ffffff">.</span><span style="color:#ffffff">authorize</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(){</span><span style="color:#ffffff">
doShare</span><span style="color:#ffffff">(</span><span style="color:#ffffff">sweixin</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> msg</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'认证授权失败:'</span><span style="color:#ffffff">+</span><span style="color:#ffffff">JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">e</span><span style="color:#ffffff">));</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
WeixinCustomerServiceOptions
JSON对象,打开微信客服的信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>interface</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">share</span><span style="color:#ffffff">.</span><span style="color:#98fb98">WeixinCustomerServiceOptions</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> corpid
attribute </span><span style="color:#98fb98">String</span><span style="color:#ffffff"> url</span><span style="color:#ffffff">;</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
用于配置微信客服的参数,如客服标识、服务地址等。
属性:
- corpid: (String 类型 )微信客服ID
注意:是微信小程序的原始ID("g_"开头的字符串)。
- url: (String 类型 )微信客服的页面路径
ServicesSuccessCallback
获取分享服务成功回调
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span> <span style="color:#98fb98">ServicesSuccessCallback</span><span style="color:#ffffff">(</span><span style="color:#ffffff">services</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Get share services success code</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
当获取分享服务列表成功时的回调函数,用于返回终端支持的分享服务列表。
参数:
- services: ( Array[ShareService] ) 必选 数组,运行环境支持的分享服务列表
运行环境支持的分享服务列表数组,可通过services.length获取分享服务列表的数目。
返回值:
void : 无
AuthorizeSuccessCallback
分享授权认证成功回调
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span> <span style="color:#98fb98">AuthorizeSuccessCallback</span><span style="color:#ffffff">(</span><span style="color:#ffffff">services</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Authorize success code</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
分享服务授权认证操作成功时调用。
参数:
- service: ( ShareService ) 必选 授权认证操作的分享服务对象
返回值:
void : 无
ShareSuccessCallback
分享操作成功回调
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span> <span style="color:#98fb98">ShareSuccessCallback</span><span style="color:#ffffff">(){</span>
<span style="color:#87ceeb">// Share success code</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
分享操作成功回调函数,当分享操作成功时调用。
参数:
无
返回值:
void : 无
ShareErrorCallback
分享操作失败回调
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span> <span style="color:#98fb98">ShareErrorCallback</span><span style="color:#ffffff">(</span><span style="color:#ffffff">error</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Error </span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> code </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">code</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误编码</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> message </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误描述信息</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
当分享操作失败时的回调函数,用于返回分享相关操作失败的错误信息。
参数:
- error: ( Exception ) 必选 分享操作失败错误信息
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
返回值:
void : 无