Files
mayfly-go/mayfly_go_web/src/common/sockets.ts
2021-11-12 14:35:34 +08:00

46 lines
1.4 KiB
TypeScript

import Config from './config'
import { ElNotification } from 'element-plus'
import SocketBuilder from './SocketBuilder';
import { getSession } from '@/common/utils/storage.ts';
export default {
/**
* 全局系统消息websocket
*/
sysMsgSocket() {
const token = getSession('token');
if (!token) {
return null;
}
return SocketBuilder.builder(`${Config.baseWsUrl}/sysmsg?token=${token}`)
.message((event: { data: string }) => {
const message = JSON.parse(event.data);
let mtype: string;
switch (message.type) {
case 0:
mtype = 'error';
break;
case 2:
mtype = 'info';
break;
case 1:
mtype = 'success';
break;
default:
mtype = 'info';
}
if (mtype == undefined) {
return;
}
ElNotification({
duration: 0,
title: message.title,
message: message.msg,
type: mtype as any,
})
})
.open((event: any) => console.log(event)).build();
}
}