小程序开发中图片列表的需求再常见不过了,一般都会配合大图预览和图片下载的功能javascript
可是微信又没有提供可自定义的图片预览功能,有时候会有需求在预览大图的时候收藏或者下载啥的用 wx.previewImage 就不太合适了html
下面提供了一个 照片墙实现自定义图片预览和多图下载 的实现方式,有相似需求的同窗能够尝试一下java
有问题也欢迎提出 GITHUBgit
小程序照片墙/自定义大图预览/多图下载github
npm install --save --production mp-photo-album
{ "usingComponents": { "mp-photo-album": "/miniprogram_npm/mp-photo-album/index" } }
<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 npm
自定义按钮文字json
bindlike小程序
自定义按钮事件微信
bindclose数据结构
关闭预览回调
选择多图,点击下载保存到相册,最多同时9张
<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
点击下载的回调