uniapp识别二维码

3 阅读1分钟
      // 扫码识别
      handleScanCode() {
        uni.scanCode({
          // onlyFromCamera: true,
          success: res => {
            // 扫描成功时返回的结果
            const orderCode = res.result
            if (orderCode && orderCode[0] === 'O' && orderCode.length <= 12) {
              this.searchForm.orderCode = res.result
              this.handleSearch()
            } else {
              uni.showToast({ title: '不支持的二维码类型,请重新扫码', icon: 'none' })
            }
          },
          fail: err => {
            // 扫描失败时
            console.error('扫描失败:', err)
            if (err.errMsg === 'scanCode:fail') {
              uni.showToast({ title: '不支持的二维码类型,请重新扫码', icon: 'none' })
            }
          }
        })
        // uni.authorize({
        //   scope: 'scope.camera', // 摄像头权限
        //   success: () => {
        //     // 用户已经授权,直接调用扫码

        //   },
        //   fail: () => {
        //     // 用户拒绝授权,提示授权失败,并引导用户开启设置
        //     uni.showModal({
        //       title: '摄像头权限未授权',
        //       content: `请在设置页面开启摄像头权限,以使用扫码功能。`,
        //       confirmText: '去设置',
        //       cancelText: '取消',
        //       success: modalRes => {
        //         if (modalRes.confirm) {
        //           // 引导用户进入设置页面
        //           uni.openSetting({
        //             success: settingRes => {
        //               if (settingRes.authSetting['scope.camera']) {
        //                 uni.showToast({ title: '授权成功!请再次扫码', icon: 'none' })
        //               } else {
        //                 uni.showToast({ title: '仍未授权摄像头', icon: 'none' })
        //               }
        //             }
        //           })
        //         } else {
        //           uni.showToast({ title: '扫码功能已取消', icon: 'none' })
        //         }
        //       }
        //     })
        //   }
        // })
      },