7***@qq.com
7***@qq.com
  • 发布:2019-01-30 11:00
  • 更新:2023-03-31 14:49
  • 阅读:7321

uni-app h5不支持扫码功能,那么能通过其他方式实现吗?

分类:uni-app

uni-app h5不支持扫码功能,那么能通过其他方式实现吗?我需要在手机网页上实现扫码功能。

2019-01-30 11:00 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

我实现了一个:https://juejin.cn/post/7216559027513442359
有用的话麻烦点个赞

Trust

Trust - 少说废话

H5 平台的 API,都是基于 W3C 的规范实现的。
目前 W3C 还没有这规范

zzk

zzk

建议上传图片,后台解析二维码。类似于草料

8***@qq.com

8***@qq.com

h5你的现在可以扫码了吗?

JakeWarthon

JakeWarthon

您现在实现这个功能了吗

DCloud_heavensoft

DCloud_heavensoft

如果是普通浏览器里,没有人做扫码,html5规范不支持。
如果是微信等特殊浏览器,用微信的jssdk

  • JakeWarthon

    好的谢谢 但是就一点没办法了吗

    2019-11-16 23:25

7***@qq.com

7***@qq.com

同问啊

zr12041019

zr12041019 - 个人学习

问一下楼主,请问你解决了没,最后是怎么实现的?????

全栈工程师

全栈工程师 - 精通mui、uniapp,承接相关项目外包,解决各种疑难问题。有任何问题可以随时联系,QQ:419761282

H5不支持扫码识别,但是可以曲线救国,H5调出摄像头,传入影响后后台解析二维码再返回

王彬涛

王彬涛 - 微尘

qrcode-stream可以实现h5扫码识别

  • 黑珀

    有完整实例吗

    2021-05-12 13:55

3***@qq.com

3***@qq.com

微信等特殊浏览器,用微信的jssdk
普通浏览器里,只有上传图片,前端或者后端识别,前端的可以用jsqr这个库
参考代码:

import jsQR from "jsqr";  

  scanCodeTest() {  
    // #ifndef H5  
    uni.scanCode({  
      success: function(res) {  
        console.log(JSON.stringify(res));  
      }  
    });  
    // #endif  
    // #ifdef H5  
    console.log("h5  scan");  
    const that = this;  
    uni.chooseImage({  
      count: 1, //默认9  
      sourceType: ["album"], //从相册选择  
      success: function(res) {  
        console.log(res);  
        const file = res.tempFiles[0];  

        if (window.FileReader) {  
          const fr = new FileReader();  
          fr.readAsDataURL(file);  
          fr.onloadend = function(e: any) {  
            const base64Data = e.target.result;  
            console.log("base64Data", base64Data);  
            that.base64ToUint8ClampedArray(base64Data, function(imageData) {  
              console.log("imageData", imageData);  

              const code = jsQR(  
                imageData.data,  
                imageData.width,  
                imageData.height  
              );  
              console.log("jsQR解析", code);  
            });  
          };  
        }  
      }  
    });  
    // #endif  
  }  
  base64ToUint8ClampedArray(base64, callback) {  
    const img = new Image();  
    img.src = base64;  

    img.onload = function() {  
      const canvas = document.createElement("canvas");  
      const ctx = canvas.getContext("2d");  

      if (ctx) {  
        canvas.height = img.height;  
        canvas.width = img.width;  
        ctx.drawImage(img, 0, 0);  
        const imageData = ctx.getImageData(0, 0, img.width, img.height);  
        callback(imageData);  
      }  
    };  
  }
  • wentian

    拍照浏览器会卡死,是哪里导致的问题

    2021-12-22 11:20

要回复问题请先登录注册