@ -20,7 +20,7 @@ service.interceptors.request.use(
path = router && router . app && router . app . _route && router . app . _route . path
path = router && router . app && router . app . _route && router . app . _route . path
config . headers [ 'Content-Type' ] = 'application/json;charset=UTF-8'
config . headers [ 'Content-Type' ] = 'application/json;charset=UTF-8'
var language = zzSessionStorage . getItem ( 'lang' )
var language = zzSessionStorage . getItem ( 'lang' )
config . headers [ 'Accept-Language' ] = language === 'en' ? 'en-US,en;q=0.5' : 'zh-CN,zh;q=0.9'
config . headers [ 'Accept-Language' ] = language === 'en' ? 'en-US,en;q=0.5' : 'zh-CN,zh;q=0.9'
config . headers [ 'TimeZoneId' ] = moment . tz . guess ( )
config . headers [ 'TimeZoneId' ] = moment . tz . guess ( )
if ( store . getters . token ) {
if ( store . getters . token ) {
config . headers . Authorization = ` Bearer ${ store . getters . token } `
config . headers . Authorization = ` Bearer ${ store . getters . token } `
@ -33,7 +33,7 @@ service.interceptors.request.use(
if ( store . state . user . userId !== zzSessionStorage . getItem ( 'userId' ) ) {
if ( store . state . user . userId !== zzSessionStorage . getItem ( 'userId' ) ) {
window . location . href = ` /login `
window . location . href = ` /login `
zzSessionStorage . removeItem ( 'lastWorkbench' )
zzSessionStorage . removeItem ( 'lastWorkbench' )
Alert ( store . state . lang . language === 'en' ? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户' , {
Alert ( store . state . lang . language === 'en' ? 'The same browser only allows one user account to be logged in at a time.' : '同一浏览器只允许同时登陆一个账户' , {
type : 'warning' ,
type : 'warning' ,
} )
} )
}
}
@ -49,13 +49,13 @@ service.interceptors.request.use(
}
}
)
)
var isConfirm = true
let timer = null ;
let time = 1000 ;
service . interceptors . response . use (
service . interceptors . response . use (
response => {
response => {
const res = response . data
const res = response . data
if ( res . IsSuccess ) {
if ( res . IsSuccess ) {
isConfirm = true
return Promise . resolve ( res )
return Promise . resolve ( res )
} else if ( res . IsSuccess === false ) {
} else if ( res . IsSuccess === false ) {
if ( res . Code !== 5 ) {
if ( res . Code !== 5 ) {
@ -63,7 +63,7 @@ service.interceptors.response.use(
type : 'warning' ,
type : 'warning' ,
showCancelButton : false ,
showCancelButton : false ,
callback : action => {
callback : action => {
if ( res . Code === 6 ) {
if ( res . Code === 6 ) {
window . close ( )
window . close ( )
}
}
}
}
@ -87,29 +87,29 @@ service.interceptors.response.use(
} )
} )
}
}
switch ( status ) {
switch ( status ) {
case 400 : message = store . state . lang . language === 'en' ? 'Request error' : '请求错误' ; break
case 400 : message = store . state . lang . language === 'en' ? 'Request error' : '请求错误' ; break
case 401 : message = store . state . lang . language === 'en' ? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录' ; break
case 401 : message = store . state . lang . language === 'en' ? 'Not authorized or login timed out. Please log in again.' : '未授权或登陆超时,请重新登录' ; break
case 403 : message = error . response . data . ErrorMessage ; break
case 403 : message = error . response . data . ErrorMessage ; break
case 404 : message = store . state . lang . language === 'en' ? 'Request address error' : ` 请求地址出错 ` ; break
case 404 : message = store . state . lang . language === 'en' ? 'Request address error' : ` 请求地址出错 ` ; break
case 405 : message = store . state . lang . language === 'en' ? 'Interface parameter error or request method inconsistency' : ` 接口参数传递错误,或者请求方法不一致 ` ; break
case 405 : message = store . state . lang . language === 'en' ? 'Interface parameter error or request method inconsistency' : ` 接口参数传递错误,或者请求方法不一致 ` ; break
case 408 : message = store . state . lang . language === 'en' ? 'Request timed out' : '请求超时' ; break
case 408 : message = store . state . lang . language === 'en' ? 'Request timed out' : '请求超时' ; break
case 429 : message = store . state . lang . language === 'en' ? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试' ; break
case 429 : message = store . state . lang . language === 'en' ? 'The application service limits the traffic. Your requests are too frequent. Please try again later.' : '应用服务限流,您的请求过于频繁,请稍后再试' ; break
case 500 : message = store . state . lang . language === 'en' ? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理' ; break
case 500 : message = store . state . lang . language === 'en' ? 'Internal server error, and unable to complete the request. Software release might be in process. Please contact the administrator.' : '服务器内部错误,无法完成请求;可能正在发布中,请联系管理员处理' ; break
case 501 : message = store . state . lang . language === 'en' ? 'Service has not been implemented.' : '服务未实现' ; break
case 501 : message = store . state . lang . language === 'en' ? 'Service has not been implemented.' : '服务未实现' ; break
case 502 : message = store . state . lang . language === 'en' ? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。' ; break
case 502 : message = store . state . lang . language === 'en' ? 'System is being upgraded. Please wait patiently.' : '系统正在升级,请耐心等待。' ; break
case 503 : message = store . state . lang . language === 'en' ? 'Service is not available' : '服务不可用' ; break
case 503 : message = store . state . lang . language === 'en' ? 'Service is not available' : '服务不可用' ; break
case 504 : message = store . state . lang . language === 'en' ? 'Gateway timed out' : '网关超时' ; break
case 504 : message = store . state . lang . language === 'en' ? 'Gateway timed out' : '网关超时' ; break
case 505 : message = store . state . lang . language === 'en' ? 'HTTP version is not supported' : 'HTTP版本不受支持' ; break
case 505 : message = store . state . lang . language === 'en' ? 'HTTP version is not supported' : 'HTTP版本不受支持' ; break
default : break
default : break
}
}
if ( error . response . status === 401 ) {
if ( error . response . status === 401 ) {
if ( store . getters . token ) {
if ( store . getters . token ) {
if ( message !== '' ) {
if ( message !== '' ) {
Message ( {
setTimer ( {
message : message ,
message : message ,
type : 'warning' ,
type : 'warning' ,
showClose : true
showClose : true
} )
} , 'message' )
}
}
store . dispatch ( 'user/logout' ) . then ( ( ) => {
store . dispatch ( 'user/logout' ) . then ( ( ) => {
router . push ( ` /login ` )
router . push ( ` /login ` )
@ -118,34 +118,52 @@ service.interceptors.response.use(
this . $updateDictionary ( )
this . $updateDictionary ( )
} )
} )
} else {
} else {
Message ( {
setTimer ( {
message : store . state . lang . language === 'en' ? 'You are not authorized to access the interface' : '您无权访问接口' ,
message : store . state . lang . language === 'en' ? 'You are not authorized to access the interface' : '您无权访问接口' ,
type : 'warning' ,
type : 'warning' ,
showClose : true
showClose : true
} )
} , 'message' )
}
}
} else {
} else {
if ( message !== '' && isConfirm ) {
if ( message !== '' ) {
MessageBox. confirm ( message , store . state . lang . language === 'en' ? 'Warning' : '警告' , {
setTimer( [ message , store . state . lang . language === 'en' ? 'Warning' : '警告' , {
type : 'warning' ,
type : 'warning' ,
showCancelButton : false ,
showCancelButton : false ,
callback : action => { }
callback : action => { }
} )
} ], 'confirm' )
}
}
}
}
}
}
if ( ! window . navigator . onLine && isConfirm ) {
if ( ! window . navigator . onLine ) {
MessageBox . confirm ( store . state . lang . language === 'en' ? 'Please check your network, and try again later! ' : '请检查网络,稍后重试!' , store . state . lang . language === 'en' ? 'Warning' : '警告' , {
setTimer (
[ store . state . lang . language === 'en' ? 'Please check your network, and try again later! ' : '请检查网络,稍后重试!' , store . state . lang . language === 'en' ? 'Warning' : '警告' , {
type : 'warning' ,
type : 'warning' ,
showCancelButton : false ,
showCancelButton : false ,
callback : action => { }
callback : action => { }
} )
} ] , "confirm"
isConfirm = false
)
}
}
return Promise . reject ( new Error ( message || 'Error' ) )
return Promise . reject ( new Error ( message || 'Error' ) )
}
}
)
)
const setTimer = ( obj , type ) => {
if ( timer ) {
clearTimeout ( timer ) ;
timer = null ;
}
timer = setTimeout ( ( ) => {
if ( type === 'message' ) {
Message ( obj )
}
if ( type === 'confirm' ) {
MessageBox . confirm ( ... obj )
}
clearTimeout ( timer ) ;
timer = null ;
} , time )
}