乐趣区

小程序自定义图片预览和多图下载的实现

小程序开发中图片列表的需求再常见不过了,通常都会配合大图预览和图片下载的功能
但是微信又没有提供可自定义的图片预览功能,有时候会有需求在预览大图的时候收藏或者下载啥的用 wx.previewImage 就不太合适了
下面提供了一个 照片墙实现自定义图片预览和多图下载 的实现方式,有类似需求的同学可以尝试一下
有问题也欢迎提出 GITHUB
mp-photo-album
小程序照片墙 / 自定义大图预览 / 多图下载
使用
安装
npm install –save –production mp-photo-album
引入
{
“usingComponents”: {
“mp-photo-album”: “/miniprogram_npm/mp-photo-album/index”
}
}
功能
1. 照片列表 / 滚动加载

2. 大图预览 / 手势缩放 / 下载 / 自定义操作

wxml
<comp list=”{{list}}” bindlike=”like” bindclose=”finish” likeTitle=” 收藏 ”></comp>
图片列表数据结构
[{
src: ‘https://raw.githubusercontent.com/panmenglin/mp-photo-album/transform/common/images/Desert1.jpg’, // 原图
previewSrc: ‘https://raw.githubusercontent.com/panmenglin/mp-photo-album/transform/common/images/Desert1_1280.jpg’, // 预览大图
listSrc: ‘https://raw.githubusercontent.com/panmenglin/mp-photo-album/transform/common/images/Desert1_200.jpg’, // 列表小图
desc: ‘ 图片描述 ’, // 图片描述
check: false // 是否选中
}]
配置
likeTitle
自定义按钮文字
bindlike
自定义按钮事件
bindclose
关闭预览回调
3. 多选保存到相册
选择多图,点击下载保存到相册,最多同时 9 张
wxml
<comp list=”{{list}}” option=”{{option}}” bindfinish=”finish”></comp>

<view wx:if=”{{option !== ‘download’}}” bindtap=”select”> 选择 </view>
<view wx:if=”{{option === ‘download’}}” bindtap=”finish”> 完成 </view>
配置
option [默认] normal
用来切换操作方式
切换为 download 时,则可以选择并进行下载
bindfinish
点击下载的回调

退出移动版