Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VueElementTemplate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄瑜
VueElementTemplate
Commits
88f2f7ea
Commit
88f2f7ea
authored
May 16, 2017
by
Pan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fetch.js add tips
parent
69fe4d1e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
18 deletions
+37
-18
fetch.js
src/utils/fetch.js
+37
-18
No files found.
src/utils/fetch.js
View file @
88f2f7ea
import
axios
from
'axios'
;
import
axios
from
'axios'
;
import
{
Message
}
from
'element-ui'
;
import
{
Message
}
from
'element-ui'
;
import
store
from
'../store'
;
import
store
from
'../store'
;
import
router
from
'../router'
;
// import router from '../router';
// 创建axios实例
const
service
=
axios
.
create
({
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
=>
{
service
.
interceptors
.
request
.
use
(
config
=>
{
// Do something before request is sent
// Do something before request is sent
if
(
store
.
state
.
token
)
{
console
.
log
(
store
.
getters
.
token
)
config
.
headers
.
Token
=
store
.
state
.
token
;
if
(
store
.
getters
.
token
)
{
config
.
headers
[
'X-Token'
]
=
store
.
getters
.
token
;
// 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
}
}
return
config
;
return
config
;
},
error
=>
{
},
error
=>
{
...
@@ -20,22 +23,38 @@ service.interceptors.request.use(config => {
...
@@ -20,22 +23,38 @@ service.interceptors.request.use(config => {
Promise
.
reject
(
error
);
Promise
.
reject
(
error
);
})
})
// respone拦截器
service
.
interceptors
.
response
.
use
(
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
=>
{
error
=>
{
console
.
log
(
'err'
+
error
);
// for debug
console
.
log
(
'err'
+
error
);
// for debug
const
code
=
error
.
response
.
data
;
Message
({
if
(
code
===
50008
||
code
===
50014
||
code
===
50012
)
{
message
:
error
.
message
,
Message
({
type
:
'error'
,
message
:
res
.
message
,
duration
:
5
*
1000
type
:
'error'
,
});
duration
:
5
*
1000
});
// 登出
store
.
dispatch
(
'FedLogOut'
).
then
(()
=>
{
router
.
push
({
path
:
'/login'
})
});
}
return
Promise
.
reject
(
error
);
return
Promise
.
reject
(
error
);
}
}
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment