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 || (() => {}),