feat: Update HttpClient to handle user logout on 401 error
This commit is contained in:
parent
5fc370a3bb
commit
8f0c422dd8
@ -1,3 +1,4 @@
|
|||||||
|
import { useUser } from "@/stores/useUser";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { uniAdapter } from "fant-axios-adapter";
|
import { uniAdapter } from "fant-axios-adapter";
|
||||||
|
|
||||||
@ -36,6 +37,8 @@ export default class ApiClient {
|
|||||||
(response) => {
|
(response) => {
|
||||||
if (response.data.code === 10001) {
|
if (response.data.code === 10001) {
|
||||||
const pages = getCurrentPages() as any[];
|
const pages = getCurrentPages() as any[];
|
||||||
|
const user = useUser();
|
||||||
|
user.logout();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });
|
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });
|
||||||
}, 300);
|
}, 300);
|
||||||
@ -70,12 +73,13 @@ export default class ApiClient {
|
|||||||
return Promise.reject(newError);
|
return Promise.reject(newError);
|
||||||
}
|
}
|
||||||
const pages = getCurrentPages() as any[];
|
const pages = getCurrentPages() as any[];
|
||||||
|
const user = useUser();
|
||||||
switch (error.status) {
|
switch (error.status) {
|
||||||
case 1:
|
case 1:
|
||||||
error.msg = "网络超时";
|
error.msg = "网络超时";
|
||||||
break;
|
break;
|
||||||
case 401:
|
case 401:
|
||||||
// todo 401 logout
|
user.logout();
|
||||||
error.msg = "请先登录";
|
error.msg = "请先登录";
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });
|
uni.showToast({ title: "登录已过期,请重新登录", icon: "none" });
|
||||||
|
Loading…
Reference in New Issue
Block a user