| 1234567891011121314151617181920212223242526272829303132333435 |
- import WebSocketService from "@/utils/WebSocketService";
- export default {
- namespaced: true,
- state: {
- webSocketState: "closed", // 'open' | 'connecting' | 'error' | 'closed'
- },
- mutations: {
- setWebSocketStatus(state, status) {
- console.log("WebSocket状态已更新:", status);
- state.webSocketState = status;
- },
- },
- actions: {
- connectWebSocket({ commit, rootState }) {
- const token = rootState.user?.token;
- WebSocketService.setStore(this); // 注入 store
- commit("setWebSocketStatus", "connecting");
- WebSocketService.initWebSocket(token);
- },
- reconnectWebSocket({ state, commit }) {
- if (state.webSocketState === "open" || state.webSocketState === "connecting") {
- console.log("WebSocket 已连接或正在连接中,跳过重连");
- return;
- }
- commit("setWebSocketStatus", "connecting");
- WebSocketService.reconnect();
- },
- closeWebSocket() {
- WebSocketService.close();
- }
- }
- };
|