UNPKG

mtl-js-sdk

Version:

ynf-fw-mtl-api

136 lines (125 loc) 3.89 kB
const orcBaseUrl = "ht" + "tps://bip-dai" + "ly.yonyoucloud.com/iuap-yonbuilder-mobile" export function scanInvoice(object={}) { _getOcrImageInfo(object, "invoice"); } export function recognizeInvoice(object={}) { let ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "invoice"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "invoice"); return; } _chooseOcrImage(object, "invoice"); } export function scanIDCard(object={}) { _getOcrImageInfo(object, "id"); } export function recognizeIDCard(object={}) { let ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "id"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "id"); return; } _chooseOcrImage(object, "id"); } function _recognizeIDCard(object) { let { appCode, side, type, localData, url = orcBaseUrl} = object; let path; if (type === "invoice") { path = `${url}/rest/v1/api/apilink/ocr/invoice/vat/base64`; } else if (type === "id") { path = `${url}/rest/v1/api/apilink/ocr/card/id/base64`; } else if (type === "bank") { path = `${url}/rest/v1/api/apilink/ocr/card/bank/base64`; } let params = { image: localData, apiCode: appCode, isFront: side === 'back' ? false : true }; mtl.request({ method: "POST", url: path, params: params, headers: { 'Content-Type': 'application/json;' }, success:function(res) { object.success && object.success(res.data); object.complete && object.complete(res); }, fail:function(err) { object.fail && object.fail(err); object.complete && object.complete(err); } }); } export function scanBankCard(object={}) { _getOcrImageInfo(object, "bank"); } export function recognizeBankCard(object={}) { let ocrImage = object.image; if (ocrImage.startsWith("/9j/")) { openScan(object, ocrImage, "bank"); return; } if (ocrImage.startsWith("data:image/")) { ocrImage = ocrImage.split(";base64,")[1]; openScan(object, ocrImage, "bank"); return; } _chooseOcrImage(object, "bank"); } // export function scanBusinessCard(object={}) { // _getOcrImageInfo(object, "business"); // } // // export function recognizeBusinessCard(object={}) { // let ocrImage = object.image; // if (ocrImage.startsWith("/9j/")) { // openScan(object, ocrImage, "business"); // return; // } // if (ocrImage.startsWith("data:image/")) { // ocrImage = ocrImage.split(";base64,")[1]; // openScan(object, ocrImage, "business"); // return; // } // _chooseOcrImage(object, "business"); // } function _getOcrImageInfo(object, type) { let sourceType = object.sourceType; mtl.chooseImage({ count: 1, // 默认9 sizeType: ["original", "compressed"], sourceType: sourceType || ["album", "camera"], success: res => { let localIds = res.localIds; _chooseOcrImage({...object, image:localIds[0]}, type); }, fail: object.fail }); } function _chooseOcrImage(object, type) { mtl.getLocalImgData({ localId:object.image, success: function (res) { let localData = res.localData; if (localData.startsWith("data:image/")) { localData = localData.split(";base64,")[1]; } openScan(object, localData, type); }, fail: object.fail }); } function openScan(object, localData, type) { _recognizeIDCard({...object, localData, type}); }