Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qahome-diamond
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
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
QA
qahome-diamond
Commits
725147ee
Commit
725147ee
authored
Apr 02, 2019
by
智勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
interceptor
parent
94f9ad5d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
49 deletions
+50
-49
user.js
src/store/modules/user.js
+20
-20
request.js
src/utils/request.js
+29
-28
index.vue
src/views/index/index.vue
+1
-1
No files found.
src/store/modules/user.js
View file @
725147ee
import
{
loginByUsername
,
logout
,
getUserInfo
}
from
'
@/api/login
'
import
{
loginByUsername
,
getUserInfo
}
from
'
@/api/login
'
// import { loginByUsername, logout, getUserInfo } from '@/api/login'
import
{
getToken
,
setToken
,
removeToken
}
from
'
@/utils/auth
'
import
{
getToken
,
setToken
,
removeToken
}
from
'
@/utils/auth
'
const
user
=
{
const
user
=
{
...
@@ -49,11 +50,7 @@ const user = {
...
@@ -49,11 +50,7 @@ const user = {
const
username
=
userInfo
.
username
.
trim
()
const
username
=
userInfo
.
username
.
trim
()
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
loginByUsername
(
username
,
userInfo
.
password
).
then
(
response
=>
{
loginByUsername
(
username
,
userInfo
.
password
).
then
(
response
=>
{
if
(
response
.
data
.
code
!==
'
0000
'
)
{
const
data
=
response
.
data
console
.
log
(
1
,
response
.
data
.
msg
)
reject
(
`
${
response
.
data
.
msg
}
`
)
}
const
data
=
response
.
data
.
data
commit
(
'
SET_TOKEN
'
,
data
.
token
)
commit
(
'
SET_TOKEN
'
,
data
.
token
)
setToken
(
data
.
token
)
setToken
(
data
.
token
)
resolve
(
response
)
resolve
(
response
)
...
@@ -67,10 +64,10 @@ const user = {
...
@@ -67,10 +64,10 @@ const user = {
GetUserInfo
({
commit
,
state
})
{
GetUserInfo
({
commit
,
state
})
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getUserInfo
(
state
.
token
).
then
(
response
=>
{
getUserInfo
(
state
.
token
).
then
(
response
=>
{
if
(
response
.
data
.
code
!==
'
0000
'
)
{
//
if (response.data.code !== '0000') {
reject
(
'
Verification failed, please login again.
'
)
//
reject('Verification failed, please login again.')
}
//
}
const
data
=
response
.
data
const
data
=
response
data
.
roles
=
[
'
admin
'
]
data
.
roles
=
[
'
admin
'
]
if
(
data
.
roles
&&
data
.
roles
.
length
>
0
)
{
// 验证返回的roles是否是一个非空数组
if
(
data
.
roles
&&
data
.
roles
.
length
>
0
)
{
// 验证返回的roles是否是一个非空数组
...
@@ -104,16 +101,19 @@ const user = {
...
@@ -104,16 +101,19 @@ const user = {
// 登出
// 登出
LogOut
({
commit
,
state
})
{
LogOut
({
commit
,
state
})
{
return
new
Promise
((
resolve
,
reject
)
=>
{
commit
(
'
SET_TOKEN
'
,
''
)
logout
(
state
.
token
).
then
(()
=>
{
commit
(
'
SET_ROLES
'
,
[])
commit
(
'
SET_TOKEN
'
,
''
)
removeToken
()
commit
(
'
SET_ROLES
'
,
[])
// return new Promise((resolve, reject) => {
removeToken
()
// logout(state.token).then(() => {
resolve
()
// commit('SET_TOKEN', '')
}).
catch
(
error
=>
{
// commit('SET_ROLES', [])
reject
(
error
)
// removeToken()
})
// resolve()
})
// }).catch(error => {
// reject(error)
// })
// })
},
},
// 前端 登出
// 前端 登出
...
...
src/utils/request.js
View file @
725147ee
...
@@ -2,6 +2,7 @@ import axios from 'axios'
...
@@ -2,6 +2,7 @@ import axios from 'axios'
import
{
Message
}
from
'
element-ui
'
import
{
Message
}
from
'
element-ui
'
import
store
from
'
@/store
'
import
store
from
'
@/store
'
import
{
getToken
}
from
'
@/utils/auth
'
import
{
getToken
}
from
'
@/utils/auth
'
import
{
MessageBox
}
from
'
element-ui
'
// create an axios instance
// create an axios instance
const
service
=
axios
.
create
({
const
service
=
axios
.
create
({
...
@@ -28,40 +29,40 @@ service.interceptors.request.use(
...
@@ -28,40 +29,40 @@ service.interceptors.request.use(
// response interceptor
// response interceptor
service
.
interceptors
.
response
.
use
(
service
.
interceptors
.
response
.
use
(
response
=>
response
,
//
response => response,
/**
/**
* 下面的注释为通过在response里,自定义code来标示请求状态
* 下面的注释为通过在response里,自定义code来标示请求状态
* 当code返回如下情况则说明权限有问题,登出并返回到登录页
* 当code返回如下情况则说明权限有问题,登出并返回到登录页
* 如想通过 xmlhttprequest 来状态码标识 逻辑可写在下面error中
* 如想通过 xmlhttprequest 来状态码标识 逻辑可写在下面error中
* 以下代码均为样例,请结合自生需求加以修改,若不需要,则可删除
* 以下代码均为样例,请结合自生需求加以修改,若不需要,则可删除
*/
*/
//
response => {
response
=>
{
//
const res = response.data
const
res
=
response
.
data
// if (res.code !== 20000
) {
if
(
res
.
code
!==
'
0000
'
)
{
//
Message({
Message
({
// message: res.message
,
message
:
res
.
msg
,
//
type: 'error',
type
:
'
error
'
,
//
duration: 5 * 1000
duration
:
5
*
1000
//
})
})
//
// 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
// 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
//
if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
if
(
res
.
code
===
50008
||
res
.
code
===
50012
||
res
.
code
===
50014
)
{
//
// 请自行在引入 MessageBox
// 请自行在引入 MessageBox
//
// import { Message, MessageBox } from 'element-ui'
// import { Message, MessageBox } from 'element-ui'
//
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
MessageBox
.
confirm
(
'
你已被登出,可以取消继续留在该页面,或者重新登录
'
,
'
确定登出
'
,
{
//
confirmButtonText: '重新登录',
confirmButtonText
:
'
重新登录
'
,
//
cancelButtonText: '取消',
cancelButtonText
:
'
取消
'
,
//
type: 'warning'
type
:
'
warning
'
//
}).then(() => {
}).
then
(()
=>
{
//
store.dispatch('FedLogOut').then(() => {
store
.
dispatch
(
'
FedLogOut
'
).
then
(()
=>
{
//
location.reload() // 为了重新实例化vue-router对象 避免bug
location
.
reload
()
// 为了重新实例化vue-router对象 避免bug
//
})
})
//
})
})
//
}
}
//
return Promise.reject('error')
return
Promise
.
reject
(
'
error
'
)
//
} else {
}
else
{
//
return response.data
return
response
.
data
//
}
}
//
},
},
error
=>
{
error
=>
{
console
.
log
(
'
err
'
+
error
)
// for debug
console
.
log
(
'
err
'
+
error
)
// for debug
Message
({
Message
({
...
...
src/views/index/index.vue
View file @
725147ee
...
@@ -23,7 +23,7 @@ export default {
...
@@ -23,7 +23,7 @@ export default {
},
},
created
()
{
created
()
{
getIndexUrl
().
then
(
res
=>
{
getIndexUrl
().
then
(
res
=>
{
this
.
indexList
=
res
.
data
.
data
this
.
indexList
=
res
.
data
for
(
const
i
in
this
.
indexList
)
{
for
(
const
i
in
this
.
indexList
)
{
this
.
indexList
[
i
].
color
=
this
.
color
[
i
]
this
.
indexList
[
i
].
color
=
this
.
color
[
i
]
}
}
...
...
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