From 444b70af47a99d6635261b2ccd7fdd159ab1fcb6 Mon Sep 17 00:00:00 2001 From: hi2hi Date: Tue, 10 Dec 2024 01:51:27 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=200.4.11=20=E2=9C=A8=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0WebSocket=E8=B7=AF=E5=BE=84=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E7=A1=AE=E4=BF=9DURL=E4=BB=A5ws://=E6=88=96wss://=E5=BC=80?= =?UTF-8?q?=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/ws/index.js | 7 +++++-- src/ws/service.js | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 341874f..97d3ec7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nazhua", - "version": "0.4.10", + "version": "0.4.11", "type": "module", "scripts": { "dev": "vite", diff --git a/src/ws/index.js b/src/ws/index.js index c728ab3..1d0e009 100644 --- a/src/ws/index.js +++ b/src/ws/index.js @@ -10,10 +10,13 @@ import WSService from './service'; * 获取不同版本的WebSocket路径 */ function getWsApiPath() { + let url = config.nazhua.wsPath; if (config.nazhua.nezhaVersion === 'v1') { - return config.nazhua.v1WsPath; + url = config.nazhua.v1WsPath; } - return config.nazhua.wsPath; + const a = document.createElement('a'); + a.href = url; + return a.href.replace(/^http/, 'ws'); } const msg = new MessageSubscribe(); diff --git a/src/ws/service.js b/src/ws/service.js index c47d1b8..97f0fc0 100644 --- a/src/ws/service.js +++ b/src/ws/service.js @@ -11,7 +11,10 @@ class WSService { this.debug = options?.debug || false; - this.$wsUrl = wsUrl?.replace?.('http', 'ws'); + if (!wsUrl.startsWith('ws')) { + throw new Error('WebSocket URL must start with ws:// or wss://'); + } + this.$wsUrl = wsUrl; this.$on = { close: onClose || (() => {}), error: onError || (() => {}),