diff --git a/im-web/src/api/httpRequest.js b/im-web/src/api/httpRequest.js index 1f9849e..9d012e0 100644 --- a/im-web/src/api/httpRequest.js +++ b/im-web/src/api/httpRequest.js @@ -1,8 +1,6 @@ import axios from 'axios' -import router from '@/router' -import { - Message -} from 'element-ui' + +import { Message } from 'element-ui' const http = axios.create({ baseURL: process.env.VUE_APP_BASE_API, @@ -30,12 +28,12 @@ http.interceptors.response.use(async response => { if (response.data.code == 200) { return response.data.data; } else if (response.data.code == 400) { - router.replace("/login"); + location.href = "/"; } else if (response.data.code == 401) { console.log("token失效,尝试重新获取") let refreshToken = sessionStorage.getItem("refreshToken"); if (!refreshToken) { - router.replace("/login"); + location.href = "/"; } // 发送请求, 进行刷新token操作, 获取新的token const data = await http({ @@ -45,7 +43,7 @@ http.interceptors.response.use(async response => { refreshToken: refreshToken } }).catch(()=>{ - router.replace("/login"); + location.href = "/"; }) // 保存token sessionStorage.setItem("accessToken", data.accessToken); @@ -72,7 +70,7 @@ http.interceptors.response.use(async response => { }) break case 401: - router.replace("/login"); + location.href = "/"; break case 405: Message({ diff --git a/im-web/src/store/friendStore.js b/im-web/src/store/friendStore.js index c3e4f86..8773804 100644 --- a/im-web/src/store/friendStore.js +++ b/im-web/src/store/friendStore.js @@ -10,6 +10,11 @@ export default { }, mutations: { setFriends(state, friends) { + friends.forEach((f)=>{ + f.online = false; + f.onlineWeb = false; + f.onlineApp = false; + }) state.friends = friends; }, updateFriend(state,friend){ @@ -49,7 +54,7 @@ export default { }) // 30s后重新拉取 - clearTimeout(state.timer); + state.timer && clearTimeout(state.timer); state.timer = setTimeout(()=>{ this.commit("refreshOnlineStatus"); },30000) @@ -59,12 +64,10 @@ export default { let userTerminal = onlineTerminals.find((o)=> f.id==o.userId); if(userTerminal){ f.online = true; - f.onlineTerminals = userTerminal.terminals; f.onlineWeb = userTerminal.terminals.indexOf(TERMINAL_TYPE.WEB)>=0 f.onlineApp = userTerminal.terminals.indexOf(TERMINAL_TYPE.APP)>=0 }else{ f.online = false; - f.onlineTerminals = []; f.onlineWeb = false; f.onlineApp = false; } @@ -81,7 +84,7 @@ export default { }); }, clear(state) { - clearTimeout(state.timer); + state.timer && clearTimeout(state.timer); state.friends = []; state.timer = null; state.activeFriend = [];