目录


1、设置全局属性scanServer_BD

Vue.prototype.scanServer_BD = 'https://aip.baidubce.com/rest/2.0/ocr/v1/business_card?access_token=*******************************' //百度名片识别接口地址

2、页面methods里增加scan方法:

scan() {
  var me = this
  uni.chooseImage({
    count: 1,
    sizeType: ['compressed'],
    sourceType: ['album', 'camera'],
    success: function(res) {
      var tempFilePath = res.tempFilePaths[0]
      //百度名片识别接口处理开始
      uni.showLoading({
        title: '识别中',
      })
      plus.io.resolveLocalFileSystemURL(tempFilePath, function(entry) {
        entry.file(function(file) {
          var fileReader = new plus.io.FileReader()
          fileReader.readAsDataURL(file) //对图片进行Base64编码
          fileReader.onloadend = function(evt) {
            var imageBase64Str = evt.target.result.split(',')[1]
            uni.request({
              url: me.scanServer_BD,
              method: 'POST',
              header: me.getHeader('POST', false),
              data: {
                image: imageBase64Str
              },
              success: function(res) {
                var resDataStr = res.data
                if (!(resDataStr.error_code || resDataStr.words_result.COMPANY[0].length < 1)) {
                  uni.hideLoading()
                  uni.navigateTo({
                    url: '../search/search?searchdata=' + resDataStr.words_result.COMPANY[0]
                  })
                } else {
                  uni.hideLoading()
                  uni.showToast({
                    icon: 'none',
                    title: '无法识别,请重试',
                  })
                }
              },
              fail() {
                uni.hideLoading()
                uni.showToast({
                  icon: 'none',
                  title: '错误,请检查网络连接',
                })
              }
            })
          }
        })
      })
      //百度名片识别接口处理结束
    }
  })
}

如果使用启信宝的名片全能王识别接口,图片直接上传,不需要进行Base64编码

//全能王名片识别接口处理开始
 uni.showLoading({
  mask: true,
  title: "识别中,请等待"
 });
 uni.uploadFile({
  url: me.scanServerQXB,
  filePath: me.tempFile,
  name: "file",
  success(res) {
    var resDataStr = res.data;
    var resData = JSON.parse(resDataStr);
    me.searchText = resData.organization[0].item.name;
    uni.navigateTo({
      url: '../search/search?searchdata=' + me.searchText
    });
  },
  complete() {
    uni.hideLoading();
  }
 })
//全能王名片识别接口处理结束
©本文为原创文章,著作权归博主所有,转载请联系博主获得授权

发表评论