>
Uniapp二代證讀取插件 CSYJM-4手持機(jī)NFC讀取SDK 手機(jī)
證卡識(shí)別、云解碼、護(hù)照識(shí)別儀、二代證讀卡器、人證核驗(yàn)設(shè)備
供應(yīng)信息
所在地區(qū):河南省?鄭州市
經(jīng)營(yíng)性質(zhì):生產(chǎn)加工
企業(yè)類型:私營(yíng)有限責(zé)任公司
注 冊(cè) 地:鄭州市
主要經(jīng)營(yíng):證卡識(shí)別、云解碼、護(hù)照識(shí)別儀、二代證讀卡器、人證核驗(yàn)設(shè)備
1、引入插件
在小程序的app.json中,加入插件。
"plugins": {
"readcard-plugin": {
"version": "2.3.7",
"provider": "wxa2583ebacdb87a6a"
}
}
2、基礎(chǔ)庫(kù)
調(diào)試基礎(chǔ)庫(kù) 2.20.3 及以上
微信版本:
iOS 暫不支持NFC(微信未支持),可使用藍(lán)牙外設(shè)讀卡器
Android 8.0.6及以上版本,同時(shí)支持NFC、藍(lán)牙外設(shè)讀卡器
讀取護(hù)照、通行證信息功能
// 設(shè)置讀卡護(hù)照、通行證參數(shù)
readSetting(){
// 設(shè)置APPID (開始讀卡之前,必須設(shè)置)
plugin.setAppId("appid聯(lián)系我司商務(wù)獲取", "", "");
// 日志保存目錄
// 默認(rèn)在 Android/data/com.tencent.mm/MicroMsg/wxanewfiles目錄下 搜索 zrgk_mini_log
// 不需要日志時(shí),可以不設(shè)置
plugin.setShowLog(wx.getFileSystemManager(), wx.env.USER_DATA_PATH);
// 讀卡參數(shù)設(shè)置,
var _Setting = {
decodeImageType: "dn1", // dn0: 無(wú)照片 dn1: 平臺(tái)解碼照片
readCardType: 9, // 9: NFC讀護(hù)照/通行證
saveLog: true, // 是否保存日志文件。設(shè)置true時(shí),必須調(diào)用以上的 plugin.setShowLog(); 設(shè)置日志保存的目錄
openLocalCache: true, // 是否開啟本地緩存
// 解碼配置。
ipPortArray: [{
address: passport.sfzydq.com,
port: 18180,
canUse: true
}]
};
// 將參數(shù)設(shè)置給插件
plugin.readSetting(_Setting);
},
// OCR 識(shí)別機(jī)讀碼
ocr(){
// 打開相機(jī)拍照
this.chooseImageBase64().then((img) => {
wx.showLoading({
title: OCR識(shí)別中...,
})
// 識(shí)別類型
let type = 1; // 1:護(hù)照 2:來(lái)往港澳臺(tái)通行證 3:港澳臺(tái)居民來(lái)往內(nèi)地通行證 4:頭像面 5:國(guó)徽面
let url = "https://epassport.sfzydq.com/ocr/uploadImageBase64"; // OCR識(shí)別地址
return plugin.ocrMRZ(img, type, url);
}).then((res) => {
// 識(shí)別的結(jié)果
//{"code":200,"msg":"識(shí)別完成","data":{"dateOfExpiry":"261113","MRZLine1":"","documentNumber":"E90342672","MRZLine2":"E903426725CHN9405217M2611136MC0NMMNKPCNEA932","dateOfBirth":"940521"}}
}).catch((err) => {
wx.hideLoading();
wx.showToast({
title: err,
})
})
},
// 選擇圖片,返回base64
chooseImageBase64() {
// 使用前,申請(qǐng)相機(jī)相關(guān)權(quán)限
return new Promise(function (resolve, reject) {
wx.chooseMedia({
count: 1,
mediaType: [image],
sourceType: [album, camera],
sizeType: [compressed], // 使用 壓縮照片,否則識(shí)別速度慢
success(res) {
let size = res.tempFiles[0].size / 1024;
console.log("選擇的圖片大小:" + size + "Kb")
if (size > 2048) { // 照片不要超過(guò)2M,否則識(shí)別速度很慢
wx.showModal({
content: 文件大小不能超過(guò)2Mb,
showCancel: false,
confirmText: 好的,
confirmColor: #F74459,
success: function (res) {}
})
return
}
// tempFilePath可以作為 img 標(biāo)簽的 src 屬性顯示圖片
const tempFilePath = res.tempFiles[0].tempFilePath //tempFilePaths[0]
// 獲取全局的文件管理器
const fileManager = wx.getFileSystemManager();
// fileManager.readFileSync(獲取文件路徑,轉(zhuǎn)碼格式) data:image/jpg;base64, +
let base64 = fileManager.readFileSync(tempFilePath, base64);
// 返回base64圖片
resolve(base64);
},
fail: function (err) {
reject(err);
}
})
});
},
// 初始化 讀卡示例代碼
initRead() {
if (initSuccess == true) {
wx.showToast({
title: 已經(jīng)初始化過(guò)了,
icon: none
});
return;
}
let startReadData = {
documentNumberStr: , // 9位護(hù)照號(hào)碼 如 E14403340
dateOfBirthStr: , // 6位出生如期 如 761123(年份不要前兩位)
dateOfExpiryStr: , // 6位有效日期 如 230408(年份不要前兩位)
isPassportPhoto: true // 是否需要護(hù)照的頭像照片
}
// 初始化并開始讀卡
plugin.startReadEpassport(startReadData, function (code, msg, value, cardType) {
let code_msg = "code:" + code + "
" + "msg:" + msg;
that.setData({
msg: code_msg,
});
switch (code) {
case StatusCode.ININ_ING.code: // 初始化中
wx.showLoading({
title: 初始化中...,
mask: true
});
break;
case StatusCode.ININ_OK.code: // 初始化成功
initSuccess = true;
wx.hideLoading();
wx.showToast({
title: 初始化成功,
icon: success
})
break;
case StatusCode.ININ_FAILE.code: // 初始化失敗
initSuccess = false;
wx.hideLoading();
if (msg.indexOf("13000") != -1) {
wx.showModal({
title: 溫馨提示,
content: 設(shè)備不支持NFC,
complete: (res) => {}
});
} else if (msg.indexOf("13001") != -1) {
wx.showModal({
title: 溫馨提示,
content: 系統(tǒng)NFC開關(guān)未打開,
complete: (res) => {}
});
} else {
wx.showToast({
title: msg,
icon: error
})
}
break;
case StatusCode.FIND_CARD_START.code: // 開始尋卡
wx.showToast({
title: 開始尋卡,
icon: success
})
break;
case StatusCode.FIND_CARD_SUCCESS.code: // 尋卡成功
allCount += 1;
wx.showToast({
title: 尋卡成功,
icon: success
})
break;
case StatusCode.READCARD_START.code: // 開始解碼
wx.showLoading({
title: 請(qǐng)勿移動(dòng)卡片,
mask: true
})
break;
case StatusCode.READCARD_SUCCESS.code: // 解碼成功
wx.hideLoading();
wx.showToast({
title: 解碼成功,
icon: success
})
switch (cardType) {
case StatusCode.CARD_EPASSPORT.code: // 護(hù)照/通行證
// 讀取到的護(hù)照/通行證信息
// 詳細(xì)字段說(shuō)明,詳見文檔下發(fā)的附錄
var cardInfo = JSON.parse(value);
console.log("信息:" , cardInfo);
// cardInfo.image字段,為base64編碼的照片字符串,可直接用于顯示
break;
}
break;
case StatusCode.READCARD_FAILE.code: // 解碼失敗
wx.hideLoading();
wx.showToast({
title: 解碼失敗 + msg,
icon: error
})
break;
}
});
}
4、獲取 deviceId
由于openid是由微信生成,網(wǎng)絡(luò)獲取可能存在延時(shí)。需在插件初始化成功后再獲取。
成功獲取到ID,都是以 “wxMini_” 開頭。
返回微信綁定ID。更換微信號(hào)或小程序宿主 ID會(huì)變。
需要將 https://epassport.sfzydq.com 配置合法域名
/
plugin.getDeviceId();
5、配置TCP合法域名
必須將參數(shù)配置時(shí),配置的 ipPortArray 參數(shù)中的所有地址,加入到合法的TCP域名,
否則無(wú)法訪問(wèn)到。
如配置:
tcp://yfs4.sfzydq.com
tcp://yfs3.sfzydq.com
tcp://yjm2.sfzydq.com
tcp://yfs3.sfzydq.com
tcp://passport.sfzydq.com
tcp://test.sfzydq.com
6、附錄
詳細(xì)信息IdCardData
字段 類型 注釋
type int 1080:中國(guó)居民
address string 家庭住址
birthday string 出生日期
dn string dn碼
endDate string 結(jié)束時(shí)間
startDate string 生效時(shí)間
id string 號(hào)碼
image String base64照片
issue string 簽發(fā)
name string 姓名
nation string 民族
sex string 性別
uuid string uuid
外國(guó)人居住證IdCardData:
字段 類型 注釋
type int 1081:新版外國(guó)人居住證 1083:舊版外國(guó)人居住證
birthday string 出生日期
dn string dn碼
endDate string 結(jié)束時(shí)間
startDate string 生效時(shí)間
id string 號(hào)碼
issue string 簽發(fā)
sex string 性別
uuid string uuid
image String base64照片
nameChinese string 中文姓名
nameEnglish string 英文姓名
nameEnglishAdd string 英文姓名備用
nationlity string 國(guó)籍
cardVersion string 卡版本號(hào)
cardType string 卡類型
historicalNumber string 既往版本號(hào)碼關(guān)聯(lián)項(xiàng)
renewalNumber string 換證次數(shù)
港澳臺(tái)居住證詳細(xì)信息IdCardData
字段 類型 注釋
type int 1082:港澳臺(tái)居住證
address string 家庭住址
birthday string 出生日期
dn string dn碼
endDate string 結(jié)束時(shí)間
startDate string 生效時(shí)間
id string 號(hào)碼
image String base64照片
issue string 簽發(fā)
name string 姓名
nation string 民族
sex string 性別
uuid string uuid
passCheckId string 通行證號(hào)碼
issuesNumber string 簽發(fā)次數(shù)
護(hù)照通行證詳細(xì)信息
字段 類型 注釋
nameOfHolder string 中文姓名
primaryIdentifier string 姓
secondaryIdentifier string 名
gender string 性別 M男 F女
dateOfBirth string 生日
nationality string 碼
dateOfExpiry string 有效期
documentNumber string 護(hù)照號(hào)碼
duration long 解碼時(shí)長(zhǎng)
mrz string 機(jī)讀碼
personNumber string 個(gè)人號(hào)碼
idNumber string 號(hào)碼
image String base64照片
還沒找到您需要的Uniapp二代證讀取插件 CSYJM-4手持機(jī)NFC讀取SDK 手機(jī)?發(fā)布您的求購(gòu)意向,讓供應(yīng)商主動(dòng)與您聯(lián)系!
立即發(fā)布求購(gòu)意向本網(wǎng)頁(yè)所展示的有關(guān)【Uniapp二代證讀取插件 CSYJM-4手持機(jī)NFC讀取SDK 手機(jī)】的信息/圖片/參數(shù)等由億諾千企網(wǎng)的會(huì)員【鄭州中軟高科信息技術(shù)有限公司】提供,由億諾千企網(wǎng)會(huì)員【鄭州中軟高科信息技術(shù)有限公司】自行對(duì)信息/圖片/參數(shù)等的真實(shí)性、準(zhǔn)確性和合法性負(fù)責(zé),本站僅提供展示服務(wù),請(qǐng)謹(jǐn)慎交易,因交易而產(chǎn)生的法律關(guān)系及法律糾紛由您自行協(xié)商解決,本平臺(tái)對(duì)此不承擔(dān)任何責(zé)任。您在本網(wǎng)頁(yè)可以瀏覽【Uniapp二代證讀取插件 CSYJM-4手持機(jī)NFC讀取SDK 手機(jī)】有關(guān)的信息/圖片/價(jià)格等及提供【鄭州中軟高科信息技術(shù)有限公司】的商家公司簡(jiǎn)介、聯(lián)系方式等信息。
在您的合法權(quán)益受到侵害時(shí),歡迎您向郵箱發(fā)送郵件,或者進(jìn)入《網(wǎng)站意見反饋》了解投訴處理流程,我們將竭誠(chéng)為您服務(wù),感謝您對(duì)億諾千企網(wǎng)的關(guān)注與支持!