feat: Update HttpClient to handle user logout on 401 error

This commit is contained in:
Timothy Yin 2024-09-19 01:14:30 +08:00
parent 5fc370a3bb
commit 8f0c422dd8

View File

@ -1,3 +1,4 @@
import { useUser } from "@/stores/useUser";
import axios from "axios";
import { uniAdapter } from "fant-axios-adapter";
@ -36,6 +37,8 @@ export default class ApiClient {
(response) => {
if (response.data.code === 10001) {
const pages = getCurrentPages() as any[];
const user = useUser();
user.logout();
setTimeout(() => {
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });
}, 300);
@ -70,12 +73,13 @@ export default class ApiClient {
return Promise.reject(newError);
}
const pages = getCurrentPages() as any[];
const user = useUser();
switch (error.status) {
case 1:
error.msg = "网络超时";
break;
case 401:
// todo 401 logout
user.logout();
error.msg = "请先登录";
setTimeout(() => {
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });