uni-app 微信小程序 可添加图片描述的uni.previewImage/wx.previewImage

前言

最近公司项目要做一个小程序的图片预览页面,但要支持预览时有图片描述和一些其余操作按钮...同时还要支持图片放大和图片左右滑动切换效果

然后我查了一下uniapp和小程序的相关api,previewImage只支持传入图片数组,点击后预览的页面不支持加入其余元素,没办法只能自己写了~

刚开始是一点头绪都没有,没办法老板逼着要,最后花了一个多礼拜,终于是写出来了

效果肯定是没有原生的好,而且其它体验也会也些差距,但总算满足了老板的需求。。。

项目示例

看不了的话可以去外链

 

 

实现思路和方案

1、图片要左右切换的话,那就直接上轮播swiper使用movable-view来实现双指缩放和移动功能

2、在swiper-item上使用@touchmove.stop事件禁用swiper的手指滑动功能(这个卡了我好久,一直没想到),然后我们自己在方法里控制左右切换

3、用点击事件记录手指的坐标,判断用户的上下左右滑动,然后根据结果来手动切换图片

大致思路就这样了~

总结

uni和微信自带的previewImage其实已经挺好用了。就为了一个图片描述,我们自己造这么个轮子,得好几天时间,而且这个轮子还不如原来的好用。面对这种情况,这就看是要如何取舍了,是要开发效率,还是要用户体验。既然产品需要,那就硬刚吧。。。

项目地址:https://github.com/justinGuox/previewImage

码云:https://gitee.com/XiNian0430/previewImage

项目还有些不完善的地方,如果哪位大佬有幸看出了问题,欢迎指出~

如果能帮到你们,记得给一个star哈,谢谢。

 

 

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
uni-app中,要实现微信小程序图片放大预览并带有图片描述并可左右切换,可以使用uni-app提供的组件和方法来实现。 首先,我们可以使用uni-appimage组件来展示图片,并通过设置mode属性为aspectFit,使图片按照原图的长宽比等比缩放并保持完整显示。 然后,为了实现图片放大预览并可左右切换,在点击图片时,我们可以使用uni-apppreviewImage方法来打开一个全屏的图片预览,并传入一个包含图片链接数组的current参数,以及一个包含图片描述的urls参数。这样就可以在预览界面中显示图片描述,并且可通过左右滑动切换图片。 具体实现步骤如下: 1.在模板中,使用image组件展示图片,设置mode为aspectFit,并绑定点击事件。 2.在点击事件处理函数中,调用uni-apppreviewImage方法,传入图片链接数组和图片描述数组。 3.在预览界面中,通过swiper组件实现图片的左右滑动切换,并显示图片描述。 示例代码如下: ``` <template> <view> <image mode="aspectFit" :src="imageUrl" @click="previewImage"></image> </view> </template> <script> export default { data() { return { imageUrl: '图片链接', imageDesc: '图片描述' } }, methods: { previewImage() { uni.previewImage({ current: this.imageUrl, urls: [this.imageUrl], longPressActions: { itemList: ['保存图片'], success: function(data) { if (data.tapIndex === 0) { uni.saveImageToPhotosAlbum({ filePath: this.imageUrl, success: function() { uni.showToast({ title: '保存图片成功' }) }, fail: function() { uni.showToast({ title: '保存图片失败', icon: 'none' }) } }) } } } }) } } } </script> ``` 使用以上方法,我们可以在uni-app微信小程序中实现图片放大预览并带有图片描述可左右切换的功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ever ° 昔年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值