From 8f0c422dd81f7e60562ef5bdc6cc05f505798c3f Mon Sep 17 00:00:00 2001 From: HoshinoSuzumi Date: Thu, 19 Sep 2024 01:14:30 +0800 Subject: [PATCH] feat: Update HttpClient to handle user logout on 401 error --- src/http/HttpClient.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/http/HttpClient.ts b/src/http/HttpClient.ts index 20fa7f9..2aaeb02 100644 --- a/src/http/HttpClient.ts +++ b/src/http/HttpClient.ts @@ -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" });