更新记录

1.0.3(2026-08-17)

窗口级原生图片浏览器,支持流畅缩放、横向分页、缩略图联动、安全区顶部栏、加载动画和索引回调。


平台兼容性

uni-app(4.71)

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

uni-app x(4.33)

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

fsyang-image-preview

Android / iOS 窗口级原生图片浏览器。插件直接覆盖当前应用窗口,不打开新页面、Activity 或 WebView。

功能

  • 主图按屏幕宽度 100% 等比显示并垂直居中
  • 原生横向分页、双指缩放、双击缩放和放大后拖动
  • 顶部自动避开 Android 状态栏及 iOS 安全区
  • 底部可横向滚动的缩略图列表,与主图双向联动
  • 白色加载动画、黑色经典背景
  • 主图变化、关闭和错误回调

使用

import {
  openImagePreview,
  closeImagePreview,
  onImagePreviewChange,
  onImagePreviewClose,
  onImagePreviewError
} from '@/uni_modules/fsyang-image-preview'

// 建议在 App.vue onLaunch 中注册一次。
onImagePreviewChange((event) => {
  console.log('当前图片', event.index, event.url, event.total)
})

onImagePreviewClose((event) => {
  console.log('预览关闭', event.index, event.reason)
})

onImagePreviewError((event) => {
  console.error('图片预览失败', event.code, event.message)
})

openImagePreview({
  images: [
    'https://example.com/1.jpg',
    'https://example.com/2.jpg'
  ],
  current: 0,
  maxZoom: 4,
  showThumbnails: true,
  closeOnTap: false,
  backgroundColor: '#000000'
})

// 业务需要时主动关闭。
closeImagePreview()

参数

参数 类型 默认值 说明
images string[] 必填 图片地址,支持 http(s) 和本地绝对路径
current number 0 首图下标,越界时自动修正
maxZoom number 4 相对初始宽度的最大缩放倍数,最低为 2
showThumbnails boolean true 是否显示底部缩略图
closeOnTap boolean false 单击主图是否关闭;双击仍用于缩放
backgroundColor string #000000 全屏背景色

回调

API 数据
onImagePreviewChange { index, url, total }
onImagePreviewClose { index, url, reason },reason 为 button、tap 或 api
onImagePreviewError { code, message }

onImagePreviewChange 在首次展示和主图落到新下标时触发。点击缩略图跳转也会触发。

平台要求

  • Android 5.0(API 21)及以上
  • iOS 15.0 及以上
  • 需要自定义基座或云打包,标准基座不包含本地新增的 UTS 原生插件

隐私、权限声明

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

Android 仅使用宿主已有的网络权限;iOS 无额外系统权限

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

插件不采集、不上传数据;网络图片请求仅访问调用方传入的图片地址

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

暂无用户评论。