74 lines
1.3 KiB
JavaScript
74 lines
1.3 KiB
JavaScript
import Vue from 'vue'
|
||
import Vuex from 'vuex'
|
||
import { disconnectWebSocket } from '@/utils/ws/initWebSocket.js';
|
||
|
||
import {
|
||
registerList
|
||
} from '@/api/consult.js'
|
||
Vue.use(Vuex)
|
||
const store = new Vuex.Store({
|
||
state: {
|
||
utils: null,
|
||
consult: [], //咨询会话列表
|
||
docSession: [], //医生首页消息会话列表
|
||
status: 1
|
||
},
|
||
mutations: {
|
||
SET_CONSULT(state, res) {
|
||
state.consult = res;
|
||
},
|
||
SET_DOCSESSION(state, res) {
|
||
state.docSession = res;
|
||
},
|
||
},
|
||
actions: {
|
||
/**
|
||
* 登出
|
||
* 职责:断开WebSocket连接,清理状态
|
||
*/
|
||
logout({
|
||
state,
|
||
dispatch
|
||
}) {
|
||
dispatch('closeWebSocket');
|
||
},
|
||
|
||
/**
|
||
* 初始化(保留用于其他初始化逻辑)
|
||
* 注意:WebSocket初始化已在App.vue中统一处理
|
||
*/
|
||
init({
|
||
state,
|
||
dispatch
|
||
}) {
|
||
// WebSocket初始化已移至App.vue,这里保留其他初始化逻辑
|
||
// state.utils = new Utils()
|
||
// 获取会话列表
|
||
// dispatch('getSessionList')
|
||
},
|
||
|
||
/**
|
||
* 关闭WebSocket
|
||
* 职责:断开WebSocket连接
|
||
*/
|
||
closeWebSocket() {
|
||
disconnectWebSocket();
|
||
},
|
||
// 获取挂号信息
|
||
getConsult({
|
||
state,
|
||
commit
|
||
}) {
|
||
registerList({
|
||
status: state.status,
|
||
page: 1
|
||
}).then(res => {
|
||
if (res.errcode == 0) {
|
||
commit('SET_CONSULT', res.data);
|
||
}
|
||
})
|
||
},
|
||
}
|
||
})
|
||
export default store
|