微信小程序 图片长按识别功能 笔记

☹ 背景

    今天,做的小程序项目要求,个人中心的客服图片在用户长按时可以识别其二维码 在百度无果,参考小程序官方文档后,发现:
1.文档中有一句提示:
	"image组件中二维码/小程序码图片不支持长按识别,仅在 wx.previewImage 中支持长按识别"
2.即便实现了 “wx.previewImage” 效果,但依旧是不支持二维码识别的
附录文档位置:

▽ 代码设计

    好在这也是一个不错的知识点,在此进行一番实现流程的记录,欢迎指摘.

①. wxml 页面元素设计

    作为引导界面,只需放置一张图片即可,以我的代码为例
//# 使用简单的实现方式,直接赋值一个图片链接得了
<image src="https://img.fetow.com/Public/Index/images/shewm.jpg" mode="widthFix"  
	data-src="https://img.fetow.com/Public/Index/images/shewm.jpg" 
	bindtap="previewImage"></image>

②. js 文件实现 “previewImage”方法

    在对应的 js 文件中,添加了如下的方法
/**
  *  图片预览方法
  *  此处注意的一点就是,调用 "wx.previewImage"时,第二个参数要求为数组形式哦
  *  当然,做过图片上传功能的应该会注意到,如果涉及到多张图片预览,图片链接数组集合即为参数 urls!
  */ 
  previewImage: function(e) {
    var current = e.target.dataset.src;
    wx.previewImage({
      current: current,
      urls: [current]
    })
  },

▽. 实现效果

①. 普通二维码长按效果

    可以发现,下图(左)中是没有“识别图中二维码”的选项

②. 小程序码长按效果

    与上面普通二维码有所区别的是,小程序中是可以长按识别小程序码的
经验分享 程序员 微信小程序 职场和发展