swan.openShare

解释: 调起分享面板。Web 态说明:Web 态小程序运行在微信、QQ、QQ空间、微博、百度 Hi 内时,调用 openShare 会弹出引导浮层引导用户通过平台的分享能力进行分享;在非上述环境时会弹出分享面板提示用户复制链接并分享。

方法参数

Object object

object参数说明

属性名类型必填默认值说明Web 态说明
titleString分享标题暂不支持
contentString分享内容暂不支持
imageUrlString分享图标暂不支持
pathString页面 path,必须是以 / 开头的完整路径。如果 path 中的参数包含中文字符,需通过 encodeURIComponent 对中文字符进行编码。Web 态小程序运行在微信、QQ、QQ空间、微博、百度 Hi 内时配置的分享path不生效,此时分享path为当前页面的路径
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

函数返回值

Boolean result

返回值说明

反馈分享结果,成功或失败。

fail 返回值参数说明

Web 态

错误信息(errMsg)类型说明
url copy failstring分享链接复制到剪切板失败
share canceledstring取消分享面板
sharing guide canceledstring取消分享引导弹层

示例

扫码体验

swan.openShare - 图1请使用百度APP扫码

图片示例

swan.openShare - 图2

swan.openShare - 图3

swan.openShare - 图4

代码示例1 - API调起分享面板 :

在开发者工具中预览效果

  • 在 swan 文件中
  1. <view class="wrap">
  2. <button type="primary" bindtap="openShare">openShare</button>
  3. </view>
  • 在 js 文件中
  1. Page({
  2. openShare() {
  3. swan.openShare({
  4. title: '智能小程序示例',
  5. content: '世界很复杂,百度更懂你',
  6. path: '/pages/openShare/openShare?key=value',
  7. imageUrl: 'https://smartprogram.baidu.com/docs/img/logo_new.png',
  8. success: res => {
  9. swan.showToast({
  10. title: '分享成功'
  11. });
  12. console.log('openShare success', res);
  13. },
  14. fail: err => {
  15. console.log('openShare fail', err);
  16. }
  17. });
  18. }
  19. });

代码示例2 - 组件调起分享面板 :

在开发者工具中预览效果

  • 在 swan 文件中
  1. <view class="wrap">
  2. <button type="primary" open-type="share">openShare</button>
  3. </view>

Bug & Tip

  • tip: 如果入参 path 中的参数包含中文字符,需要通过 encodeURIComponent 对中文字符进行编码,举例:
  1. let path = '/a/b?key=' + encodeURIComponent('中文');
  • bug: 基础库 1.13.43 版本 Android 手机中,点击分享面板的取消时,不会执行 fail 回调。