Commit 19a4854c authored by yanzg's avatar yanzg

闸机BUG修复

parent 995bd3cd
 
14:43:14.055 未实现该方法或操作。: 17:06:26.307 未实现该方法或操作。:
在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType() 在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType()
在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0() 在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0()
在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode) 在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode)

14:49:15.672 未实现该方法或操作。:
在 LightFrame.Util.Converts.TypeConvert.XmlElementConvert.get_SourceType()
在 LightFrame.Util.Converts.ConvertCenter.<>c__DisplayClass6_0.<AddHandle>b__0()
在 LightFrame.Util.Threads.ThreadHelper.ExecuteCatch(DelegateEmpty vCode)
...@@ -184,8 +184,39 @@ $(function () { ...@@ -184,8 +184,39 @@ $(function () {
}); });
} }
// 上次显示时间 // 上次显示时间
let prevTime = 0; let prevTime = 0;
function getScanKey(data){
// 扫描关键字
return data.ScanType + ":" + data.ScanCode;
}
function startScan(data){
// 扫描关键字
let scanKey = getScanKey(data);
console.log("开始判断" + scanKey + "扫描:" + JSON.stringify(data));
let scan = scanLoad[scanKey] = scanLoad[scanKey] || {};
// 该二维码正在请求服务器,则停止请求服务器
if (scan.start) {
console.log("判断" + scanKey + "不能扫描:" + JSON.stringify(data) + " \n判断结果:" + JSON.stringify(scanLoad));
return false;
}
scan.start = true;
console.log("开始" + scanKey + "扫描:" + JSON.stringify(data));
return true;
}
function stopScan(data){
// 上次显示成功的页面的时间
prevTime = new Date().getTime();
// 扫描关键字
let scanKey = getScanKey(data);
// 设置5秒内不能再次扫描
delete scanLoad[scanKey];
console.log("结束" + scanKey + "扫描:" + JSON.stringify(data));
}
/** /**
* 当扫描到门票时进行加载 * 当扫描到门票时进行加载
...@@ -199,27 +230,35 @@ $(function () { ...@@ -199,27 +230,35 @@ $(function () {
scanCode: data.ScanCode, scanCode: data.ScanCode,
scanTime: data.ScanTime scanTime: data.ScanTime
}, checkData); }, checkData);
showStatus("已扫描:" + to && to.scanCode); showStatus("已扫描:" + to && to.scanCode);
// 给其他页面显示等待页面 // 该二维码正在请求服务器,则停止请求服务器
showResPage({}, "/page/home/base_wait.html"); if (!startScan(data)) {
return;
}
console.log("开始运行:" + JSON.stringify(data));
showPage("/page/home/base_wait.html");
// 加载可过人数 // 加载可过人数
Base.Request(url.checkLoad, to, function (res) { Base.Request(url.checkLoad, to, function (res) {
// 上次显示成功的页面的时间 stopScan(data);
prevTime = new Date().getTime();
openRes(res); openRes(res);
}, { }, {
error: function (res) { error: function (res) {
let msg = res.msg || ""; let msg = res.msg || "";
if ("10000" == res.code) { if ("10000" == res.code) {
// 等待支付成功
queryPay(res, data) queryPay(res, data)
} else if (msg.indexOf("网络") > -1) { return;
}
// 停止显示扫描
stopScan(data);
if (msg.indexOf("网络") > -1) {
// 网络错误 100毫秒后重新请求 // 网络错误 100毫秒后重新请求
setTimeout(function () { setTimeout(function () {
checkLoad(data); checkLoad(data);
}, 100) }, 100)
} else { } else {
// 上次显示错误的页面的时间 // 播放错误信息
prevTime = new Date().getTime();
let data = res && res.target || {}; let data = res && res.target || {};
let key = data.playKey || "CodeInvalid"; let key = data.playKey || "CodeInvalid";
PlaySound(key); PlaySound(key);
...@@ -246,16 +285,20 @@ $(function () { ...@@ -246,16 +285,20 @@ $(function () {
companyId: target.companyId, companyId: target.companyId,
orderId: target.orderId orderId: target.orderId
}, function (res) { }, function (res) {
let data = res.data || {}; let data = res.data || {};
let orderStatus = data.orderStatus || 0; let orderStatus = data.orderStatus || 0;
if (orderStatus < 4) { if (orderStatus < 4) {
queryPayError(res, waitRes, scanData); queryPayError(res, waitRes, scanData);
} else { } else {
checkLoad(scanData, true); // 停止扫描
stopScan(scanData);
checkLoad(scanData);
} }
}, { }, {
error: function (res) { error: function (res) {
if (res.code == 9999) { if (res.code == 9999) {
stopScan(scanData);
// 上次显示成功的页面的时间 // 上次显示成功的页面的时间
prevTime = new Date().getTime(); prevTime = new Date().getTime();
// 订单已经取消 // 订单已经取消
......
...@@ -7,15 +7,15 @@ ...@@ -7,15 +7,15 @@
var dataList = [{ var dataList = [{
ScanType: form.ScanType, ScanType: form.ScanType,
ScanCode: form.ScanCode, ScanCode: form.ScanCode,
scanCount: form.scanCount ScanCount: form.ScanCount
}, { }, {
ScanType: form.ScanType1, ScanType: form.ScanType1,
ScanCode: form.ScanCode1, ScanCode: form.ScanCode1,
scanCount: form.scanCount1 ScanCount: form.ScanCount1
}, { }, {
ScanType: form.ScanType2, ScanType: form.ScanType2,
ScanCode: form.ScanCode2, ScanCode: form.ScanCode2,
scanCount: form.scanCount2 ScanCount: form.ScanCount2
}]; }];
Base.bind($body, form); Base.bind($body, form);
showCheck(dataList, 30); showCheck(dataList, 30);
...@@ -31,7 +31,9 @@ ...@@ -31,7 +31,9 @@
showCheck(dataList, time); showCheck(dataList, time);
return; return;
} }
for (let i = 0; i < data.ScanCount; i++) { let max = parseInt(data.ScanCount);
for (let i = 0; i < max; i++) {
console.log("第"+i+"次:" + JSON.stringify(data));
checkLoad(data); checkLoad(data);
} }
setTimeout(function () { setTimeout(function () {
......
...@@ -10,19 +10,19 @@ ...@@ -10,19 +10,19 @@
</div> </div>
<div class="form"> <div class="form">
<span>扫描类型:</span> <span>扫描类型:</span>
<input id="ScanType1" data-field="ScanType1" value="0"/> <input id="scanType1" data-field="ScanType1" value="0"/>
<span>扫描内容:</span> <span>扫描内容:</span>
<input id="ScanCode1" data-field="ScanCode1" /> <input id="scanCode1" data-field="ScanCode1" />
<span>调用次数:</span> <span>调用次数:</span>
<input id="ScanCount1" data-field="ScanCount1" /> <input id="scanCount1" data-field="ScanCount1" />
</div> </div>
<div class="form"> <div class="form">
<span>扫描类型:</span> <span>扫描类型:</span>
<input id="ScanType2" data-field="ScanType2" value="0"/> <input id="scanType2" data-field="ScanType2" value="0"/>
<span>扫描内容:</span> <span>扫描内容:</span>
<input id="ScanCode2" data-field="ScanCode2" /> <input id="scanCode2" data-field="ScanCode2" />
<span>调用次数:</span> <span>调用次数:</span>
<input id="ScanCount2" data-field="ScanCount2" /> <input id="scanCount2" data-field="ScanCount2" />
</div> </div>
<input id="bt_ok" type="button" value="确定"/> <input id="bt_ok" type="button" value="确定"/>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment