处理消息提示

This commit is contained in:
wwt 2025-03-24 14:18:11 +08:00
parent 5822c80f6a
commit f6d66fa71c
2 changed files with 19 additions and 2 deletions

View File

@ -1,5 +1,21 @@
import Request from '@/service/request/index.js' import Request from '@/service/request/index.js'
import {useAuth} from "@/store/auth"; 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() const { token ,refreshToken,userInfo}=useAuth()
let isRefreshing = false; let isRefreshing = false;
let refreshSubscribers = []; let refreshSubscribers = [];
@ -36,6 +52,7 @@ const request = new Request({
return res.config.responseType === 'blob' ? res : res; return res.config.responseType === 'blob' ? res : res;
} else { } else {
/* message.error(res.data.msg || 'An error occurred.');*/ /* 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.')); return Promise.reject(new Error(res.data.msg || 'An error occurred.'));
} }
} }
@ -59,7 +76,7 @@ async function getRefreshToken(response) {
}) })
return request.request(response.config); return request.request(response.config);
} else { } else {
message.error(res.message || res.msg); messageInstance.error(res.message || res.msg);
throw new Error(res.message || res.msg); throw new Error(res.message || res.msg);
} }
} catch (error) { } catch (error) {

View File

@ -5,7 +5,7 @@ import { userInfoApi } from "@/api/user";
import {ref} from 'vue' import {ref} from 'vue'
export const useAuth = createGlobalState(() => { export const useAuth = createGlobalState(() => {
const token = useStorage('token', '', uniStorage) const token = useStorage('token', '', uniStorage)
// const token = ref("79b5c732d96d2b27a48a99dfd4a5566c43aaa5796242e854ebe3ffc198d6876b9628e7b764d9af65ab5dbb2d517ced88170491b74b048c0ba827c0d3741462cb89dc59ed46653a449af837a8262941caaef1334d640773710f8cd96473bacfb190cba595a5d6a9c87d70f0999a3ebb41147213b31b4bdccffca66a56acf3baab5af0154f0dce360079f37709f78e13711036899344bddb0fb4cf0f2890287cb62c3fcbe33368caa5e213624577be8b8420ab75b1f50775ee16142a4321c5d56995f37354a66a969da98d95ba6e65d142ed097e04b411c1ebad2f62866d0ec7e1838420530a9941dbbcd00490199f8b899eade812a32201a0a025612a7615c43b1ac91d78661c4e9b7d0ca9701e2ea152073ff929e2cc3f2f29c1934a8873a44886758d3cf16439dfda105c00c3c2e0d8748163a63ce7ce8e44f599b42a89d2b6") // const token = ref("79b5c732d96d2b27a48a99dfd4a5566c43aaa5796242e854ebe3ffc198d6876b9628e7b764d9af65ab5dbb2d517ced88170491b74b048c0ba827c0d3741462cb89dc59ed46653a449af837a8262941caba0afc18e7cb819d125e8c04282beb5d4dd454307169f7eb51cd3dbbee20c1a17784f78ad30c3b3a102bd03c3218080beedae501a95c365d360a7a0d682cba2eca94a2915c13f0bdcb42f2eab9458cb4bd89ae6f3200fe4893d64caf1bce02894aab876f94f7825d23be507733468deba21734b6d666b75fd0bee74753fdd6ca5def7ec42cd7dbb47750e61cac6965f34fd71b52be66a472d3ee5b1e4661e59d4489860c2e1d8c178de5b43853ef9be822f00e0903b5c97efaa9ba0d9c76a1a91a2d6d77c5a19c551906a67fbfd3af69bd6a59310b8b300658e9b7248d9dd51a66be399ef412cb7c83bc81abfc15b65b")
const refreshToken = useStorage('refreshToken', '', uniStorage) const refreshToken = useStorage('refreshToken', '', uniStorage)
const userInfo = useStorage('userInfo', {}, uniStorage) const userInfo = useStorage('userInfo', {}, uniStorage)
const leaderList = useStorage('leaderList', [], uniStorage) const leaderList = useStorage('leaderList', [], uniStorage)