|
@@ -4,24 +4,24 @@ import router, { resetRouter } from '@/router'
|
|
|
|
|
|
|
|
const state = {
|
|
const state = {
|
|
|
token: getToken(),
|
|
token: getToken(),
|
|
|
- name: '',
|
|
|
|
|
- avatar: '',
|
|
|
|
|
- introduction: '',
|
|
|
|
|
- roles: []
|
|
|
|
|
|
|
+ user: {},
|
|
|
|
|
+ roles: [],
|
|
|
|
|
+ pages: [],
|
|
|
|
|
+ btns: []
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const mutations = {
|
|
const mutations = {
|
|
|
SET_TOKEN: (state, token) => {
|
|
SET_TOKEN: (state, token) => {
|
|
|
state.token = token
|
|
state.token = token
|
|
|
},
|
|
},
|
|
|
- SET_INTRODUCTION: (state, introduction) => {
|
|
|
|
|
- state.introduction = introduction
|
|
|
|
|
|
|
+ SET_USER: (state, user) => {
|
|
|
|
|
+ state.user = user
|
|
|
},
|
|
},
|
|
|
- SET_NAME: (state, name) => {
|
|
|
|
|
- state.name = name
|
|
|
|
|
|
|
+ SET_BTNS: (state, btns) => {
|
|
|
|
|
+ state.btns = btns
|
|
|
},
|
|
},
|
|
|
- SET_AVATAR: (state, avatar) => {
|
|
|
|
|
- state.avatar = avatar
|
|
|
|
|
|
|
+ SET_PAGES: (state, pages) => {
|
|
|
|
|
+ state.pages = pages
|
|
|
},
|
|
},
|
|
|
SET_ROLES: (state, roles) => {
|
|
SET_ROLES: (state, roles) => {
|
|
|
state.roles = roles
|
|
state.roles = roles
|
|
@@ -34,10 +34,8 @@ const actions = {
|
|
|
const { username, password, uuid, code } = userInfo
|
|
const { username, password, uuid, code } = userInfo
|
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
|
login({ username: username.trim(), password: password, code: code, uuid: uuid }).then(response => {
|
|
login({ username: username.trim(), password: password, code: code, uuid: uuid }).then(response => {
|
|
|
- debugger
|
|
|
|
|
- const { data } = response
|
|
|
|
|
- commit('SET_TOKEN', data.token)
|
|
|
|
|
- setToken(data.token)
|
|
|
|
|
|
|
+ commit('SET_TOKEN', response.token)
|
|
|
|
|
+ setToken(response.token)
|
|
|
resolve()
|
|
resolve()
|
|
|
}).catch(error => {
|
|
}).catch(error => {
|
|
|
reject(error)
|
|
reject(error)
|
|
@@ -48,25 +46,23 @@ const actions = {
|
|
|
// get user info
|
|
// get user info
|
|
|
getInfo({ commit, state }) {
|
|
getInfo({ commit, state }) {
|
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
|
- getInfo(state.token).then(response => {
|
|
|
|
|
- const { data } = response
|
|
|
|
|
-
|
|
|
|
|
- if (!data) {
|
|
|
|
|
|
|
+ getInfo().then(response => {
|
|
|
|
|
+ if (!response) {
|
|
|
reject('Verification failed, please Login again.')
|
|
reject('Verification failed, please Login again.')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- const { roles, name, avatar, introduction } = data
|
|
|
|
|
|
|
+ const { pages, permissions, roles, user } = response
|
|
|
|
|
|
|
|
// roles must be a non-empty array
|
|
// roles must be a non-empty array
|
|
|
if (!roles || roles.length <= 0) {
|
|
if (!roles || roles.length <= 0) {
|
|
|
reject('getInfo: roles must be a non-null array!')
|
|
reject('getInfo: roles must be a non-null array!')
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ commit('SET_USER', user)
|
|
|
|
|
+ commit('SET_PAGES', pages)
|
|
|
|
|
+ commit('SET_BTNS', permissions)
|
|
|
commit('SET_ROLES', roles)
|
|
commit('SET_ROLES', roles)
|
|
|
- commit('SET_NAME', name)
|
|
|
|
|
- commit('SET_AVATAR', avatar)
|
|
|
|
|
- commit('SET_INTRODUCTION', introduction)
|
|
|
|
|
- resolve(data)
|
|
|
|
|
|
|
+
|
|
|
|
|
+ resolve(response)
|
|
|
}).catch(error => {
|
|
}).catch(error => {
|
|
|
reject(error)
|
|
reject(error)
|
|
|
})
|
|
})
|
|
@@ -75,29 +71,36 @@ const actions = {
|
|
|
|
|
|
|
|
// user logout
|
|
// user logout
|
|
|
logout({ commit, state, dispatch }) {
|
|
logout({ commit, state, dispatch }) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
|
- logout(state.token).then(() => {
|
|
|
|
|
- commit('SET_TOKEN', '')
|
|
|
|
|
- commit('SET_ROLES', [])
|
|
|
|
|
- removeToken()
|
|
|
|
|
- resetRouter()
|
|
|
|
|
-
|
|
|
|
|
- // reset visited views and cached views
|
|
|
|
|
- // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485
|
|
|
|
|
- dispatch('tagsView/delAllViews', null, { root: true })
|
|
|
|
|
|
|
+ // return new Promise((resolve, reject) => {
|
|
|
|
|
+ // logout(state.token).then(() => {
|
|
|
|
|
+ commit('SET_TOKEN', '')
|
|
|
|
|
+ commit('SET_USER', {})
|
|
|
|
|
+ commit('SET_PAGES', [])
|
|
|
|
|
+ commit('SET_BTNS', [])
|
|
|
|
|
+ commit('SET_ROLES', [])
|
|
|
|
|
+ removeToken()
|
|
|
|
|
+ resetRouter()
|
|
|
|
|
|
|
|
- resolve()
|
|
|
|
|
- }).catch(error => {
|
|
|
|
|
- reject(error)
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ // reset visited views and cached views
|
|
|
|
|
+ // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485
|
|
|
|
|
+ dispatch('tagsView/delAllViews', null, { root: true })
|
|
|
|
|
+ //
|
|
|
|
|
+ // resolve()
|
|
|
|
|
+ // }).catch(error => {
|
|
|
|
|
+ // reject(error)
|
|
|
|
|
+ // })
|
|
|
|
|
+ // })
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
// remove token
|
|
// remove token
|
|
|
resetToken({ commit }) {
|
|
resetToken({ commit }) {
|
|
|
return new Promise(resolve => {
|
|
return new Promise(resolve => {
|
|
|
commit('SET_TOKEN', '')
|
|
commit('SET_TOKEN', '')
|
|
|
|
|
+ commit('SET_USER', {})
|
|
|
|
|
+ commit('SET_PAGES', [])
|
|
|
|
|
+ commit('SET_BTNS', [])
|
|
|
commit('SET_ROLES', [])
|
|
commit('SET_ROLES', [])
|
|
|
|
|
+
|
|
|
removeToken()
|
|
removeToken()
|
|
|
resolve()
|
|
resolve()
|
|
|
})
|
|
})
|