1
- import { loginByUsername , logout , getUserInfo } from '@/api/login '
1
+ import { login , logout , getInfo } from '@/api/user '
2
2
import { getToken , setToken , removeToken } from '@/utils/auth'
3
3
4
4
const user = {
5
5
state : {
6
- user : '' ,
7
- status : '' ,
8
- code : '' ,
9
6
token : getToken ( ) ,
10
7
name : '' ,
11
8
avatar : '' ,
12
9
introduction : '' ,
13
- roles : [ ] ,
14
- setting : {
15
- articlePlatform : [ ]
16
- }
10
+ roles : [ ]
17
11
} ,
18
12
19
13
mutations : {
20
- SET_CODE : ( state , code ) => {
21
- state . code = code
22
- } ,
23
14
SET_TOKEN : ( state , token ) => {
24
15
state . token = token
25
16
} ,
26
17
SET_INTRODUCTION : ( state , introduction ) => {
27
18
state . introduction = introduction
28
19
} ,
29
- SET_SETTING : ( state , setting ) => {
30
- state . setting = setting
31
- } ,
32
- SET_STATUS : ( state , status ) => {
33
- state . status = status
34
- } ,
35
20
SET_NAME : ( state , name ) => {
36
21
state . name = name
37
22
} ,
@@ -44,12 +29,12 @@ const user = {
44
29
} ,
45
30
46
31
actions : {
47
- // 用户名登录
48
- LoginByUsername ( { commit } , userInfo ) {
49
- const username = userInfo . username . trim ( )
32
+ // user login
33
+ login ( { commit } , userInfo ) {
34
+ const { username, password } = userInfo
50
35
return new Promise ( ( resolve , reject ) => {
51
- loginByUsername ( username , userInfo . password ) . then ( response => {
52
- const data = response . data
36
+ login ( { username : username . trim ( ) , password : password } ) . then ( response => {
37
+ const { data } = response
53
38
commit ( 'SET_TOKEN' , data . token )
54
39
setToken ( response . data . token )
55
40
resolve ( )
@@ -59,48 +44,36 @@ const user = {
59
44
} )
60
45
} ,
61
46
62
- // 获取用户信息
63
- GetUserInfo ( { commit, state } ) {
47
+ // get user info
48
+ getInfo ( { commit, state } ) {
64
49
return new Promise ( ( resolve , reject ) => {
65
- getUserInfo ( state . token ) . then ( response => {
66
- // 由于mockjs 不支持自定义状态码只能这样hack
67
- if ( ! response . data ) {
68
- reject ( 'Verification failed, please login again.' )
50
+ getInfo ( state . token ) . then ( response => {
51
+ const { data } = response
52
+
53
+ if ( ! data ) {
54
+ reject ( 'Verification failed, please Login again.' )
69
55
}
70
- const data = response . data
71
56
72
- if ( data . roles && data . roles . length > 0 ) { // 验证返回的roles是否是一个非空数组
73
- commit ( 'SET_ROLES' , data . roles )
74
- } else {
57
+ const { roles } = data
58
+
59
+ // roles must be a non-empty array
60
+ if ( ! roles || roles . length <= 0 ) {
75
61
reject ( 'getInfo: roles must be a non-null array!' )
76
62
}
77
63
64
+ commit ( 'SET_ROLES' , data . roles )
78
65
commit ( 'SET_NAME' , data . name )
79
66
commit ( 'SET_AVATAR' , data . avatar )
80
67
commit ( 'SET_INTRODUCTION' , data . introduction )
81
- resolve ( response )
68
+ resolve ( data )
82
69
} ) . catch ( error => {
83
70
reject ( error )
84
71
} )
85
72
} )
86
73
} ,
87
74
88
- // 第三方验证登录
89
- // LoginByThirdparty({ commit, state }, code) {
90
- // return new Promise((resolve, reject) => {
91
- // commit('SET_CODE', code)
92
- // loginByThirdparty(state.status, state.email, state.code).then(response => {
93
- // commit('SET_TOKEN', response.data.token)
94
- // setToken(response.data.token)
95
- // resolve()
96
- // }).catch(error => {
97
- // reject(error)
98
- // })
99
- // })
100
- // },
101
-
102
- // 登出
103
- LogOut ( { commit, state } ) {
75
+ // user logout
76
+ Logout ( { commit, state } ) {
104
77
return new Promise ( ( resolve , reject ) => {
105
78
logout ( state . token ) . then ( ( ) => {
106
79
commit ( 'SET_TOKEN' , '' )
@@ -113,27 +86,28 @@ const user = {
113
86
} )
114
87
} ,
115
88
116
- // 前端 登出
117
- FedLogOut ( { commit } ) {
89
+ // remove token
90
+ resetToken ( { commit } ) {
118
91
return new Promise ( resolve => {
119
92
commit ( 'SET_TOKEN' , '' )
93
+ commit ( 'SET_ROLES' , [ ] )
120
94
removeToken ( )
121
95
resolve ( )
122
96
} )
123
97
} ,
124
98
125
99
// 动态修改权限
126
- ChangeRoles ( { commit, dispatch } , role ) {
100
+ changeRoles ( { commit, dispatch } , role ) {
127
101
return new Promise ( resolve => {
128
102
commit ( 'SET_TOKEN' , role )
129
103
setToken ( role )
130
- getUserInfo ( role ) . then ( response => {
104
+ getInfo ( role ) . then ( response => {
131
105
const data = response . data
132
106
commit ( 'SET_ROLES' , data . roles )
133
107
commit ( 'SET_NAME' , data . name )
134
108
commit ( 'SET_AVATAR' , data . avatar )
135
109
commit ( 'SET_INTRODUCTION' , data . introduction )
136
- dispatch ( 'GenerateRoutes ' , data ) // 动态修改权限后 重绘侧边菜单
110
+ dispatch ( 'generateRoutes ' , data ) // 动态修改权限后 重绘侧边菜单
137
111
resolve ( )
138
112
} )
139
113
} )
0 commit comments