@@ -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 ( response . data . msg ) ) {
60
61
request . state . errMsgStack = [ ...( request . state . errMsgStack || [ ] ) , response . data . msg ] ;
61
62
62
63
// prevent the user from refreshing the page
@@ -82,7 +83,7 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
82
83
// when the backend response code is in `expiredTokenCodes`, it means the token is expired, and refresh token
83
84
// the api `refreshToken` can not return error code in `expiredTokenCodes`, otherwise it will be a dead loop, should return `logoutCodes` or `modalLogoutCodes`
84
85
const expiredTokenCodes = import . meta. env . VITE_SERVICE_EXPIRED_TOKEN_CODES ?. split ( ',' ) || [ ] ;
85
- if ( expiredTokenCodes . includes ( response . data . code ) && ! request . state . isRefreshingToken ) {
86
+ if ( expiredTokenCodes . includes ( responseCode ) && ! request . state . isRefreshingToken ) {
86
87
request . state . isRefreshingToken = true ;
87
88
88
89
const refreshConfig = await handleRefreshToken ( response . config ) ;
@@ -108,7 +109,7 @@ export const request = createFlatRequest<App.Service.Response, RequestInstanceSt
108
109
// get backend error message and code
109
110
if ( error . code === BACKEND_ERROR_CODE ) {
110
111
message = error . response ?. data ?. msg || message ;
111
- backendErrorCode = error . response ?. data ?. code || '' ;
112
+ backendErrorCode = String ( error . response ?. data ?. code || '' ) ;
112
113
}
113
114
114
115
// the error message is displayed in the modal
0 commit comments