请求交互优化,登录失效清除用户数据

master
fuxiaochun 2023-08-21 10:44:29 +08:00
parent 86e88fda09
commit 37f61763ff
2 changed files with 9 additions and 1 deletions

View File

@ -9,6 +9,7 @@ import { localCache } from './cache';
import router from "@/router";
import { showToast } from 'vant';
import { useAuthModal } from '@/stores/authModal';
import { useUserInfo } from '@/stores/userInfo';
import hostAPI from '@/config/host.config'
export default function () {
@ -16,6 +17,7 @@ export default function () {
let requestCount = 0;//请求数量
const authModal = useAuthModal();
const userInfo = useUserInfo();
const showLoading = ()=>{
if (requestCount === 0) {
@ -77,6 +79,7 @@ export default function () {
showToast('账号过期或异地登录, 请重新登录');
localCache.remove('auth');
localCache.remove('userInfo');
userInfo.updateUserInfo({});
authModal.setAuthModalType('login');
authModal.showAuthModal();
// router.replace({name: 'Home', params: {auth: 'over'}});
@ -97,6 +100,7 @@ export default function () {
showToast('账号过期或异地登录, 请重新登录');
localCache.remove('auth');
localCache.remove('userInfo');
userInfo.updateUserInfo({});
authModal.setAuthModalType('login');
authModal.showAuthModal();
break;

View File

@ -4,7 +4,7 @@ import { localCache } from '@/io/cache'
import { showToast } from 'vant'
import { useAuthModal } from '@/stores/authModal';
import { useUserInfo } from '@/stores/userInfo';
const service = axios.create({
@ -38,6 +38,7 @@ service.interceptors.response.use(
const { requestBaseUrl } = response.config
const res = response.data
const authModal = useAuthModal();
const userInfo = useUserInfo();
if (requestBaseUrl == 'chat') {
return res
} else {
@ -45,6 +46,7 @@ service.interceptors.response.use(
if (res.status == 401) {
authModal.setAuthModalType('login');
authModal.showAuthModal();
userInfo.updateUserInfo({});
localCache.remove('auth');
localCache.remove('userInfo');
} else {
@ -58,6 +60,7 @@ service.interceptors.response.use(
},
error => {
const authModal = useAuthModal();
const userInfo = useUserInfo();
if (error.message == 'canceled') return Promise.reject(error)
const res = error.response?.data
@ -67,6 +70,7 @@ service.interceptors.response.use(
if (res.errcode == 401) {
authModal.setAuthModalType('login');
authModal.showAuthModal();
userInfo.updateUserInfo({});
localCache.remove('auth');
localCache.remove('userInfo');
} else {