soybean-admin/src/utils/service/msg.ts
Soybean 095c432363 refactor(projects): 代码优化
ISSUES CLOSED: \
2022-05-19 00:15:37 +08:00

33 lines
931 B
TypeScript

import { NO_ERROR_MSG_CODE, ERROR_MSG_DURATION } from '@/config';
/** 错误消息栈,防止同一错误同时出现 */
const errorMsgStack = new Map<string | number, string>([]);
function addErrorMsg(error: Service.RequestError) {
errorMsgStack.set(error.code, error.msg);
}
function removeErrorMsg(error: Service.RequestError) {
errorMsgStack.delete(error.code);
}
function hasErrorMsg(error: Service.RequestError) {
return errorMsgStack.has(error.code);
}
/**
* 显示错误信息
* @param error
*/
export function showErrorMsg(error: Service.RequestError) {
if (!error.msg) return;
if (!NO_ERROR_MSG_CODE.includes(error.code)) {
if (!hasErrorMsg(error)) {
addErrorMsg(error);
window.console.warn(error.code, error.msg);
window.$message?.error(error.msg, { duration: ERROR_MSG_DURATION });
setTimeout(() => {
removeErrorMsg(error);
}, ERROR_MSG_DURATION);
}
}
}