更新记录

1.1.13(2026-09-06)

  • 归并 uni-app x Android 示例修复:分享入口使用公开 Options 类型构造并保留三类回调,避免工厂对象被错误转换;版本号保持 1.1.13
  • 新增 HarmonyOS 本地多文件系统分享,现有 shareFile({ files }) 调用无需修改,单次最多分享 500 个本地文件。
  • 任一文件不存在或不可读取时整体失败,不会拉起内容不完整的分享面板;远程文件和指定目标应用仍保持原有提示。
  • 升级后需要重新构建并安装 HarmonyOS HAP;Android、iOS 的现有调用和能力不受影响。

1.1.12(2026-09-01)

  • 新增 HarmonyOS 本地单文件系统分享,项目内静态资源、应用沙箱文件和有效文件 URI 均可沿用现有 shareFile 调用。
  • 文件不存在时返回 9011003;HarmonyOS 多文件、远程文件和指定目标应用分享仍明确返回 9011001
  • 升级后无需修改现有文本、链接或单文件调用代码;需要重新构建并安装 HarmonyOS HAP。

1.1.11(2026-08-03)

  • 新增 HarmonyOS 原生文本与链接系统分享:通过系统 ShareController 与统一数据类型传递标题、摘要和链接,并保持 success/fail/complete 回调一致。
  • 补齐 HarmonyOS 能力探测、分享前预检和文件归一化;文件分享因仍需 URI 授权桥接而明确返回 9011001,不伪造成功。
  • 修正示例自动导入入口,uni-app 与 uni-app x 分别指向各自真实存在的示例页,并在 uni-app x 示例中补齐 complete 回调验收日志。
  • 新增 HarmonyOS 分享专项守卫,并同步更新平台支持边界;本版本需重新执行 Harmony 原生联编并安装最新 HAP。
  • 将发布验收清单迁移到仓库级内部文档,避免内部资料进入插件市场包。
查看更多

平台兼容性

uni-app(4.84)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - -

lizhao-share-plus

lizhao-share-plus 是一个纯 UTS 系统分享 API 插件,面向 uni-app 与 uni-app x。它把文本、链接、图片、视频、普通文件、远程文件下载后分享和 iOS 完成回调统一成一套参数结构,并提供分享前预检,方便业务在真正调起系统分享前先判断能不能分享、会分享什么、用户需要注意什么。

这份文档按由浅入深的顺序组织:先 3 分钟跑通,再接入文件和远程文件,最后看预检、场景预设、完整 API、错误码和平台边界。

接入方式选择

场景 推荐 API 适合客户
只分享一段文案 shareText 新手快速接入
分享网页或活动链接 shareUrl 活动页、邀请页、内容详情页
分享本地图片/视频/PDF shareFile 报表、海报、附件、业务文件
分享远程 URL 文件 shareFile + fileNameStrategy 文件在服务器/CDN 上,需要插件先下载
分享前先判断能否分享 prepareShare 按钮置灰、业务提示、调试排错
兼容 lime-share 风格参数 shareWithSystem 从旧分享插件迁移

3 分钟快速接入

1. 导入插件

import * as LizhaoSharePlus from '@/uni_modules/lizhao-share-plus'

页面使用插件时只导入到插件根目录,不要导入 utssdk/index.uts

2. 分享文本

// 最小文本分享:适合公告、邀请码、客服文案等纯文本场景。
LizhaoSharePlus.shareText({
  title: '系统分享演示',
  text: '这是 lizhao-share-plus 的文本分享示例',
  success(res) {
    console.log('分享面板已调起', res)
  },
  fail(err) {
    console.log('分享失败', err)
  }
})

3. 分享链接

// 链接分享会把 text 与 url 一起交给系统分享面板。
LizhaoSharePlus.shareUrl({
  title: '活动详情',
  text: '把这个活动分享给朋友',
  url: 'https://uniapp.dcloud.net.cn/',
  complete(res) {
    console.log('分享流程结束', res)
  }
})

常见增强示例

分享本地文件

// 文件路径必须是 App 端真实可访问路径;图片建议传 image/*,PDF 建议传 application/pdf。
LizhaoSharePlus.shareFile({
  preset: 'image',
  text: '这是图片分享示例',
  file: '/storage/emulated/0/Download/share-card.png',
  mimeType: 'image/png',
  success(res) {
    console.log('文件分享已调起', res.filesResolved)
  }
})

HarmonyOS 支持一次分享最多 500 个本地文件,可传项目内 /static/... 路径、应用沙箱绝对路径或有效的 file:// URI;任一文件不存在时整体返回 9011003,不会拉起内容不完整的分享面板。

分享多个文件

// 多文件分享会使用各平台系统原生的多记录分享能力。
LizhaoSharePlus.shareFile({
  preset: 'file',
  text: '这是多文件分享示例',
  files: [
    '/storage/emulated/0/Download/report-a.pdf',
    '/storage/emulated/0/Download/report-b.pdf'
  ],
  mimeType: 'application/pdf'
})

HarmonyOS 会为每个本地文件创建一条系统分享记录,最多支持 500 条;具体接收应用需要支持并读取多条记录,少数应用可能只处理第一条。

远程文件下载后分享

// Android/iOS 默认会把 http/https 文件先下载到本地缓存,再交给系统分享面板。
LizhaoSharePlus.shareFile({
  preset: 'remoteFile',
  text: '这是远程 PDF 分享示例',
  file: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
  mimeType: 'application/pdf',
  fileNameStrategy: 'timestamp',
  success(res) {
    console.log('远程文件已下载并分享', res.filesResolved)
  },
  fail(err) {
    console.log('远程下载或分享失败', err)
  }
})

远程文件下载失败会返回 9011004。如果需要自定义落盘目录,传入 downloadDir;如果希望保留原文件名、按 URL hash 命名或按时间戳命名,使用 fileNameStrategy: 'keep' | 'hash' | 'timestamp'

Android/iOS 会先把远程文件下载到本地缓存后再分享。HarmonyOS 当前要求调用前自行下载为本地文件,直接传远程 URL 会返回 9011001。Android 与 HarmonyOS 的 completed 表示已成功调起分享面板;iOS 的 completed 来自系统完成回调,用户取消时可能为 false

分享前预检

prepareShare(options) 不会下载文件,也不会弹出系统分享面板。它适合用在正式分享前,给业务按钮置灰、给用户提示原因,或调试客户传入的参数。

// 预检远程文件分享:可以提前知道当前平台是否支持、是否需要下载、会归一出哪些文件。
const prepared = LizhaoSharePlus.prepareShare({
  preset: 'remoteFile',
  text: '这是远程 PDF 分享前预检示例',
  file: 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
  mimeType: 'application/pdf',
  fileNameStrategy: 'timestamp'
})

console.log(prepared.canShare)
console.log(prepared.needsDownload)
console.log(prepared.tips)

返回值:

字段 类型 说明
canShare boolean 当前参数与平台是否可以继续正式分享
reason string 不可分享原因;可分享时通常为空
adapter string 当前平台适配器,例如 uts-androiduts-ios
preset SharePresetType 最终识别出的场景预设
needsDownload boolean 正式分享时是否需要先下载远程文件
normalized ShareOptions 归一化后的参数
filesResolved Array 预检阶段的文件归一结果
tips Array 给客户或业务侧展示的接入建议

场景预设

preset 用来表达业务意图。传 auto 或不传时,插件会按 files/file/url/text/mimeType 自动推断。

预设 说明 常见参数
auto 自动识别 任意分享参数
text 文本分享 text/title
link 链接分享 url/text/title
image 图片分享 file/files/mimeType=image/*
video 视频分享 file/files/mimeType=video/*
file 普通文件分享 file/files/mimeType
remoteFile 远程文件下载后分享 file/files 传入 http/https

兼容旧参数

如果旧项目使用 type/title/summary/path 风格参数,可以先用 shareWithSystem 迁移:

// 兼容模式会转换到 shareText/shareUrl/shareFile 主链路。
LizhaoSharePlus.shareWithSystem({
  type: 'file',
  title: '报告文件',
  summary: '请查看这份 PDF 报告',
  path: '/storage/emulated/0/Download/report.pdf',
  mimeType: 'application/pdf',
  fileNameStrategy: 'keep'
})

API 列表

API 说明
prepareShare(options) 分享前预检,不调起系统面板
canIShare(options) 简单能力探测
normalizeShareFiles(options) 文件归一化,不触发分享
share(options) 通用分享入口
shareText(options) 文本快捷分享
shareUrl(options) 链接快捷分享
shareFile(options) 文件快捷分享
shareWithSystem(options) 兼容模式分享

ShareOptions 参数

参数 类型 必填 说明 默认值 可选参数
options ShareOptions 分享参数对象 preset / text / title / url / file / files / success / fail / complete
options.preset SharePresetType 分享场景预设 auto auto / text / link / image / video / file / remoteFile
options.text string 分享文本 空字符串
options.title string 分享标题 空字符串
options.subject string 分享主题,部分系统分享目标会使用 空字符串
options.url string 分享链接,仅支持 http/https 空字符串
options.file string 单文件路径或远程文件 URL 空字符串
options.files Array 多文件路径或远程文件 URL 列表 []
options.mimeType string 分享文件 MIME 类型 */* image/* / video/* / application/pdf
options.autoDownloadRemote boolean Android/iOS 远程文件是否先下载到本地缓存后再分享 true true / false
options.downloadDir string 远程文件下载目录;不传时使用插件缓存目录 插件缓存目录
options.fileNameStrategy ShareFileNameStrategy 远程文件下载命名策略 keep keep / hash / timestamp
options.targetPackage string Android 指定目标 App 包名 空字符串 com.tencent.mm
options.chooserTitle string Android 分享面板标题 分享到
options.excludedActivityTypes Array iOS 分享面板隐藏项 [] iOS activity type 字符串
options.success function 成功回调
options.fail function 失败回调
options.complete function 完成回调

ShareResult 返回值

字段 类型 说明
platform string 当前平台,Android 返回 android,iOS 返回 ios,Harmony 返回 harmony
completed boolean Android/HarmonyOS 表示已成功调起分享面板;iOS 的 completed 来自系统完成回调,用户取消可能为 false
activityType string iOS 分享活动类型;Android 为空
targetPackage string Android 指定包名分享时返回目标包名
filesResolved Array 文件归一化结果

ShareResolvedFile 返回值

字段 类型 说明
original string 调用方传入的原始文件路径或远程 URL
path string 实际分享使用的路径;远程文件成功下载后为本地路径
mimeType string 文件 MIME 类型

错误码

错误码 含义 说明
9011001 unsupported 当前平台或当前分享能力不支持
9011002 invalid params 参数为空、URL 不合法或分享项为空
9011003 file unavailable 本地文件不存在或无法访问
9011004 remote download failed 远程文件下载失败
9011005 target app not found Android 指定包名未找到
9011006 permission denied 权限不足,当前版本通常不主动申请权限
9011007 user cancelled 保留错误码;iOS 取消当前以 success.completed=false 表达
9011008 native failed 原生分享流程异常
9011009 unknown 未知错误

平台支持

平台 是否支持 说明
Android App 支持 使用系统 Intent 分享面板,支持文本、链接、单文件、多文件、远程文件下载后分享
iOS App 支持 使用 UIActivityViewController,支持真实 completed/activityType 回调
Harmony 部分支持 原生支持文本、链接和最多 500 个本地文件;远程文件与指定目标应用返回 9011001
Web 暂不支持 返回 9011001
微信小程序 暂不支持 返回 9011001
支付宝小程序 暂不支持 返回 9011001

自定义基座说明

当前插件不新增三方 SDK、Manifest、Info.plist、权限、libsresassets。但 Android/iOS/Harmony UTS 原生逻辑会编译进 App;如果更新了对应平台 index.uts,真机要使用最新能力时,需要重新运行对应平台原生联编并安装最新应用包。只更新 wgt/appResource 不能替换旧包里已编译的 UTS 原生部分。

完整示例

完整页面示例见:

uni_modules/lizhao-share-plus/example/uniapp/share.vue

作者系列 UTS 插件

以下为已在 DCloud 插件市场上架的作者系列 UTS 插件,可按业务场景组合使用。未列出的插件表示当前未确认公开市场页,后续上架后再补充。

插件 能力方向 插件市场
lizhao-nfc-pro NFC 标签读写、NDEF、IsoDep 与诊断 查看插件
lizhao-float-window 悬浮窗、画中画、权限与诊断 查看插件
lizhao-device-id 设备标识、隐私策略与诊断 查看插件
lizhao-scan-pro 原生扫码、连续扫码、相册识别 查看插件
lizhao-choose-file 原生文件选择、上传、进度与取消 查看插件
lizhao-bg-audio 背景音频播放、队列、倍速与事件 查看插件
lizhao-smart-tts 系统 TTS、云端合成、听书方案 查看插件
lizhao-share-plus 系统分享、远程文件下载后分享 查看插件
lizhao-sqlite-pro 原生 SQLite、迁移、备份与诊断 查看插件
lizhao-icon-pro SVG 图标组件、多主题与缓存 查看插件
lizhao-cast-screen DLNA 投屏、AirPlay 路由入口 查看插件
lizhao-call-kit 电话、短信、通讯录原生能力 查看插件
lizhao-app-keepalive 应用保活、唤醒、自愈与报告 查看插件
lizhao-doc-corrector 文档扫描、矫正、增强与识别 查看插件
lizhao-emu-detect 模拟器环境检测、风险评分与证据 查看插件
lizhao-gallery-pro 相册媒体分页、筛选、缩略图与导出 查看插件
lizhao-video-thumb 视频封面、批量取帧与 Base64 返回 查看插件
lizhao-ble BLE 扫描、连接、读写、通知与自动重连 查看插件
lizhao-sse-pro SSE、Line、JSONL 与 Raw 流式请求 查看插件
lizhao-pdf-pro PDF 阅读、签批、真实写回与页面处理 查看插件
lizhao-serial-port 路径串口、USB 串口、多会话收发与诊断 查看插件
lizhao-wechat-kit 微信登录、分享、支付、小程序与客服 查看插件
lizhao-video-editor 视频裁剪、压缩、取帧与 FFmpeg/FFprobe 查看插件
lizhao-vpn-pro 企业 VPN、IKEv2、安全接入与脱敏诊断 查看插件

隐私、权限声明

1. 本插件需要申请的系统权限列表:

按目标平台分享能力要求

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率: