|
@@ -1,6 +1,5 @@
|
|
|
//# sourceURL=socket-com.js
|
|
|
var prescriptionPrintWebsocket = null;
|
|
|
-var lockReconnect = false; //避免ws重复连接
|
|
|
var lastPatient = '';
|
|
|
//取药队列
|
|
|
var lineUpList = getLocalStorage("lineUpList", []);
|
|
@@ -52,7 +51,8 @@ function openSocket(type) {
|
|
|
prescriptionPrintWebsocket.onclose = function (event) {
|
|
|
console.log(type + "连接prescriptionPrintSocket连接关闭 code:" + event.code + ",原因:" + event.reason + ",是否正常关闭:" + event.wasClean);
|
|
|
if (event.code == '1001' || event.code == '1006') {//1001:终端离开, 可能因为服务端错误 1006:没有发送关闭帧
|
|
|
- reconnect(type);
|
|
|
+ openSocket(type);
|
|
|
+ console.log("自动关闭异常");
|
|
|
}
|
|
|
};
|
|
|
//监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
|
|
@@ -61,34 +61,26 @@ function openSocket(type) {
|
|
|
}
|
|
|
} else if (res.code === -1) {
|
|
|
errorMesageSimaple('自动打印连接socket失败,正尝试重连...');
|
|
|
- reconnect(type);
|
|
|
+ openSocket(type);
|
|
|
+ console.log("返回异常");
|
|
|
}
|
|
|
},
|
|
|
error: function () {
|
|
|
errorMesageSimaple('自动打印连接socket失败,正尝试重连...');
|
|
|
- reconnect(type);
|
|
|
+ openSocket(type);
|
|
|
+ console.log("请求异常");
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
alert('当前浏览器不支持WebSocket,请更换浏览器');
|
|
|
}
|
|
|
} catch (e) {
|
|
|
- reconnect(type);
|
|
|
+ openSocket(type);
|
|
|
+ console.log("捕捉异常");
|
|
|
console.log(e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//重新连接
|
|
|
-function reconnect(type) {
|
|
|
- if (lockReconnect) return;
|
|
|
- lockReconnect = true;
|
|
|
- //没连接上会一直重连,设置延迟避免请求过多
|
|
|
- setTimeout(function () {
|
|
|
- openSocket(type);
|
|
|
- lockReconnect = false;
|
|
|
- }, 500);
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* 接收到配药完成消息回调方法
|
|
|
* @param data
|