亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能

發布時間:2022-04-20 14:26:12 來源:億速云 閱讀:421 作者:iii 欄目:大數據

本篇內容主要講解“小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能”吧!

先看下我們的頁面和效果圖。

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能

功能其實很簡單,就是我們點對應的按鈕后,去拍照或者去相冊選擇對應的圖片。然后把圖片上傳到云存儲,會有一個對應的圖片url,然后把這個圖片url傳遞到云函數,然后云函數里使用小程序的開發ocr能力,來識別圖片,返回對應的信息回來。如下圖所示,我們識別銀行卡(身份證什么的就不演示了,涉及到石頭哥個人隱私)

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能

接下來就是代碼的實現了。

一,首先要創建一個云開發的小程序項目

這里我前面文章有講解過,就不再細說了,不會的同學去翻看下我之前的文章。或者看下我錄制的講解視頻

這里有一點需要注意的給大家說下

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能 

二,創建一個簡單的小程序頁面

1,index.wxml如下

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能 

2,index.js完整代碼如下

Page({

 //身份證
 shenfenzheng() {
  this.photo("shenfenzheng")
 },
 //銀行卡
 yinhangka() {
  this.photo("yinhangka")
 },
 //行駛證
 xingshizheng() {
  this.photo("xingshizheng")
 },

 //拍照或者從相冊選擇要識別的照片
 photo(type) {
  let that = this
  wx.chooseImage({
   count: 1,
   sizeType: ['original', 'compressed'],
   sourceType: ['album', 'camera'],
   success(res) {
    // tempFilePath可以作為img標簽的src屬性顯示圖片
    let imgUrl = res.tempFilePaths[0];
    that.uploadImg(type, imgUrl)
   }
  })
 },

 // 上傳圖片到云存儲
 uploadImg(type, imgUrl) {
  let that = this
  wx.cloud.uploadFile({
   cloudPath: 'ocr/' + type + '.png',
   filePath: imgUrl, // 文件路徑
   success: res => {
    console.log("上傳成功", res.fileID)
    that.getImgUrl(type, res.fileID)
   },
   fail: err => {
    console.log("上傳失敗", err)
   }
  })
 },

 //獲取云存儲里的圖片url
 getImgUrl(type, imgUrl) {
  let that = this
  wx.cloud.getTempFileURL({
   fileList: [imgUrl],
   success: res => {
    let imgUrl = res.fileList[0].tempFileURL
    console.log("獲取圖片url成功", imgUrl)
    that.shibie(type, imgUrl)
   },
   fail: err => {
    console.log("獲取圖片url失敗", err)
   }
  })
 },

 //調用云函數,實現OCR識別
 shibie(type, imgUrl) {
  wx.cloud.callFunction({
   name: "ocr",
   data: {
    type: type,
    imgUrl: imgUrl
   },
   success(res) {
    console.log("識別成功", res)
   },
   fail(res) {
    console.log("識別失敗", res)
   }
  })
 }
})

上面代碼注釋講解的很清楚了,再結合我們的流程圖,相信你可以看明白。

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能 

三,重頭戲來了,識別的核心代碼是下面這個云函數

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能

云函數的完整代碼也給大家貼出來

// 云函數入口文件
const cloud = require('wx-server-sdk')
cloud.init()

// 云函數入口函數
exports.main = async(event, context) => {
 let {
  type,
  imgUrl
 } = event
 switch (type) {
  case 'shenfenzheng':
   {
    // 識別身份證
    return shenfenzheng(imgUrl)
   }
  case 'yinhangka':
   {
    // 識別銀行卡
    return yinhangka(imgUrl)
   }
  case 'xingshizheng':
   {
    // 識別行駛證
    return xingshizheng(imgUrl)
   }
  default:
   {
    return
   }
 }
}

//識別身份證
async function shenfenzheng(imgUrl) {
 try {
  const result = await cloud.openapi.ocr.idcard({
   type: 'photo',
   imgUrl: imgUrl
  })
  return result
 } catch (err) {
  console.log(err)
  return err
 }
}
//識別銀行卡
async function yinhangka(imgUrl) {
 try {
  const result = await cloud.openapi.ocr.bankcard({
   type: 'photo',
   imgUrl: imgUrl
  })
  return result
 } catch (err) {
  console.log(err)
  return err
 }
}
//識別行駛證
async function xingshizheng(imgUrl) {
 try {
  const result = await cloud.openapi.ocr.vehicleLicense({
   type: 'photo',
   imgUrl: imgUrl
  })
  return result
 } catch (err) {
  console.log(err)
  return err
 }
}

其實沒什么特別的,就是用一個switch方法,根據用戶傳入的不同的type值,來實現不同的識別效果。

如用傳入的type是‘ yinhangka',我們就調用銀行卡識別

try {
  const result = await cloud.openapi.ocr.bankcard({
   type: 'photo',
   imgUrl: imgUrl
  })
  return result
 } catch (err) {
  console.log(err)
  return err
 }

進而把識別的結果返回給小程序端,如下圖

小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能

到此,相信大家對“小程序怎么實現識別身份證,銀行卡,營業執照,駕照功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌拉特中旗| 巴塘县| 城市| 寻乌县| 军事| 伊吾县| 巴楚县| 瓮安县| 治多县| 岳阳县| 芦溪县| 梅河口市| 镇远县| 合江县| 北安市| 阜新| 许昌市| 高雄市| 富阳市| 荔浦县| 黔东| 苏尼特右旗| 泊头市| 杨浦区| 光山县| 东源县| 德庆县| 大关县| 南岸区| 岳池县| 武穴市| 宿州市| 通辽市| 白沙| 富宁县| 凤冈县| 栖霞市| 济阳县| 襄垣县| 洛南县| 弋阳县|