• H5扫描条形码二维码html5-qrcode插件的坑


    致命问题就是大部分条形码扫不出来,只有小部分可以,不过扫二维码倒是没问题很快。

    最后我的解决办法是在微信公众号就调用微信的扫一扫(记得使用之前先调用一下微信签名),在安卓端就用安卓的(当然安卓端也需要配合改一下方法才能去调用安卓的方法)

    1. var loadWxConfig = async () => {
    2. // 进行签名的时候 Android 不用使用之前的链接, ios 需要
    3. let signLink = /(Android)/i.test(navigator.userAgent) ? location.href : window.entryUrl
    4. console.log('拼接的链接',signLink)
    5. const config = await getWxConfig({url: signLink})
    6. console.log('签名',config)
    7. window.wx.config({
    8. debug: false,
    9. appId: config.appId,
    10. timestamp: config.timestamp,
    11. nonceStr: config.nonceStr,
    12. signature: config.signature,
    13. jsApiList: [ 'getLocation', 'updateAppMessageShareData', 'scanQRCode','updateTimelineShareData' ],
    14. openTagList: [
    15. 'wx-open-launch-weapp' // 跳转小程序
    16. ]
    17. })
    18. window.wx.error(function (res) {
    19. console.log('哈哈', res)
    20. })
    21. }
    1. var scanQRCode = ({success, faild}) => {
    2. window.wx.ready(() => {
    3. window.wx.scanQRCode({
    4. needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
    5. scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
    6. success: (res) => {
    7. var result = res.resultStr // 当needResult 为 1 时,扫码返回的结果
    8. console.log('二维码数据', result)
    9. success(validInput(res.resultStr))
    10. },
    11. faild: err => {
    12. faild(err)
    13. console.error('错误:', err)
    14. }
    15. })
    16. })
    17. }

    1. // 扫描
    2. callScan() {
    3. if (isMyApp()) {//安卓
    4. console.log('isMyApp()', isMyApp(), window.bridge)
    5. window.bridge.openScan()
    6. window.scanResult = (res) => {
    7. console.log('安卓扫描结果', res)
    8. this.simNum = res
    9. }
    10. } else if (isWeixinOfficialAccount()) {//微信公众号
    11. scanQRCode({
    12. success: (val) => {
    13. this.simNum = val
    14. }
    15. })
    16. } else {
    17. this.$vux.toast.text('该应用还没支持扫描功能', 'center')
    18. return
    19. }
    20. }

    感谢以下博主:

    VUE html5-qrcode H5扫一扫功能_改bug的101天的博客-CSDN博客

  • 相关阅读:
    1688关键字搜索工厂数据 API
    MySQL中将传参表名字符串转为sql语句执行
    BLE广播事件包解析&空口事例
    BIO、NIO、AIO区别
    一键部署mysql+redis
    VS2008用“CTRL+F”查找对话框没弹出来
    利用正则表达式进行爬取数据以及正则表达式的一些使用方法
    认识进程和线程(几乎包含初学者全部知识)
    2022建筑架子工(建筑特殊工种)考试练习题及在线模拟考试
    docker 部署 RabbitMQ
  • 原文地址:https://blog.csdn.net/m0_60067558/article/details/133748704