Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Fedex
/
imac-vue
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Elements-SY
2023-09-06 17:45:43 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6614463a73a5b34967fe37b77e5bc73ec726b09e
6614463a
1 parent
15a83b86
modify
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
66 additions
and
61 deletions
src/utils/request.js
src/utils/request.js
View file @
6614463
import
axios
from
'axios'
import
{
Message
,
MessageBox
}
from
'element-ui'
import
store
from
'@/store'
import
{
getToken
,
setToken
}
from
'@/utils/auth'
import
errorCode
from
'@/utils/errorCode'
import
settings
from
"@/settings"
import
axios
from
"axios"
;
import
{
Message
,
MessageBox
}
from
"element-ui"
;
import
store
from
"@/store"
;
import
{
getToken
,
setToken
}
from
"@/utils/auth"
;
import
errorCode
from
"@/utils/errorCode"
;
import
settings
from
"@/settings"
;
axios
.
defaults
.
headers
[
'Content-Type'
]
=
'application/json;charset=utf-8'
axios
.
defaults
.
headers
[
"Content-Type"
]
=
"application/json;charset=utf-8"
;
// 创建axios实例
const
service
=
axios
.
create
({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL
:
settings
.
baseURL
,
baseURL
:
settings
.
baseURL
,
//接口地址
// 超时
timeout
:
90000
,
})
timeout
:
30000
,
});
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
service
.
interceptors
.
request
.
use
(
(
config
)
=>
{
// 是否需要设置 token
const
isToken
=
(
config
.
headers
||
{}).
isToken
===
false
const
isToken
=
(
config
.
headers
||
{}).
isToken
===
false
;
if
(
getToken
()
&&
!
isToken
)
{
config
.
headers
[
'Authorization'
]
=
decodeURIComponent
(
getToken
())
// 让每个请求携带自定义token 请根据实际情况自行修改
config
.
headers
[
"Authorization"
]
=
getToken
();
// 让每个请求携带自定义token 请根据实际情况自行修改
}
// get请求映射params参数
if
(
config
.
method
===
'get'
&&
config
.
params
)
{
let
url
=
config
.
url
+
'?'
;
if
(
config
.
method
===
"get"
&&
config
.
params
)
{
let
url
=
config
.
url
+
"?"
;
for
(
const
propName
of
Object
.
keys
(
config
.
params
))
{
const
value
=
config
.
params
[
propName
];
var
part
=
encodeURIComponent
(
propName
)
+
"="
;
if
(
value
!==
null
&&
typeof
(
value
)
!==
"undefined"
)
{
if
(
typeof
value
===
'object'
)
{
if
(
value
!==
null
&&
typeof
value
!==
"undefined"
)
{
if
(
typeof
value
===
"object"
)
{
for
(
const
key
of
Object
.
keys
(
value
))
{
let
params
=
propName
+
'['
+
key
+
']'
;
let
params
=
propName
+
"["
+
key
+
"]"
;
var
subPart
=
encodeURIComponent
(
params
)
+
"="
;
url
+=
subPart
+
encodeURIComponent
(
value
[
key
])
+
"&"
;
}
...
...
@@ -43,73 +43,78 @@ service.interceptors.request.use(config => {
config
.
params
=
{};
config
.
url
=
url
;
}
return
config
},
error
=>
{
console
.
log
(
error
)
Promise
.
reject
(
error
)
})
return
config
;
},
(
error
)
=>
{
console
.
log
(
error
);
Promise
.
reject
(
error
);
}
);
// 响应拦截器
service
.
interceptors
.
response
.
use
(
res
=>
{
if
(
res
.
headers
[
'token'
])
{
setToken
(
res
.
headers
[
'token'
])
service
.
interceptors
.
response
.
use
(
(
res
)
=>
{
if
(
res
.
headers
[
"token"
])
{
setToken
(
decodeURI
(
res
.
headers
[
"token"
]));
}
// 未设置状态码则默认成功状态
const
code
=
res
.
data
.
code
||
200
;
// 获取错误信息
const
msg
=
errorCode
[
code
]
||
res
.
data
.
msg
||
errorCode
[
'default'
]
const
msg
=
errorCode
[
code
]
||
res
.
data
.
msg
||
errorCode
[
"default"
];
if
(
code
===
301
)
{
MessageBox
.
confirm
(
'登录状态已过期,需重新登录!msg:'
+
msg
,
'系统提示'
,
{
MessageBox
.
confirm
(
"登录状态已过期,需重新登录"
,
"系统提示"
,
{
closeOnClickModal
:
false
,
showCancelButton
:
false
,
confirmButtonText
:
'重新登录'
,
type
:
'warning'
}
).
then
(()
=>
{
store
.
dispatch
(
'LogOut'
).
then
(()
=>
{
// location.href = '/';
window
.
location
.
href
=
settings
.
loginURL
;
//wsso系统跳转
})
confirmButtonText
:
"重新登录"
,
type
:
"warning"
,
}).
then
(()
=>
{
store
.
dispatch
(
"LogOut"
).
then
(()
=>
{
location
.
href
=
settings
.
routerBase
+
"/index"
;
});
});
}
else
if
(
code
===
403
)
{
//无权限页面
location
.
href
=
'/401'
;
}
else
if
(
code
===
500
)
{
location
.
href
=
"/401"
;
}
else
if
(
code
===
500
)
{
Message
({
message
:
msg
,
type
:
'error'
})
return
Promise
.
reject
(
new
Error
(
msg
))
}
else
if
(
code
!==
200
&&
code
!==
201
&&
code
!==
202
&&
code
!=
203
&&
code
!=
603
&&
code
!=
402
)
{
type
:
"error"
,
});
return
Promise
.
reject
(
new
Error
(
msg
));
}
else
if
(
code
!==
200
&&
code
!==
201
&&
code
!==
202
&&
code
!=
203
&&
code
!=
603
&&
code
!=
402
)
{
Message
({
message
:
msg
,
type
:
'error'
})
return
Promise
.
reject
(
'error'
)
type
:
"error"
,
});
return
Promise
.
reject
(
"error"
);
}
else
{
return
res
.
data
return
res
.
data
;
}
},
error
=>
{
console
.
log
(
'err'
+
error
)
},
(
error
)
=>
{
console
.
log
(
"err"
+
error
);
let
{
message
}
=
error
;
if
(
message
==
"Network Error"
)
{
message
=
"网络连接异常"
;
}
else
if
(
message
.
includes
(
"timeout"
))
{
}
else
if
(
message
.
includes
(
"timeout"
))
{
message
=
"系统接口请求超时"
;
}
else
if
(
message
.
includes
(
"Request failed with status code"
))
{
}
else
if
(
message
.
includes
(
"Request failed with status code"
))
{
message
=
"系统接口"
+
message
.
substr
(
message
.
length
-
3
)
+
"异常"
;
}
Message
({
message
:
message
,
type
:
'error'
,
duration
:
5
*
1000
})
return
Promise
.
reject
(
error
)
type
:
"error"
,
duration
:
5
*
1000
,
})
;
return
Promise
.
reject
(
error
)
;
}
)
)
;
export
default
service
export
default
service
;
...
...
Please
register
or
login
to post a comment