Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
admin-fe
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Pleroma
admin-fe
Commits
88f2f7ea
Commit
88f2f7ea
authored
7 years ago
by
Pan
Browse files
Options
Downloads
Patches
Plain Diff
fetch.js add tips
parent
69fe4d1e
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/utils/fetch.js
+37
-18
37 additions, 18 deletions
src/utils/fetch.js
with
37 additions
and
18 deletions
src/utils/fetch.js
+
37
−
18
View file @
88f2f7ea
import
axios
from
'
axios
'
;
import
{
Message
}
from
'
element-ui
'
;
import
store
from
'
../store
'
;
import
router
from
'
../router
'
;
// import router from '../router';
// 创建axios实例
const
service
=
axios
.
create
({
baseURL
:
process
.
env
.
BASE_API
baseURL
:
process
.
env
.
BASE_API
,
// api的base_url
timeout
:
5000
// 请求超时时间
});
// request拦截器
service
.
interceptors
.
request
.
use
(
config
=>
{
// Do something before request is sent
if
(
store
.
state
.
token
)
{
config
.
headers
.
Token
=
store
.
state
.
token
;
console
.
log
(
store
.
getters
.
token
)
if
(
store
.
getters
.
token
)
{
config
.
headers
[
'
X-Token
'
]
=
store
.
getters
.
token
;
// 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
}
return
config
;
},
error
=>
{
...
...
@@ -20,22 +23,38 @@ service.interceptors.request.use(config => {
Promise
.
reject
(
error
);
})
// respone拦截器
service
.
interceptors
.
response
.
use
(
response
=>
response
,
response
=>
response
/**
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过htmlrequest 状态码标示 逻辑可写在下面error中
*/
// const code = response.data.code;
// // 50014:Token 过期了 50012:其他客户端登录了 50008:非法的token
// if (code === 50008 || code === 50014 || code === 50012) {
// Message({
// message: res.message,
// type: 'error',
// duration: 5 * 1000
// });
// // 登出
// store.dispatch('FedLogOut').then(() => {
// router.push({ path: '/login' })
// });
// } else {
// return response
// }
,
error
=>
{
console
.
log
(
'
err
'
+
error
);
// for debug
const
code
=
error
.
response
.
data
;
if
(
code
===
50008
||
code
===
50014
||
code
===
50012
)
{
Message
({
message
:
res
.
message
,
type
:
'
error
'
,
duration
:
5
*
1000
});
// 登出
store
.
dispatch
(
'
FedLogOut
'
).
then
(()
=>
{
router
.
push
({
path
:
'
/login
'
})
});
}
Message
({
message
:
error
.
message
,
type
:
'
error
'
,
duration
:
5
*
1000
});
return
Promise
.
reject
(
error
);
}
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment