更新记录
1.0.0(2026-03-19)
- 首次发布
lizhao-share-plus。
- 提供 API + 组件双形态系统分享能力。
- 支持文本、链接、单文件、多文件与远程文件下载后分享。
- 提供统一错误码与全平台适配策略(App/H5/微信小程序)。
平台兼容性
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
全平台系统分享增强插件(UTS 插件形态),支持文本、链接、单文件、多文件、远程文件下载后分享。
安装
将插件放入:uni_modules/lizhao-share-plus
快速使用
API
import {
share,
shareText,
shareUrl,
shareFile,
shareWithSystem,
canIShare,
normalizeShareFiles
} from '@/uni_modules/lizhao-share-plus/index.js'
const cap = canIShare({ text: 'hello' })
console.log('canIShare', cap)
await shareText({
text: '这是文本分享示例',
title: '分享标题'
})
await shareUrl({
url: 'https://uniapp.dcloud.net.cn/',
text: 'uni-app 官网'
})
await shareFile({
files: [
'https://www.orimi.com/pdf-test.pdf',
'/storage/emulated/0/Download/a.docx'
],
autoDownloadRemote: true,
fileNameStrategy: 'timestamp'
})
await share({
text: '图文分享',
url: 'https://example.com',
files: ['/storage/emulated/0/Download/a.pdf'],
targetPackage: 'com.tencent.mm'
})
// 兼容 lime-share 的 API 形态
await shareWithSystem({
type: 'file',
title: '分享到',
summary: '这是兼容模式调用',
path: '/storage/emulated/0/Download/a.pdf'
})
const normalized = await normalizeShareFiles({
files: ['https://www.orimi.com/pdf-test.pdf'],
autoDownloadRemote: true
})
console.log(normalized)
组件
<template>
<lizhao-share-plus
:options="shareOptions"
:auto="false"
button-text="点击系统分享"
@ready="onReady"
@success="onSuccess"
@cancel="onCancel"
@error="onError"
@complete="onComplete"
/>
</template>
<script>
export default {
data() {
return {
shareOptions: {
text: '组件触发分享',
url: 'https://uniapp.dcloud.net.cn/'
}
}
}
}
</script>
API 列表
| 参数 |
类型 |
必填 |
说明 |
share(options) |
Function |
是 |
通用分享接口,支持文本/链接/文件任意组合。 |
shareText(options) |
Function |
是 |
文本快捷分享接口。 |
shareUrl(options) |
Function |
是 |
链接快捷分享接口。 |
shareFile(options) |
Function |
是 |
文件快捷分享接口。 |
shareWithSystem(options) |
Function |
是 |
兼容 lime-share 的 type/title/summary/path 调用方式。 |
canIShare(options?) |
Function |
否 |
分享能力探测,不触发分享。 |
normalizeShareFiles(options) |
Function |
是 |
文件预处理接口,仅做路径归一和下载,不触发分享。 |
ShareOptions
| 参数 |
类型 |
必填 |
说明 |
text |
string |
否 |
分享文本内容。 |
title |
string |
否 |
分享标题。 |
subject |
string |
否 |
邮件主题等场景使用。 |
url |
string |
否 |
分享链接,仅支持 http/https。 |
file |
string |
否 |
单文件路径(可与 files 混传)。 |
files |
string[] |
否 |
多文件路径数组。 |
mimeType |
string |
否 |
指定 MIME 类型,不传则自动推断。 |
autoDownloadRemote |
boolean |
否 |
是否自动下载远程 URL 文件后再分享,默认 true。 |
downloadDir |
string |
否 |
远程文件下载目录。 |
fileNameStrategy |
'keep' \| 'hash' \| 'timestamp' |
否 |
远程下载命名策略,默认 keep。 |
targetPackage |
string |
否 |
Android 目标应用包名,传入后直达指定 App。 |
chooserTitle |
string |
否 |
Android 系统选择器标题。 |
excludedActivityTypes |
string[] |
否 |
iOS 需要排除的分享渠道。 |
success |
(res) => void |
否 |
成功回调。 |
fail |
(err) => void |
否 |
失败回调。 |
complete |
(resOrErr) => void |
否 |
完成回调。 |
ShareResult
| 参数 |
类型 |
必填 |
说明 |
platform |
string |
是 |
实际执行平台标识。 |
completed |
boolean |
是 |
是否完成调用。 |
activityType |
string |
否 |
iOS 渠道类型(有值时返回)。 |
targetPackage |
string |
否 |
Android 实际目标包名。 |
filesResolved |
Array<{original,path,mimeType}> |
是 |
文件预处理结果明细。 |
错误码
| 参数 |
类型 |
必填 |
说明 |
USER_CANCEL |
string |
是 |
用户取消分享。 |
INVALID_OPTIONS |
string |
是 |
参数不合法。 |
FILE_NOT_FOUND |
string |
是 |
文件不存在或不可访问。 |
REMOTE_DOWNLOAD_FAILED |
string |
是 |
远程文件下载失败。 |
APP_NOT_FOUND |
string |
是 |
Android 指定包名未安装。 |
UNSUPPORTED |
string |
是 |
当前平台或场景不支持。 |
SYSTEM_ERROR |
string |
是 |
系统层异常。 |
组件 Props
| 参数 |
类型 |
必填 |
说明 |
options |
ShareOptions |
否 |
分享参数对象。 |
auto |
boolean |
否 |
是否在 mounted 后自动分享。 |
buttonText |
string |
否 |
按钮文字。 |
disabled |
boolean |
否 |
是否禁用。 |
组件 Events
| 参数 |
类型 |
必填 |
说明 |
ready |
(capability) => void |
否 |
组件就绪并返回能力探测结果。 |
success |
(result) => void |
否 |
分享成功。 |
cancel |
(err) => void |
否 |
用户取消。 |
error |
(err) => void |
否 |
分享失败。 |
complete |
(resultOrErr) => void |
否 |
分享结束(成功或失败)。 |
平台兼容性
- uni-app:Vue2、Vue3、H5、Android、iOS、鸿蒙、微信小程序
- uni-app x:H5、Android、iOS、鸿蒙、微信小程序
说明
- H5 优先使用
navigator.share。当浏览器支持 Web Share File(navigator.canShare({ files }))时,可分享远程 URL/dataURL/blob 文件。
- H5 文件分享依赖目标文件可被浏览器
fetch(受 CORS 限制);若跨域未放行会返回 REMOTE_DOWNLOAD_FAILED。
- 微信小程序主要承接文本/链接分享,文件直传会返回
UNSUPPORTED。
- App 端支持 Android/iOS 原生系统分享流程,包含目标包名与渠道排除增强能力。