微信小程序实战篇-图片的预览、二维码的识别

开篇

  今天,做的小程序项目要求,个人中心的客服图片在用户长按时可以识别其二维码,各种翻阅查找,采坑很多,浪费了很多时间,在这里记录下需要注意的点,以及对小程序官方提供的API做一个正确和清晰的认知,希望能帮助到大家
   

参考小程序官方文档后,发现:

1.文档中有一句提示:
    "image组件中二维码/小程序码图片不支持长按识别,仅在 wx.previewImage 中支持长按识别"
2.即便实现了 “wx.previewImage” 效果,但依旧是不支持二维码识别的

代码

①. wxml 页面元素设计

    作为引导界面,只需放置一张图片即可,以我的代码为例

//# 使用简单的实现方式,直接赋值一个图片链接得了

<image src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540964455347&di=68ac28aa79382ee2bc8dce10d5966e39&imgtype=0&src=http%3A%2F%2Fup.enterdesk.com%2Fedpic_source%2Fdb%2Ff1%2Fec%2Fdbf1ec353b17dce848676e2fdb7f9bb4.jpg" mode="widthFix"  
    data-src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540964455347&di=68ac28aa79382ee2bc8dce10d5966e39&imgtype=0&src=http%3A%2F%2Fup.enterdesk.com%2Fedpic_source%2Fdb%2Ff1%2Fec%2Fdbf1ec353b17dce848676e2fdb7f9bb4.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]
    })
  },

 
重点来了...

特别需要注意的是:


  1.如果需要识别二维码,那必须是小程序的二维码

  2.图片路径中有中文无法显示图片

  3.图片地址不能为http开头,否则图片只能在调试模式中显示,真机也必须开调试。

  4.图片名称不能有空格

  5.图片的后缀必须为小写的.png或者.jpg

原文地址:https://www.cnblogs.com/zhaopanpan/p/9881812.html