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
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); |
|
} |
|
}
|
|
|