backup
This commit is contained in:
@@ -20,6 +20,16 @@ class WebSocketService {
|
||||
* 初始化並連接 WebSocket
|
||||
*/
|
||||
connect() {
|
||||
// 檢查 WebSocket 是否被禁用
|
||||
const devMode = import.meta.env.VITE_DEV_MODE === 'true'
|
||||
const isProd = import.meta.env.PROD
|
||||
const wsDisabled = import.meta.env.VITE_DISABLE_WEBSOCKET === 'true'
|
||||
|
||||
if (!devMode || isProd || wsDisabled) {
|
||||
console.log('🔌 [WebSocket] WebSocket 連接已禁用,跳過連接')
|
||||
return
|
||||
}
|
||||
|
||||
if (this.socket) {
|
||||
return
|
||||
}
|
||||
@@ -28,7 +38,7 @@ class WebSocketService {
|
||||
// 建立 Socket.IO 連接
|
||||
const wsUrl = import.meta.env.VITE_WS_BASE_URL || 'http://127.0.0.1:12010'
|
||||
console.log('🔌 [WebSocket] 嘗試連接到:', wsUrl)
|
||||
|
||||
|
||||
this.socket = io(wsUrl, {
|
||||
path: '/socket.io/',
|
||||
transports: ['polling'],
|
||||
@@ -271,6 +281,15 @@ class WebSocketService {
|
||||
* @param {string} jobUuid - 任務 UUID
|
||||
*/
|
||||
subscribeToJob(jobUuid) {
|
||||
// 檢查 WebSocket 是否被禁用
|
||||
const devMode = import.meta.env.VITE_DEV_MODE === 'true'
|
||||
const isProd = import.meta.env.PROD
|
||||
const wsDisabled = import.meta.env.VITE_DISABLE_WEBSOCKET === 'true'
|
||||
|
||||
if (!devMode || isProd || wsDisabled) {
|
||||
return // WebSocket 被禁用,靜默返回
|
||||
}
|
||||
|
||||
if (!this.socket || !this.isConnected) {
|
||||
// 靜默處理,避免控制台警告
|
||||
return
|
||||
@@ -334,6 +353,15 @@ class WebSocketService {
|
||||
* @param {Object} data - 事件資料
|
||||
*/
|
||||
emit(event, data) {
|
||||
// 檢查 WebSocket 是否被禁用
|
||||
const devMode = import.meta.env.VITE_DEV_MODE === 'true'
|
||||
const isProd = import.meta.env.PROD
|
||||
const wsDisabled = import.meta.env.VITE_DISABLE_WEBSOCKET === 'true'
|
||||
|
||||
if (!devMode || isProd || wsDisabled) {
|
||||
return // WebSocket 被禁用,靜默返回
|
||||
}
|
||||
|
||||
if (this.socket && this.isConnected) {
|
||||
this.socket.emit(event, data)
|
||||
}
|
||||
@@ -345,6 +373,15 @@ class WebSocketService {
|
||||
* @param {Function} callback - 回調函數
|
||||
*/
|
||||
on(event, callback) {
|
||||
// 檢查 WebSocket 是否被禁用
|
||||
const devMode = import.meta.env.VITE_DEV_MODE === 'true'
|
||||
const isProd = import.meta.env.PROD
|
||||
const wsDisabled = import.meta.env.VITE_DISABLE_WEBSOCKET === 'true'
|
||||
|
||||
if (!devMode || isProd || wsDisabled) {
|
||||
return // WebSocket 被禁用,靜默返回
|
||||
}
|
||||
|
||||
if (this.socket) {
|
||||
this.socket.on(event, callback)
|
||||
}
|
||||
@@ -401,6 +438,17 @@ export const websocketService = new WebSocketService()
|
||||
|
||||
// 自動連接(在需要時)
|
||||
export const initWebSocket = () => {
|
||||
// 檢查是否禁用 WebSocket (多種方式)
|
||||
const devMode = import.meta.env.VITE_DEV_MODE === 'true'
|
||||
const isProd = import.meta.env.PROD
|
||||
const wsDisabled = import.meta.env.VITE_DISABLE_WEBSOCKET === 'true'
|
||||
|
||||
if (!devMode || isProd || wsDisabled) {
|
||||
console.log('🔌 [WebSocket] WebSocket 連接已禁用', { devMode, isProd, wsDisabled })
|
||||
return
|
||||
}
|
||||
|
||||
console.log('🔌 [WebSocket] 嘗試初始化 WebSocket 連接')
|
||||
websocketService.connect()
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user