From f6d66fa71c7e38052623385a7567381f39dbc97b Mon Sep 17 00:00:00 2001 From: wwt Date: Mon, 24 Mar 2025 14:18:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B6=88=E6=81=AF=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/index.js | 19 ++++++++++++++++++- src/store/auth/index.js | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/service/index.js b/src/service/index.js index 9e42bda..fbdddf4 100644 --- a/src/service/index.js +++ b/src/service/index.js @@ -1,5 +1,21 @@ import Request from '@/service/request/index.js' import {useAuth} from "@/store/auth"; +import { createApp } from 'vue'; +import XMessage from '@/components/x-message/index.vue'; + +// 创建消息提示实例 +const messageInstance = (() => { + const messageNode = document.createElement('div'); + document.body.appendChild(messageNode); + const app = createApp(XMessage); + const instance = app.mount(messageNode); + return { + warning: (msg) => instance.showMessage({ type: 'warning', message: msg }), + error: (msg) => instance.showMessage({ type: 'error', message: msg }), + success: (msg) => instance.showMessage({ type: 'success', message: msg }), + info: (msg) => instance.showMessage({ type: 'info', message: msg }) + }; +})(); const { token ,refreshToken,userInfo}=useAuth() let isRefreshing = false; let refreshSubscribers = []; @@ -36,6 +52,7 @@ const request = new Request({ return res.config.responseType === 'blob' ? res : res; } else { /* message.error(res.data.msg || 'An error occurred.');*/ + messageInstance.error(res.data.msg || 'An error occurred.'); return Promise.reject(new Error(res.data.msg || 'An error occurred.')); } } @@ -59,7 +76,7 @@ async function getRefreshToken(response) { }) return request.request(response.config); } else { - message.error(res.message || res.msg); + messageInstance.error(res.message || res.msg); throw new Error(res.message || res.msg); } } catch (error) { diff --git a/src/store/auth/index.js b/src/store/auth/index.js index 048a300..f6a2b0f 100644 --- a/src/store/auth/index.js +++ b/src/store/auth/index.js @@ -5,7 +5,7 @@ import { userInfoApi } from "@/api/user"; import {ref} from 'vue' export const useAuth = createGlobalState(() => { const token = useStorage('token', '', uniStorage) - // const token = ref("79b5c732d96d2b27a48a99dfd4a5566c43aaa5796242e854ebe3ffc198d6876b9628e7b764d9af65ab5dbb2d517ced88170491b74b048c0ba827c0d3741462cb89dc59ed46653a449af837a8262941caaef1334d640773710f8cd96473bacfb190cba595a5d6a9c87d70f0999a3ebb41147213b31b4bdccffca66a56acf3baab5af0154f0dce360079f37709f78e13711036899344bddb0fb4cf0f2890287cb62c3fcbe33368caa5e213624577be8b8420ab75b1f50775ee16142a4321c5d56995f37354a66a969da98d95ba6e65d142ed097e04b411c1ebad2f62866d0ec7e1838420530a9941dbbcd00490199f8b899eade812a32201a0a025612a7615c43b1ac91d78661c4e9b7d0ca9701e2ea152073ff929e2cc3f2f29c1934a8873a44886758d3cf16439dfda105c00c3c2e0d8748163a63ce7ce8e44f599b42a89d2b6") + // const token = ref("79b5c732d96d2b27a48a99dfd4a5566c43aaa5796242e854ebe3ffc198d6876b9628e7b764d9af65ab5dbb2d517ced88170491b74b048c0ba827c0d3741462cb89dc59ed46653a449af837a8262941caba0afc18e7cb819d125e8c04282beb5d4dd454307169f7eb51cd3dbbee20c1a17784f78ad30c3b3a102bd03c3218080beedae501a95c365d360a7a0d682cba2eca94a2915c13f0bdcb42f2eab9458cb4bd89ae6f3200fe4893d64caf1bce02894aab876f94f7825d23be507733468deba21734b6d666b75fd0bee74753fdd6ca5def7ec42cd7dbb47750e61cac6965f34fd71b52be66a472d3ee5b1e4661e59d4489860c2e1d8c178de5b43853ef9be822f00e0903b5c97efaa9ba0d9c76a1a91a2d6d77c5a19c551906a67fbfd3af69bd6a59310b8b300658e9b7248d9dd51a66be399ef412cb7c83bc81abfc15b65b") const refreshToken = useStorage('refreshToken', '', uniStorage) const userInfo = useStorage('userInfo', {}, uniStorage) const leaderList = useStorage('leaderList', [], uniStorage)