You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

1078 lines
32 KiB

const WXAPI = require('./request')
import moment from 'moment'
import ICINLocker from "./equipment.js"
/**
* @param {Function} fn 防抖函数
* @param {Number} delay 延迟时间
*/
export default class utils {
// 下发凭证
static putCarfidzgAdd(drawerRow,resultArr, row) {
var data = {};
var userTelephone = JSON.parse(row.content).userTelephone;
var userPassword = JSON.parse(row.content).userPassword;
var startTime = row.startTime
var endTime = row.endTime
var passwordStartTime =startTime
var passwordEndTime = endTime
if (row.type == 1) {
var fpId = new Date();
var fingerprint1 = JSON.parse(row.content).fingerprint;
var str = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
userPassword: userPassword,
password: JSON.parse(row.content).password,
length: fingerprint1.length / 2,
fpTimeId: fpId.getTime(),
operateMode: 16,
order: 6216,
fingerprint: fingerprint1,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
pzname:JSON.parse(row.content).pzname
};
var data3 = {
lockerId: resultArr.deviceNum,
imei: resultArr.imei,
order: 6216,
lockerUserId: JSON.parse(drawerRow.info).userPassword,
keyId: JSON.parse(drawerRow.info).userPassword,
fingerType: 0,
file: fingerprint1,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: resultArr.roomName,
startTime: passwordStartTime,
endTime: passwordEndTime
};
ICINLocker.addFingerPrints(data3.lockerId, data3.imei, data3.lockerUserId, data3.fingerType, data3
.file, data3.startTime, data3.endTime, data3.cardName, data3.roomName, (callback) => {
if (callback.success) {
var data = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(data).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 2) {
if (JSON.parse(row.content).password.length != 16) {
wx.showToast({
title: "卡格式错误,请重新录入",
duration:2000,
icon:"nonoe"
})
return
}
var str = {
imei: resultArr.imei,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 13,
order: 6213,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
pzname:JSON.parse(row.content).pzname,
is: false,
};
var data3 = {
lockerId: resultArr.deviceNum,
imei: resultArr.imei,
lockerUserId: userPassword,
keyId: userPassword,
action: 1,
taskStatus: 1,
order: 6210,
startTime: passwordStartTime,
endTime: passwordEndTime,
cardType: 36,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: row.roomName,
cardNo: JSON.parse(row.content).password
};
ICINLocker.RfCardRegister(data3.lockerId, data3.imei, data3.keyId, data3.action, data3.taskStatus,
data3.cardNo, data3.cardType, data3.startTime,
data3.endTime, data3.order, data3.cardName, data3.roomName, (callback) => {
if (callback.success) {
var data = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(data).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 3) {
if (JSON.parse(row.content).password.length != 8) {
wx.showToast({
title: "卡格式错误,请重新录入",
duration:2000,
icon:"nonoe"
})
return
}
var str = {
imei: resultArr.imei,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 10,
order: 6210,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
pzname:JSON.parse(row.content).pzname,
is: false,
};
var data3 = {
lockerId: resultArr.deviceNum,
lockerUserId: userPassword,
keyId: userPassword,
imei: resultArr.imei,
action: 1,
taskStatus: 1,
order: 6210,
startTime: passwordStartTime,
endTime: passwordEndTime,
cardType: 50,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: row.roomName,
cardNo: JSON.parse(row.content).password
};
ICINLocker.RfCardRegister(data3.lockerId, data3.imei, data3.keyId, data3.action, data3.taskStatus,
data3.cardNo, data3.cardType, data3.startTime,
data3.endTime, data3.order, data3.cardName, data3.roomName, (callback) => {
if (callback.success) {
var data = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(data).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 4) {
str = {
imei: resultArr.imei,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 7,
order: 6207,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
pzname:JSON.parse(row.content).pzname,
is: false,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: row.roomName
};
var data3 = {
lockerId: resultArr.deviceNum,
imei: resultArr.imei,
order: 6207,
passwordCount: 255,
lockerUserId: userPassword,
keyId: userPassword,
startTime: passwordStartTime,
endTime: passwordEndTime,
action: 1,
password: JSON.parse(row.content).password,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: row.roomName
};
ICINLocker.addForeverPassword(data3.lockerId, data3.imei, data3.keyId, data3.action, data3.password,
data3.passwordCount, data3.startTime, data3.endTime, data3.order, data3.cardName, data3
.roomName, (callback) => {
if (callback.success) {
var data = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(data).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
}
}
// 下发凭证
static putCarfidAdd(resultArr, row) {
var data = {};
var userTelephone = JSON.parse(row.content).userTelephone;
var userPassword = JSON.parse(row.content).userPassword;
var startTime = row.startTime
var endTime = row.endTime
var passwordEndTime = moment(endTime*1000).format("YYYYMMDDHHmmss");
var passwordStartTime = moment(startTime*1000).format("YYYYMMDDHHmmss");
if (row.type == 1) {
var fpId = new Date();
var fingerprint = JSON.parse(row.content).fingerprint;
var str = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
userPassword: userPassword,
password: JSON.parse(row.content).password,
length: fingerprint.length / 2,
fpTimeId: fpId.getTime(),
operateMode: 16,
order: 6216,
fingerprint: fingerprint,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: resultArr.roomName,
};
ICINLocker.LDAddFingerPrints(str.deviceNum, str.imei, str.userTelephone, str.userPassword, str
.password, str.passwordStartTime, str.passwordEndTime, str.operateMode, str.order, str.length,
str.fpTimeId, str.fingerprint, str.cardName, str.roomName, (callback) => {
if (callback.success) {
var datafid = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(datafid).then((res) => {
if (res.success) {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: "下发失败",
duration:2000,
icon:"nonoe"
})
}
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
return false
} else if (row.type == 2) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 13,
order: 6213,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: resultArr.roomName,
};
} else if (row.type == 3) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 10,
order: 6210,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: resultArr.roomName,
};
} else if (row.type == 4) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 7,
order: 6207,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name+'-'+JSON.parse(row.content).pzname,
roomName: resultArr.roomName,
};
}
ICINLocker.LDRfCardRegister(data.deviceNum, data.imei, data.userTelephone, data.userPassword, data
.password, data
.passwordStartTime, data.passwordEndTime, data.operateMode, data.order, data.cardName, data
.roomName, (
callback) => {
if (callback.success) {
var datafid = {
id: row.id,
serial: callback.data.serialNumber,
};
WXAPI.updateCertificates(datafid).then((res) => {
if (res.success) {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: "下发失败",
duration:2000,
icon:"nonoe"
})
}
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
}
static getfiId1(row, callback) {
var data = {
q: JSON.stringify({
serial: row.serial,
}),
pageNum: 1,
pageSize: 10,
};
WXAPI.getDeviceResult(data).then((res) => {
callback(res.data.list);
});
}
static putCarfid(resultArr, row, endTime, startTime) {
var data = {};
var userTelephone = JSON.parse(row.content).userTelephone;
var userPassword = JSON.parse(row.content).userPassword;
var content = JSON.parse(row.content);
var passwordEndTime = moment(endTime).format("YYYYMMDDHHmmss");
var passwordStartTime = moment(startTime).format("YYYYMMDDHHmmss");
if (row.type == 1) {
this.getfiId(row, function(data) {
if (data.length > 0) {
if (data.length > 0) {
var fpid = "";
fpid =
data[0].face.toString(16).length != 2 ?
"0" + data[0].face.toString(16) :
data[0].face;
var str = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
password: fpid,
operateMode: 17,
order: 6217,
userPassword: userPassword,
userTelephone: userTelephone,
passwordStartTime: passwordEndTime,
passwordEndTime: passwordStartTime,
is: false,
cardName: row.name,
roomName: resultArr.roomName,
};
WXAPI.getDeviceOperateUserInfo(str).then((res1) => {
if (res1.success) {
content.passwordStartTime = str.passwordStartTime;
content.passwordEndTime = str.passwordEndTime;
var updatedata = {
id: row.id,
content: JSON.stringify(content),
serial: res1.data.serialNumber,
status: 0,
startTime: startTime / 1000,
endTime: endTime / 1000
};
WXAPI.updateCertificates(updatedata)
.then(
(res2) => {
wx.showToast({
title: "修改成功",
duration:2000,
icon:"nonoe"
})
}
);
} else {
wx.showToast({
title: "修改失败",
duration:2000,
icon:"nonoe"
})
}
});
}
}
})
return false
} else if (row.type == 2) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 14,
order: 6214,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name,
roomName: row.roomName
};
} else if (row.type == 3) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 11,
order: 6211,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name,
roomName: row.roomName
};
} else if (row.type == 4) {
data = {
imei: resultArr.imei,
deviceNum: resultArr.deviceNum,
userTelephone: userTelephone,
cardId: row.cardId,
userPassword: userPassword,
password: JSON.parse(row.content).password,
operateMode: 8,
order: 6208,
passwordStartTime: passwordStartTime,
passwordEndTime: passwordEndTime,
is: false,
cardName: row.name,
roomName: row.roomName
};
}
ICINLocker.LDRfCardRegister(data.deviceNum, data.imei, data.userTelephone, data.userPassword, data
.password, data
.passwordStartTime, data.passwordEndTime, data.operateMode, data.order, data.cardName, data
.roomName, (
callback) => {
if (callback.success) {
var datafid = {
id: row.id,
content: JSON.stringify(data), //operateMode:NFC-10、把人员添加到凭证-1
status: 0,
serial: callback.data.serialNumber,
startTime: moment(startTime).valueOf() / 1000,
endTime: moment(endTime).valueOf() / 1000,
};
WXAPI.updateCertificates(datafid).then((res) => {
if (res.success) {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: "下发失败",
duration:2000,
icon:"nonoe"
})
}
});
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
}
// 下发凭证
static putCarfidzg(resultArr, row, endTime, startTime) {
var data = {};
var userTelephone = JSON.parse(row.content).userTelephone;
var userPassword = JSON.parse(row.content).userPassword;
var content = JSON.parse(row.content);
var passwordEndTime = moment(startTime).valueOf() / 1000;
var passwordStartTime = moment(endTime).valueOf() / 1000;
if (row.type == 1) {
this.getfiId1(row, function(data) {
if (data.length > 0) {
var fpid = "";
fpid =
data[0].face.toString(16).length != 2 ?
"0" + data[0].face.toString(16) :
data[0].face;
var pwd = JSON.parse(row.content).userPassword
ICINLocker.modifyFingerPrints(resultArr.deviceNum, resultArr.imei, pwd, 3,
fpid, 0, passwordStartTime, passwordEndTime, row.name, resultArr.roomName, (callback) => {
if (callback.success) {
var str1 = JSON.parse(row.content);
str1.fpTimeId = callback.data.serialNumber;
str1.passwordStartTime = passwordStartTime;
str1.passwordEndTime = passwordEndTime;
var updatedata = {
id: row.id,
content: JSON.stringify(str1),
serial: callback.data.serialNumber,
status: 0,
startTime: passwordStartTime,
endTime: passwordEndTime
};
WXAPI.updateCertificates(updatedata)
.then(
(res2) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else {
wx.showToast({
title: "修改失败",
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 2) {
var idcard = ''
if (content.password.length == 16) {
idcard = content.password
} else {
idcard = dec2hex(content.password);
}
var userid = JSON.parse(row.content).userPassword
if (idcard.length != 16) {
wx.showToast({
title: "卡格式错误,请重新录入",
duration:2000,
icon:"nonoe"
})
return
}
ICINLocker.RfCardRegister(resultArr.deviceNum, resultArr.imei, userid, 3, 1, idcard
.toUpperCase(), 36, passwordStartTime, passwordEndTime, 6211, row.name, resultArr
.roomName, (callback) => {
if (callback.success) {
var str = JSON.parse(row.content)
str['password'] = idcard.toUpperCase()
var updatedata = {
id: row.id,
content: JSON.stringify(str),
serial: callback.data.serialNumber,
startTime: passwordStartTime,
endTime: passwordEndTime
};
WXAPI.updateCertificates(updatedata).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 3) {
var nfc = "";
if (content.password.length == 8) {
nfc = content.password
} else {
nfc = dec2hex(content.password);
}
var userid = JSON.parse(row.content).userPassword
if (nfc.length != 8) {
wx.showToast({
title: "卡格式错误,请重新录入",
duration:2000,
icon:"nonoe"
})
return
}
ICINLocker.RfCardRegister(resultArr.deviceNum, resultArr.imei, userid, 3, 1, nfc.toUpperCase(),
50, passwordStartTime, passwordEndTime, 6211, row.name, resultArr.roomName, (
callback) => {
if (callback.success) {
var str = JSON.parse(row.content)
str['password'] = nfc.toUpperCase()
str['pzname'] = that.certificatesContent.pzname
var updatedata = {
id: row.id,
content: JSON.stringify(str),
serial: callback.data.serialNumber,
startTime: passwordStartTime,
endTime: passwordEndTime
};
WXAPI.updateCertificates(updatedata).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
} else if (row.type == 4) {
var pwd = content.password
var userid = JSON.parse(row.content).userPassword
ICINLocker.addForeverPassword(resultArr.deviceNum, resultArr.imei, userid, 3, pwd, 255,
passwordStartTime, passwordEndTime, 6208, row.name, resultArr.roomName, (
callback) => {
if (callback.success) {
var data1 = JSON.parse(row.content)
data1['password'] = content.password
var updatedata = {
id: row.id,
content: JSON.stringify(data1),
serial: callback.data.serialNumber,
startTime: passwordStartTime,
endTime: passwordEndTime
};
WXAPI.updateCertificates(updatedata).then((res) => {
wx.showToast({
title: "下发成功",
duration:2000,
icon:"nonoe"
})
});
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
} else {
wx.showToast({
title: callback.msg,
duration:2000,
icon:"nonoe"
})
}
})
}
}
static timeTotimeimp(obj) {
var year = obj.substr(0, 4)
var month = obj.substr(4, 2)
var day = obj.substr(6, 2)
var hours = obj.substr(8, 2)
var min = obj.substr(8, 2)
var miao = obj.substr(10, 2)
var hm = obj.substr(12, 2)
var str = year + "-" + month + "-" + day + " " + hours + ":" + min + ":" + miao
var time = new Date(str)
var time1 = time.getTime()
return time1 / 1000;
}
// 格式化时间
static formatTime(time, key) {
var time1 = JSON.stringify(time)
var text = ''
if (time1.length == 14) {
text = moment(this.timeTotimeimp(time1) * 1000).format('YYYY年MM月DD日 HH:mm:ss')
} else if (time1.length == 13) {
text = moment(time).format('YYYY年MM月DD日 HH:mm:ss')
} else if (time1.length == 10) {
text = moment(time * 1000).format('YYYY年MM月DD日 HH:mm:ss')
}
return text;
}
// 去重
static uniqueArray(array, key) {
var result = [array[0]];
for (var i = 1; i < array.length; i++) {
var item = array[i];
var repeat = false;
for (var j = 0; j < result.length; j++) {
if (item[key] == result[j][key]) {
repeat = true;
break;
}
}
if (!repeat) {
result.push(item);
}
}
return result;
}
// 生成树形数据结构
static ztreeToElementTree(data, config) {
var id = 'id' // 定义ztree数据存储id(自身的id)的key值,可以自定义但一般都是id、pid这种
var pid = 'pid' // 定义ztree数据存储pid(父id)的key值
var children = 'children' // 定义生成的element tree存储子节点的key,可以在element中规定defaultProps: {children: 'children'}
var idMap = {} // 将原始数据转化为以id为key的map
var elementTree = [] // 输出的element tree数据
data.forEach(item => {
item['value'] = item.id
item['label'] = item.name
idMap[item.id] = item
})
data.forEach(item => {
// debugger
if (idMap[item.pid] != idMap[item.id] && idMap[item.pid]) { // 该item项有爸爸,放到对应的父节点下
!idMap[item.pid].hasOwnProperty(children) && (idMap[item.pid][children] = [])
idMap[item.pid][children].push(item)
} else { // 根节点
elementTree.push(item)
}
});
return elementTree
}
// 根据选择的父级id,获取所有子级id
static getChild(nodes, item, arr) {
for (let el of nodes) {
if (el.id === item) {
arr.push(el.id);
if (el.children) {
this.childNodesDeep(el.children, arr);
}
} else if (el.children) {
this.getChild(el.children, item, arr);
}
}
return arr;
}
static childNodesDeep(nodes, arr) {
if (nodes)
nodes.forEach((ele) => {
arr.push(ele.id);
if (ele.children) {
this.childNodesDeep(ele.children, arr);
}
});
}
// 过滤两个数组对象相同id的数据
static filterObj(arr1, arr2) {
let arr3 = arr1.filter(obj => !arr2.some(obj1 => obj1 == obj.id))
return arr3
}
// 过滤两个数组对象相同id的数据
static filterObj1(arr1, arr2) {
let arr3 = arr1.filter(obj => arr2.some(obj1 => obj1 == obj.id))
return arr3
}
static loopDepName(treeData, id, joinStr, result) {
let res = []
const fn = (source) => {
source.forEach(el => {
res.push(el)
el.children && el.children.length > 0 ? fn(el.children) : ""
})
}
}
static statusCode(code) {
var str = ''
switch (code) {
case 0:
str = "下发中";
break;
case 1:
str = "下发成功";
break;
case 2:
str = "未下发";
break;
case 3:
str = "下发失败";
break;
case 249:
str = "未发现用户";
break;
case 700:
str = "等待发送";
break;
case 701:
str = "下发中";
break;
case 702:
str = "发送失败";
break;
case 703:
str = "已作废";
break;
//LD返回错误码
case 101224:
str = "系统已锁定";
break;
case 101225:
str = "存储读写错误";
break;
case 101226:
str = "管理员手机号比对失败";
break;
case 101227:
str = "存储空间已满";
break;
case 101228:
str = "本地未检测到该凭证";
break;
case 101229:
str = "参数错误";
break;
case 101230:
str = "绑定失败";
break;
case 101240:
str = "设备未绑定";
break;
case 101241:
str = "设备ID不匹配";
break;
case 101242:
str = "未添加蓝牙密码";
break;
case 101243:
str = "蓝牙密码鉴权失败";
break;
case 101244:
str = "门已反锁";
break;
case 101245:
str = "门已开启";
break;
case 101246:
str = "密码长度异常";
break;
case 101247:
str = "当前用户容量已满";
break;
case 101248:
str = "密码已存在(卡片已存在)";
break;
case 101249:
str = "用户不存在";
break;
case 101250:
str = "用户ID匹配失败";
break;
case 101251:
str = "数据错误";
break;
case 101252:
str = "初始密码比对失败";
break;
case 101253:
str = "凭证ID无效";
break;
//ZG返回错误码
case 201002:
str = "包格式错误";
break;
case 201003:
str = "密码错误";
break;
case 201004:
str = "网络中断";
break;
case 201005:
str = "用户未登记";
break;
case 201006:
str = "参数错误";
break;
case 201007:
str = "需要鉴权";
break;
case 201008:
str = "无权限";
break;
case 201009:
str = "应答超时";
break;
case 201010:
str = "权限校验错误";
break;
case 201011:
str = "钥匙不存在";
break;
case 201012:
str = "钥匙过期";
break;
case 201013:
str = "钥匙数量已到上限";
break;
case 201014:
str = "钥匙无效";
break;
case 201015:
str = "钥匙已存在";
break;
case 201016:
str = "用户已存在";
break;
case 201017:
str = "密码失效";
break;
case 201018:
str = "无效指令";
break;
case 201019:
str = "门锁时间异常";
break;
case 201020:
str = "门锁NB芯片故障";
break;
case 201021:
str = "门锁无NB芯片";
break;
case 201022:
str = "升级程序校验通过";
break;
case 201023:
str = "升级程序项目不匹配";
break;
case 201024:
str = "升级程序版本太低";
break;
case 201025:
str = "升级程序长度超长";
break;
case 201026:
str = "升级程序启动失败";
break;
case 201033:
str = "升级程序进行中";
break;
case 201034:
str = "升级数据写入错误";
break;
case 201035:
str = "升级数据校验和错误";
break;
case 201049:
str = "到达数目定义上限";
break;
case 201050:
str = "密码已经存在";
break;
case 201051:
str = "禁止删除超管";
break;
case 201052:
str = "门禁卡故障";
break;
case 201053:
str = "远程指纹录入进行中";
break;
case 201054:
str = "远程指纹上次录入未完成";
break;
case 201055:
str = "远程指纹录入后,重复添加该用户";
break;
case 201254:
str = "设备没有被发现";
break;
case 201255:
str = "异常,未知错误";
break;
default:
str = "异常";
break;
}
return str
}
}