You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

119 lines
4.1 KiB

// import { useTenantStore, useUserStore, useModalStore } from '@star/stores';
// import { mb_t } from '@star/languages';
// import { router } from '@routers';
import { endsWith, includes, startsWith } from 'lodash-es';
// import { ModalTypeEnum } from '@star/constants';
// 错误提示
export default class NetworkError {
tag: string;
key: string;
info: string;
level: string;
origin: string;
cmd: string;
code: number;
logout: boolean;
update: boolean;
time: string;
constructor(options: any) {
this.tag = '';
this.key = '';
this.info = '';
this.level = '';
this.origin = '';
this.cmd = '';
// this.code = 0
this.code = -1;
this.logout = false;
this.update = false;
this.time = new Date().toLocaleString().split('GMT')[0];
if (options) {
if (options.key) {
this.key = options.key;
}
if (options.tag) {
this.tag = options.tag;
}
if (options.info) {
if (startsWith(options.info, '{') && endsWith(options.info, '}')) {
const result = JSON.parse(options.info);
this.info = result?.msg || result?.exMessage || '';
} else {
this.info = options.info;
}
}
if (options.level) {
this.level = options.level;
}
if (options.origin) {
this.origin = options.origin;
}
if (options.cmd) {
this.cmd = options.cmd;
}
if (options.code) {
this.code = options.code;
}
if (options.logout) {
this.logout = options.logout;
}
if (options.update) {
this.update = options.update;
}
}
// const tenantStore = useTenantStore();
// if ([371130, 381119].includes(Number(this.cmd))) {
// tenantStore.setRepairStatus(true);
// }
if (this.info.indexOf('invalid_token') !== -1) {
this.info = '亲,麻烦重新登录哦';
} else if (this.info.indexOf('Request failed with status code 500') !== -1) {
this.info = '网络不给力,请检查网络' + '(500)';
} else if (this.info.indexOf('Request failed with status code 502') !== -1) {
this.info = '网络不给力,请检查网络' + '(502)';
} else if (this.info.indexOf('Error 503 Service Unavailable') !== -1) {
this.info = '网络不给力,请检查网络' + '(503)';
} else if (this.info.indexOf('Request failed with status code 504') !== -1) {
this.info = '网络不给力,请检查网络' + '(504)';
} else if (this.info.indexOf('timeout of 20000ms') !== -1) {
this.info = '请求超时,请检查网络';
} else if (this.info.indexOf('Error 400 Bad Request') !== -1) {
this.info = '网络不给力,请重新尝试';
} else if (this.info.indexOf('Network Error') !== -1) {
this.info = '网络错误,请检查网络';
} else if (options?.code === '1115') {
// tenantStore.setRepairData(options.origin);
// tenantStore.setRepairStatus(true);
} else {
console.error('err.info:', this.cmd, this.info, options);
// this.info = this.info
// if (this.info) {
// showFailToast(mb_t(this.info));
// }
// if (this.info && this.info.includes('重新登录')) {
// const userStore = useUserStore();
// userStore?.clearUserInfo?.();
// if (
// !startsWith(router.currentRoute.value?.path, '/activity') &&
// !includes(['home', 'mine', 'activity'], router.currentRoute.value?.name)
// ) {
// const modalStore = useModalStore();
// const path = router.currentRoute.value?.fullPath;
// modalStore.showRegisterModal({ redirect: path });
// router.replace?.('/home');
// }
// }
// if (this.info.includes('访问限制')) {
// tenantStore.setIPLimitStatus(true);
// }
// [371130, 370433]返回了请求没有任何数据 才跳维护 其他接口忽略
// if ([371130, 370433].includes(Number(this.cmd))) {
// // console.log(371130, 370433, this.info, '????????????????????????????');
// tenantStore.setRepairStatus(true);
// }
}
// this.info = mb_t(this.info);
}
}