更新记录

1.0.2(2026-09-15)

  • iOS 打开系统分享面板后立刻返回 launched(与 Android 一致)。不再等到用户关掉面板,避免面板没弹出时 JS 一直挂起、点击无反应

1.0.1(2026-09-15)

  • iOS 与 Android 一样把 _doc / _www 转成绝对路径,再打开系统分享面板(业务侧缓存图不再弹 Please try again)
  • iOS 分享面板避开正在关闭的 loading 弹层,避免被 HUD 挡住或一起关掉
  • 分享拷贝最多保留 20 张(先删超过 24 小时的,再按修改时间淘汰最旧的)

1.0.0(2026-09-15)

首个版本。

  • Android 使用 FileProvider content URI 调用系统分享,高版本系统面板可预览缩略图
  • iOS 使用 UIActivityViewController
  • JPEG / PNG 原样分享;WebP / HEIC 等先转 JPEG 再发出,避免预览空白
  • 可选直达 Facebook / Instagram(Android);未安装默认回退系统面板
查看更多

平台兼容性

uni-app(4.27)

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

fz-social-share

1.0.2

把本地图片交给系统分享面板。Android 走 ACTION_SEND + FileProvider,iOS 走 UIActivityViewController。不接微信 / Facebook / Instagram SDK。

JPEG / PNG 原样发出;WebP / HEIC / GIF 先转 JPEG。单张不超过 30 MB、5000 万像素。

拷到 uni_modules 即可。UTS 必须打自定义基座或正式包。改原生代码后重新打基座。必须在用户点击里调用,不能在 onLoad 自动拉起。

环境

项 要求
HBuilderX 4.27+
工程 uni-app Vue3
Android minSdk 21
iOS 13.0+

插件本身不申请权限。宿主若用 uni.chooseImage,在 manifest.json 开 Gallery,iOS 配 NSPhotoLibraryUsageDescription。

用法

import { shareImage } from '@/uni_modules/fz-social-share'

async function onShare(filePath) {
    try {
        const res = await shareImage({
            imagePath: filePath,
            target: 'system',
            fallbackToSystem: true
        })
        // res.status === 'launched' 只表示面板已打开,不代表已发布
        console.log(res)
    } catch (e) {
        uni.showToast({ title: e.errMsg || '分享失败', icon: 'none' })
    }
}

imagePath 必须是本地路径(绝对路径、file://、content://、_doc / _www)。网络图先下载。示例页:pages/share/share。

API

shareImage(options: ShareImageOptions): Promise<ShareImageResult>
参数 默认 说明
imagePath 必填 本地图路径
target 'system' system / facebook / instagram。仅 Android 尝试直达,iOS 始终系统面板
fallbackToSystem true 三方 App 不可用时回退系统面板。iOS 忽略

成功返回:

字段 说明
status 两端都是 launched(面板已打开)
requestedTarget 调用时的 target
route system 或 direct(仅 Android 直达成功)
fallbackUsed 是否从三方回退到系统面板
activityType iOS activity id,Android 为空
publishedConfirmed 恒为 false
message 可读说明

失败 reject,errSubject === 'fz-social-share'。

错误码

码 含义
93201 路径或 target 无效
93202 读文件或写缓存失败
93203 空图、超限、无法解码
93204 指定 App 未安装且不允许回退
93205 没有前台页面 / 打不开面板
93206 正在准备分享,重复点击
93207 iOS 不要把 fallbackToSystem 设为 false
93208 H5 / 非 App

隐私、权限声明

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

插件本身不申请任何系统权限。宿主若使用 uni.chooseImage 选图,需自行在 manifest 开启 Gallery 模块,并配置 iOS NSPhotoLibraryUsageDescription(用于选择要分享的照片),该权限不属于本插件。

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

不采集用户数据,不读取通讯录/设备标识,不上传图片。图片仅在设备本地拷贝到应用缓存,再通过系统分享面板交给用户选择的目标 App。插件无自有服务器,不发起网络请求。

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

无广告。无统计 SDK、无开屏/插屏/横幅。