{{ title }}
diff --git a/src/config/i18n/zh.ts b/src/config/i18n/zh.ts
index e63487d..6a47e8b 100644
--- a/src/config/i18n/zh.ts
+++ b/src/config/i18n/zh.ts
@@ -174,4 +174,6 @@ export default class Zh {
music = ['播放或禁音背景音乐(M)'];
illustrated = ['装备图鉴(I)'];
+
+ update = ['版本更新通知', '检测到有服务器有新版本,是否刷新刷新页面更新版本?', '刷新页面', '暂时不管'];
}
diff --git a/src/tool/websocket.ts b/src/tool/websocket.ts
new file mode 100644
index 0000000..aa3b601
--- /dev/null
+++ b/src/tool/websocket.ts
@@ -0,0 +1,37 @@
+let websocket: WebSocket;
+const msgHandlersMap = {};
+let lastUrl;
+export const openWebSocket = (url) => {
+ if (websocket && websocket.readyState === WebSocket.OPEN) {
+ if (lastUrl == url) {
+ return;
+ }
+ websocket.close();
+ }
+ websocket = new WebSocket(url);
+ lastUrl = url;
+ websocket.onopen = () => {
+ console.log('websocket已连接');
+ };
+ websocket.onmessage = (msg) => {
+ const event = JSON.parse(msg.data);
+ const handlers = msgHandlersMap[event.type];
+ if (!handlers) {
+ return;
+ }
+ Object.values(handlers).forEach((handler: any) => {
+ handler(event.data);
+ });
+ };
+ websocket.onclose = () => {
+ console.log('websocket已断开');
+ openWebSocket(url);
+ };
+};
+
+export const registerHandler = (type, key, handler) => {
+ const handlers = msgHandlersMap[type] || {};
+ handlers[key] = handler;
+ msgHandlersMap[type] = handlers;
+ console.log(msgHandlersMap);
+};
diff --git a/src/views/index.vue b/src/views/index.vue
index 9344bd9..a0e3fd1 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -6,6 +6,7 @@
+
+
\ No newline at end of file