uniapp 对富文本中的图片预览及长按图片识别二维码/保存图片

  • 富文本一定要使用uniapp提供的<rich-text>标签,不要使用 v-html

    • 因为<rich-text>标签提供了拦截点击事件@itemclick,可以拦截点击事件(只支持aimg标签),返回当前节点信息
    <rich-text :nodes="appInfo.content" @itemclick="goImgDetials">
    </rich-text>
    
  • 上面的操作能够获取到富文本中的图片标签,就可以使用 uni.previewImage对图片进行预览操作
  • 使用uni.downloadFile对图片文件进行下载
    • 利用H5+规范 (注意H5端不能使用)
        // 将图片保存到系统相册void plus.gallery.save( path, successCB, errorCB );
    
    // 扫码识别图片中的条码
    void plus.barcode.scan(path, successCB, errorCB, filters, autoDecodeCharset);
    

完整代码

html

<rich-text :nodes="appInfo.content" @itemclick="goImgDetials">
</rich-text>

js

// 点击图片全屏查看const goImgDetials = function(e) {let item = e.detail.node;if (item.name == "img") {uni.previewImage({urls: [item.attrs.src],longPressActions: {itemList: ["保存到相册", "识别二维码"],itemColor: "#007AFF",success: function(data) {let {tapIndex,index} = data;// tapIndex 第几个按钮// index 第几张图片//#ifdef APP-PLUSif (tapIndex == 0) {// 保存到相册plus.gallery.save(item.attrs.src, () => {uni.showToast({icon: "none",title: "保存成功!"})}, () => {uni.showToast({icon: "none",title: "保存失败!"})})} else {// 现将文件下载到本地uni.downloadFile({url: item.attrs.src,success: (args) => {// 扫描二维码plus.barcode.scan(args.tempFilePath,(code, url) => {// 如果识别成功if (code == 0) {// 打开扫描结果plus.runtime.openURL(url)}},(err) => {uni.showToast({icon: 'none',title: "图中没有可识别的二维码"})console.log(err, 'err');},[plus.barcode.QR],true)},fail: () => {}})}//#endif}}})}}

参考链接:

  • uniapp 提供的基础组件 rich-text
  • h5+规范

uniapp 对富文本中的图片预览及长按图片识别二维码/保存图片相关推荐

  1. uniapp 微信小程序长按识别二维码,跳转小程序、个人微信

    前言: 业务要求是小程序放一个二维码图片,长按可以识别二维码,进而识别出个人微信,添加个人微信:我们可以通过uni.previewImage(OBJECT)或者wx.previewImage(Obje ...

  2. 前端页面中iOS版微信长按识别二维码的bug

    问题描述: H5首页banner图,在安卓微信内长按可识别二维码,但在ios部分机型上,长按图片识别不了二维码. 测试机型: iphone6s plus 系统12.1 微信版本6.7.4 iphone ...

  3. [转]如何解决Windows图片预览窗口无法显示图片缩略图

    问:我的电脑中安装的是Windows                   2000,最近发现文件夹的图片预览功能不能使用了,也就是说图片预览窗口无法显示图片缩略图了,在该位置上只有文件的图标.请问这是 ...

  4. 微信小程序-预览图片识别二维码

    wx.getImageInfo(Object object) 获取图片信息.网络图片需先配置download域名才能生效. 测试图片地址:http://mmbiz.qpic.cn/mmbiz_png/ ...

  5. 用uni.previewImage({}) 来直接做图片的预览和识别二维码

    需求: 客户要求用户不用截图保存,通过直接用手机识别二维码关注,所以,这就需要我们进行图片的预览即可以解决. <image src="https://lr-huayoushi.oss- ...

  6. uniapp打包微信小程序识别二维码

    1.image标签长按识别实现(微信版本>2.7.0) 为image标签设置 show-menu-by-longpress="true"可实现识别二维码(微信个人码.微信群码 ...

  7. 【Android App】人脸识别中扫描识别二维码实战解析(附源码和演示 超详细)

    需要源码请点赞关注收藏后评论区留言私信~~~ 一.扫描识别二维码 不仅可以利用zxing库生成二维码,同样利用zxing库可以扫描二维码并解析得到原始文本,此时除了给build.gradle添加如下一 ...

  8. USB摄像头预览识别二维码

    博客: 安卓之家 掘金: jp1017 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 前言 二维码现在用的超级多,其实它就是一种编码,把字符串编码保存成一个图片,我们扫描图片得到字符串 ...

  9. js 通过摄像头识别二维码,可以控制闪光灯。原生 HTML 调用摄像头,有 原生HTML + JS 版本 和 VUE3 + TS 版本与 uniapp 版本

    开发背景 最开始公司说到这个需求的时候第一个想法是使用微信的 js SDK 接入微信的扫一扫.但是得知所做的这个功能模块是需要嵌入到之前开发的app中,所以就只有使用 js 原生的 API 来开发了. ...

最新文章

  1. windows下apache配置虚拟主机的两个方法
  2. 重读图灵经典之作,九条反驳意见引人深思
  3. Windows从web下载文件的几种方式
  4. maven deploy plugin_学习Maven之Maven Surefire Plugin
  5. win7/WIN8.1(x64) 下使用MSDE WIN10不行
  6. 解读Facebook CAN:如何给人工智能赋予艺术创作的力量
  7. 程序出Bug,一定是环境的锅!
  8. 在php中默认访问权限修饰符是,php中访问修饰符的知识点总结
  9. 电磁阀、电磁铁的工作原理说明
  10. 4G物联网卡使用记录——使用方法及被锁卡处理
  11. Wireshark之远程抓包
  12. 强化学习(实践):多臂老虎机,动态规划,时序差分
  13. 计算机itunes无法安装,电脑一直显示无法安装iTunes怎么回事
  14. Laravel 中 查询构造器 where 中拼接 wherein 或者orWhere 的写法
  15. 计算机教师结构化方式面试,“中学信息技术学科”题目如何答?教师资格结构化面试...
  16. 升级jdk版本后,出现SecurityException: JCE cannot authenticate the provider BC
  17. 【高德LBS开源组件大赛】地震来了
  18. Seata源码走读分析
  19. CSDN的Markdown编辑器中等比例缩放图片的方法
  20. 只要有心,学好Linux并非难事

热门文章

  1. 分布式事务——分布式事务简介、分布式事务框架 Seata(AT模式、Tcc模式、Tcc Vs AT)、分布式事务—MQ
  2. java mininet_ONOS and mininet
  3. Python---qq群聊天记录词云分析
  4. IT狂人的职场路:跳槽、创业与转型
  5. Primer c++第五版笔记2(到第9章完)
  6. 数据结构——字符串和多维数组
  7. 3个最佳的视频播放器
  8. Spring体系结构
  9. mailto 参数讲解
  10. 图片怎么压缩?教你几招压缩图片的办法