小程序开发中图片列表的需求再常见不过了,通常都会配合大图预览和图片下载的功能
但是微信又没有提供可自定义的图片预览功能,有时候会有需求在预览大图的时候收藏或者下载啥的用 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
点击下载的回调
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。