update
1.修改websocket,多窗口可以同时弹窗
This commit is contained in:
+5
-3
@@ -57,7 +57,7 @@ export function useSocket(p = basicPath, hasTimestamp: boolean = true) {
|
|||||||
//onmessage拿到返回的心跳就说明连接正常
|
//onmessage拿到返回的心跳就说明连接正常
|
||||||
if (socket.value.readyState === WebSocket.OPEN) {
|
if (socket.value.readyState === WebSocket.OPEN) {
|
||||||
//console.log('连接正常' + new Date().toLocaleString());
|
//console.log('连接正常' + new Date().toLocaleString());
|
||||||
socket.value.send('ping');
|
socket.value.send(`ping/${path.value.substring(path.value.lastIndexOf('/') + 1)}${socket.value.time}`);
|
||||||
} else {
|
} else {
|
||||||
//console.log('连接断开');
|
//console.log('连接断开');
|
||||||
init();
|
init();
|
||||||
@@ -72,6 +72,7 @@ export function useSocket(p = basicPath, hasTimestamp: boolean = true) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
|
const date = new Date().getTime();
|
||||||
if (!t) {
|
if (!t) {
|
||||||
return router?.replace('/login');
|
return router?.replace('/login');
|
||||||
}
|
}
|
||||||
@@ -82,11 +83,12 @@ export function useSocket(p = basicPath, hasTimestamp: boolean = true) {
|
|||||||
// 实例化socket
|
// 实例化socket
|
||||||
//判断是否需要时间戳
|
//判断是否需要时间戳
|
||||||
if (hasTimestamp) {
|
if (hasTimestamp) {
|
||||||
socket.value = new WebSocket(path.value + Date.now(), [t]);
|
socket.value = new WebSocket(path.value + date, [t]);
|
||||||
} else {
|
} else {
|
||||||
socket.value = new WebSocket(path.value, [t]);
|
socket.value = new WebSocket(path.value + date, [t]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
socket.value['time'] = date;
|
||||||
socket.value.onclose = function () {
|
socket.value.onclose = function () {
|
||||||
reconnect(path.value);
|
reconnect(path.value);
|
||||||
// //console.log('连接关闭', new Date().toLocaleString());
|
// //console.log('连接关闭', new Date().toLocaleString());
|
||||||
|
|||||||
Reference in New Issue
Block a user