提交 | 用户 | age
|
4d2fb0
|
1 |
import type { ErrorMessageMode } from '#/axios'; |
X |
2 |
import { useMessage } from '@/hooks/web/useMessage'; |
|
3 |
import { useI18n } from '@/hooks/web/useI18n'; |
|
4 |
// import router from '@/router'; |
|
5 |
// import { PageEnum } from '@/enums/pageEnum'; |
|
6 |
import { useUserStoreWithOut } from '@/store/modules/user'; |
|
7 |
import projectSetting from '@/settings/projectSetting'; |
|
8 |
import { SessionTimeoutProcessingEnum } from '@/enums/appEnum'; |
b7ce74
|
9 |
|
49b66e
|
10 |
const { createMessage, createErrorModal } = useMessage(); |
2f6253
|
11 |
const error = createMessage.error!; |
0d0708
|
12 |
const stp = projectSetting.sessionTimeoutProcessing; |
b6d5b0
|
13 |
|
49b66e
|
14 |
export function checkStatus( |
X |
15 |
status: number, |
|
16 |
msg: string, |
56a966
|
17 |
errorMessageMode: ErrorMessageMode = 'message', |
49b66e
|
18 |
): void { |
962f90
|
19 |
const { t } = useI18n(); |
913c22
|
20 |
const userStore = useUserStoreWithOut(); |
49b66e
|
21 |
let errMessage = ''; |
X |
22 |
|
2f6253
|
23 |
switch (status) { |
陈 |
24 |
case 400: |
49b66e
|
25 |
errMessage = `${msg}`; |
2f6253
|
26 |
break; |
589409
|
27 |
// 401: Not logged in |
V |
28 |
// Jump to the login page if not logged in, and carry the path of the current page |
|
29 |
// Return to the current page after successful login. This step needs to be operated on the login page. |
2f6253
|
30 |
case 401: |
3a5d1a
|
31 |
userStore.setToken(undefined); |
无 |
32 |
errMessage = msg || t('sys.api.errMsg401'); |
0d0708
|
33 |
if (stp === SessionTimeoutProcessingEnum.PAGE_COVERAGE) { |
V |
34 |
userStore.setSessionTimeout(true); |
|
35 |
} else { |
236ddf
|
36 |
// 被动登出,带redirect地址 |
X |
37 |
userStore.logout(false); |
0d0708
|
38 |
} |
2f6253
|
39 |
break; |
陈 |
40 |
case 403: |
49b66e
|
41 |
errMessage = t('sys.api.errMsg403'); |
2f6253
|
42 |
break; |
陈 |
43 |
// 404请求不存在 |
|
44 |
case 404: |
49b66e
|
45 |
errMessage = t('sys.api.errMsg404'); |
2f6253
|
46 |
break; |
陈 |
47 |
case 405: |
49b66e
|
48 |
errMessage = t('sys.api.errMsg405'); |
2f6253
|
49 |
break; |
陈 |
50 |
case 408: |
49b66e
|
51 |
errMessage = t('sys.api.errMsg408'); |
2f6253
|
52 |
break; |
陈 |
53 |
case 500: |
49b66e
|
54 |
errMessage = t('sys.api.errMsg500'); |
2f6253
|
55 |
break; |
陈 |
56 |
case 501: |
49b66e
|
57 |
errMessage = t('sys.api.errMsg501'); |
2f6253
|
58 |
break; |
陈 |
59 |
case 502: |
49b66e
|
60 |
errMessage = t('sys.api.errMsg502'); |
2f6253
|
61 |
break; |
陈 |
62 |
case 503: |
49b66e
|
63 |
errMessage = t('sys.api.errMsg503'); |
2f6253
|
64 |
break; |
陈 |
65 |
case 504: |
49b66e
|
66 |
errMessage = t('sys.api.errMsg504'); |
2f6253
|
67 |
break; |
陈 |
68 |
case 505: |
49b66e
|
69 |
errMessage = t('sys.api.errMsg505'); |
2f6253
|
70 |
break; |
陈 |
71 |
default: |
|
72 |
} |
49b66e
|
73 |
|
X |
74 |
if (errMessage) { |
|
75 |
if (errorMessageMode === 'modal') { |
|
76 |
createErrorModal({ title: t('sys.api.errorTip'), content: errMessage }); |
|
77 |
} else if (errorMessageMode === 'message') { |
ea6834
|
78 |
error({ content: errMessage, key: `global_error_message_status_${status}` }); |
49b66e
|
79 |
} |
X |
80 |
} |
2f6253
|
81 |
} |