中软高科支付宝小程序身份证解码插件集成说明
1、引入插件
在小程序的app.json中,加入插件。
"plugins": {
"readcard-plugin": {
"version": "*",
"provider": "2021004143649912"
}
}
2、使用插件
在需要使用身份证读卡的页面中,使用插件。
const plugin = requirePlugin('readcard-plugin');
var StatusCode = null;
var that = this;
var initSuccess = false;
Page({
data: {
idCardInfo: null,
},
onLoad() {
that = this;
StatusCode = plugin.StatusCodeEnum();
console.log("对照状态码:", StatusCode);
// 设置APPID (开始读卡之前,必须设置)
plugin.setAppId("appid联系我司商务获取");
// 设置读卡SDK参数
that.readSetting();
// 初始化读卡
that.initRead();
},
// 设置读卡SDK参数
readSetting(){
// 不需要日志时,可以不设置
plugin.setShowLog(my.getFileSystemManager(), my.env.USER_DATA_PATH);
// 读卡参数设置,根据需要自行修改参数值,参数名称及类型不可修改。
var _Setting = {
decodeImageType: "dn1", // dn0: 无照片 dn1: 平台解码照片
readCardType: 7, // 2:NFC 7:蓝牙外设读卡器
saveLog: false, // 是否保存日志文件。设置true时,必须调用以上的 plugin.setShowLog(); 设置日志保存的目录
openLocalCache: true, // 是否开启本地缓存
// 解码服务器配置
ipPortArray: [{
address: 'ws.mtjsoft.cn',
port: 443,
canUse: true
}]
};
// 将参数设置给插件
plugin.readSetting(_Setting);
},
// 初始化 读卡示例代码
initRead() {
if (initSuccess == true) {
my.showToast({
content: '已经初始化过了',
type: 'none'
});
return;
}
// 初始化并开始读卡
plugin.startReadCard(function (code, msg, value, cardType) {
let code_msg = "code:" + code + "\n" + "msg:" + msg;
that.setData({
msg: code_msg,
});
switch (code) {
case StatusCode.ININ_ING.code: // 初始化中
my.showLoading({
content: '初始化中...'
});
break;
case StatusCode.ININ_OK.code: // 初始化成功
my.hideLoading();
initSuccess = true;
my.showToast({
content: '初始化成功',
type: 'success'
})
break;
case StatusCode.ININ_FAILE.code: // 初始化失败
my.hideLoading();
initSuccess = false;
if (msg.indexOf("61000") != -1) {
my.showModal({
title: '温馨提示',
content: '设备不支持NFC',
complete: (res) => {}
});
} else if (msg.indexOf("61001") != -1) {
my.showModal({
title: '温馨提示',
content: '系统NFC开关未打开',
complete: (res) => {}
});
} else {
my.showToast({
content: msg,
type: 'fail'
})
}
break;
case StatusCode.FIND_CARD_START.code: // 开始寻卡
my.showToast({
content: '开始寻卡',
type: 'success'
})
break;
case StatusCode.FIND_CARD_SUCCESS.code: // 寻卡成功
my.showToast({
content: '寻卡成功',
type: 'success'
})
break;
case StatusCode.READCARD_START.code: // 解码中
my.showLoading({
content: '请勿移动卡片',
})
break;
case StatusCode.READCARD_SUCCESS.code: // 解码成功
my.hideLoading();
my.showToast({
content: '解码成功',
type: 'success'
})
switch (cardType) {
case StatusCode.CARD_IC.code: // IC卡
console.log("IC卡:" , value);
break;
case StatusCode.CARD_LCT_STUDENT.code: // 绿城通学生卡
console.log("绿城通学生卡:" , value);
break;
case StatusCode.CARD_LCT_NORMAL.code: // 绿城通普通卡
console.log("绿城通普通卡:" , value);
break;
case StatusCode.CARD_LCT_OLD.code: // 绿城通老年卡
console.log("绿城通老年卡:" , value);
break;
case StatusCode.CARD_IDCARD.code: // 身份证件
// 读取到的身份证信息
// 详细字段说明,详见文档下发的附录
var idCardInfo = JSON.parse(value);
console.log("身份证信息:" , idCardInfo);
// 当设置平台解码身份证照片时,
// idCardInfo.image字段,为base64编码的照片字符串,可直接用于显示
// idCardInfo.type=1080 中国居民身份证
// idCardInfo.type=1081 新版外国永久居住证
// idCardInfo.type=1082 港澳台居住证
// idCardInfo.type=1083 旧版外国永久居住证
break;
}
break;
case StatusCode.READCARD_FAILE.code: // 解码失败
my.hideLoading();
my.showToast({
content: '解码失败' + msg,
type: 'fail'
})
break;
}
});
},
onShow() {
console.log("onShow", "界面显示");
},
onHide() {
console.log("onHide", "界面隐藏");
},
onUnload() {
console.log("onUnload", "界面销毁,需要停止读卡");
plugin.stopReadCard();
}
})
3、附录
身份证详细信息 IdCardData
字段 | 类型 | 注释 |
---|---|---|
type | int | 1080:中国居民身份证 |
address | string | 家庭住址 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
image | String | base64照片 |
issue | string | 签发机关 |
name | string | 姓名 |
nation | string | 民族 |
sex | string | 性别 |
uuid | string | uuid |
外国人永久居留身份证 IdCardData
字段 | 类型 | 注释 |
---|---|---|
type | int | 1081:新版外国人永久居住证 1083:旧版外国人永久居住证 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
issue | string | 签发机关 |
sex | string | 性别 |
uuid | string | uuid |
image | String | base64照片 |
nameChinese | string | 中文姓名 |
nameEnglish | string | 英文姓名 |
nameEnglishAdd | string | 英文姓名备用 |
nationlity | string | 国籍 |
cardVersion | string | 卡版本号 |
cardType | string | 卡类型 |
historicalNumber | string | 既往版本证件号码关联项 |
renewalNumber | string | 换证次数 |
港澳台居民居住证详细信息 IdCardData
字段 | 类型 | 注释 |
---|---|---|
type | int | 1082:港澳台居住证 |
address | string | 家庭住址 |
birthday | string | 出生日期 |
dn | string | dn码 |
endDate | string | 身份证结束时间 |
startDate | string | 身份证生效时间 |
id | string | 身份证号码 |
image | String | base64照片 |
issue | string | 签发机关 |
name | string | 姓名 |
nation | string | 民族 |
sex | string | 性别 |
uuid | string | uuid |
passCheckId | string | 通行证号码 |
issuesNumber | string | 签发次数 |
原文地址:https://blog.csdn.net/weixin_39406065/article/details/145487094
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!