@@ -35,6 +35,7 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
35
35
} ,
36
36
async onBackendFail ( response , instance ) {
37
37
const authStore = useAuthStore ( ) ;
38
+ const responseCode = String ( response . data . code ) ;
38
39
39
40
function handleLogout ( ) {
40
41
authStore . resetStore ( ) ;
@@ -49,14 +50,14 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
49
50
50
51
// when the backend response code is in `logoutCodes`, it means the user will be logged out and redirected to login page
51
52
const logoutCodes = import . meta. env . VITE_SERVICE_LOGOUT_CODES ?. split ( ',' ) || [ ] ;
52
- if ( logoutCodes . includes ( response . data . code ) ) {
53
+ if ( logoutCodes . includes ( responseCode ) ) {
53
54
handleLogout ( ) ;
54
55
return null ;
55
56
}
56
57
57
58
// when the backend response code is in `modalLogoutCodes`, it means the user will be logged out by displaying a modal
58
59
const modalLogoutCodes = import . meta. env . VITE_SERVICE_MODAL_LOGOUT_CODES ?. split ( ',' ) || [ ] ;
59
- if ( modalLogoutCodes . includes ( response . data . code ) && ! request . state . errMsgStack ?. includes ( response . data . msg ) ) {
60
+ if ( modalLogoutCodes . includes ( responseCode ) && ! request . state . errMsgStack ?. includes ( responseCode ) ) {
60
61
request . state . errMsgStack = [ ...( request . state . errMsgStack || [ ] ) , response . data . msg ] ;
61
62
62
63
// prevent the user from refreshing the page
@@ -81,7 +82,7 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
81
82
// when the backend response code is in `expiredTokenCodes`, it means the token is expired, and refresh token
82
83
// the api `refreshToken` can not return error code in `expiredTokenCodes`, otherwise it will be a dead loop, should return `logoutCodes` or `modalLogoutCodes`
83
84
const expiredTokenCodes = import . meta. env . VITE_SERVICE_EXPIRED_TOKEN_CODES ?. split ( ',' ) || [ ] ;
84
- if ( expiredTokenCodes . includes ( response . data . code ) && ! request . state . isRefreshingToken ) {
85
+ if ( expiredTokenCodes . includes ( responseCode ) && ! request . state . isRefreshingToken ) {
85
86
request . state . isRefreshingToken = true ;
86
87
87
88
const refreshConfig = await handleRefreshToken ( response . config ) ;
@@ -107,7 +108,7 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
107
108
// get backend error message and code
108
109
if ( error . code === BACKEND_ERROR_CODE ) {
109
110
message = error . response ?. data ?. msg || message ;
110
- backendErrorCode = error . response ?. data ?. code || '' ;
111
+ backendErrorCode = String ( error . response ?. data ?. code ) || '' ;
111
112
}
112
113
113
114
// the error message is displayed in the modal
0 commit comments