身份证阅读器API模式 VUE Dorado7
VUE 新框架
// 身份证扫描
readIdCard(type) {
// 1.连接
axios.get('http://localhost:19196/openDevice').then(res => {
if (res.data.resultFlag === 0) {
// 2.读卡
axios.get('http://localhost:19196/readCard').then((res) => {
if (res.data.resultFlag === 0) {
// this.$message.success('读卡成功')
// 信息处理
this.form.name = res.data.partyName
this.form.idCard = res.data.certNumber
this.form.nationality = res.data.nation
this.form.birthday = res.data.bornDay
this.form.sex = res.data.gender === '男' ? 1 : res.data.gender === '女' ? 2 : 0
this.form.expDate = res.data.expDate
this.form.residence = res.data.certOrg
this.form.addr = res.data.certAddress
this.form.photo = 'data:image/jpeg;base64,' + res.data.identityPic
// 签到打卡
if (type === 'in') {
this.loading = true
trainClassApi.signIn({ idCard: this.form.idCard }).then(res => {
this.loading = false
if (res.code !== 200) {
this.$message.error(res.msg)
return
}
this.$message.success(res.msg)
this.getByPage()
}).catch(() => {
this.loading = false
})
} else if (type === 'off') { // 签退打卡
this.loading = true
trainClassApi.signOff({ idCard: this.form.idCard }).then(res => {
this.loading = false
if (res.code !== 200) {
this.$message.error(res.msg)
return
}
this.$message.success(res.msg)
this.getByPage()
}).catch(() => {
this.loading = false
})
}
// 3.断开
axios.get('http://localhost:19196/CloseDevice').then(res => {
/* if (res.data.resultFlag !== 0) {
this.$alert('断开失败', '提示', { type: 'error' })
} */
})
} else {
this.$alert('读卡失败', '提示', { type: 'error' })
}
})
} else {
this.$alert('连接失败', '提示', { type: 'error' })
}
})
},
Dorado7 新版身份证阅读器API模式
/**
* 身份证阅读器(API模式)【注意:需使用https模式才行 否者会被跨域拦截】
* like12 add,20240913
*/
// @Bind #idCardApiBtn.onClick
!function(self, employeeForm, employeeDataSet){
// 1.连接
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:19196/OpenDevice', true);
// xhr.withCredentials = true; // 如果需要的话
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var resData = JSON.parse(xhr.responseText);
// console.log(resData);
if(resData.resultFlag == 0){
// 2.读卡
xhr.open('GET', 'http://127.0.0.1:19196/readCard', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var resData = JSON.parse(xhr.responseText);
// console.log(resData);
if(resData.resultFlag == 0){
// 信息处理
var name = resData.partyName;
var idCard = resData.certNumber;
var nationality = resData.nation;
var birthday = resData.bornDay;
var sex = resData.gender === '男' ? 1 : resData.gender === '女' ? 0 : 2; // 本系统为1男0女2未知
/*var expDate = resData.expDate;
var residence = resData.certOrg;*/
var addr = resData.certAddress;
var photo = resData.identityPic;
// var photo = 'data:image/jpeg;base64,' + resData.identityPic;
/*console.log(name);
console.log(idCard);
console.log(nationality);
console.log(birthday);
console.log(sex);
console.log(expDate);
console.log(residence);
console.log(addr);
// console.log(photo);*/
// 出生日期格式转换
var birthdayStr = birthday.substr(0, 4) + '-' + birthday.substr(4, 2) + '-' + birthday.substr(6, 2);
// 赋值
employeeDataSet.getData("#").set('employeeName', name);
employeeDataSet.getData("#").set('employeeSex', sex);
employeeDataSet.getData("#").set('idCard', idCard);
employeeDataSet.getData("#").set('employeeBirthday', birthdayStr);
employeeDataSet.getData("#").set('nationality', nationality);
employeeDataSet.getData("#").set('registeredResidence', addr);
// 保存图片
var saveAction = view.get("#saveIdCardPhotoAction");
saveAction.set("parameter", {
"photo": photo,
"idCard": idCard
});
saveAction.execute(function(returnVal){
if(returnVal.indexOf(".jpg") != -1){
// 保存图片地址
employeeDataSet.getData("#").set('employeePhoto', returnVal);
employeeForm.refreshData();
// 显示照片
view.set('#photoContainer.content', getImage(returnVal));
}
});
// 3.断开
xhr.open('GET', 'http://127.0.0.1:19196/CloseDevice', true);
xhr.onreadystatechange = function() {};
xhr.send();
}
}
};
xhr.send();
}
}
};
xhr.send();
};