Skip to content

Commit

Permalink
feat: 重构登录注销接口
Browse files Browse the repository at this point in the history
  • Loading branch information
cadecode committed Apr 15, 2023
1 parent eaac5a2 commit 79d45b4
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 20 deletions.
3 changes: 2 additions & 1 deletion src/router/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ const router = createRouter()
// detail:https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter()
router.matcher = newRouter.matcher // reset router
// reset router
router.matcher = newRouter.matcher
}

export default router
1 change: 1 addition & 0 deletions src/store/getters.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const getters = {
avatar: state => state.user.avatar,
name: state => state.user.name,
roles: state => state.user.roles,
userInfo: state => state.user.userInfo,
permissionRoutes: state => state.permission.routes
}
export default getters
43 changes: 27 additions & 16 deletions src/store/modules/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ const getDefaultState = () => {
token: getToken(),
name: '',
avatar: '',
roles: []
roles: [],
// login接口后端对象
userInfo: {}
}
}

Expand All @@ -28,27 +30,31 @@ const mutations = {
},
SET_ROLES: (state, roles) => {
state.roles = roles
},
SET_USER_INFO: (state, userInfo) => {
state.userInfo = userInfo
}
}

const actions = {
// user login
// 登录
login({ commit }, userInfo) {
const formData = new FormData()
Object.keys(userInfo).forEach(k => formData.append(k, userInfo[k]))
return new Promise((resolve, reject) => {
login(formData).then(response => {
const { data } = response
commit('SET_TOKEN', data.token)
setToken(data.token)
login(formData).then(res => {
const { data } = res
const { nickName, roles } = data
commit('SET_USER_INFO', data)
commit('SET_NAME', nickName)
commit('SET_ROLES', roles)
resolve()
}).catch(error => {
reject(error)
})
})
},

// get user info
// 获取用户信息
getInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getInfo(state.token).then(response => {
Expand All @@ -74,12 +80,13 @@ const actions = {
})
})
},

// user logout
logout({ commit, state }) {
// 注销
logout({ commit }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
removeToken() // must remove token first
logout().then(() => {
// 清理cookie token
removeToken()
// 清理路由
resetRouter()
commit('RESET_STATE')
resolve()
Expand All @@ -88,11 +95,15 @@ const actions = {
})
})
},

// remove token
// 设置token
setToken({ commit }, token) {
commit('SET_TOKEN', token)
setToken(token)
},
// 重置token
resetToken({ commit }) {
return new Promise(resolve => {
removeToken() // must remove token first
removeToken()
commit('RESET_STATE')
resolve()
})
Expand Down
7 changes: 4 additions & 3 deletions src/views/Login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
>

<div class="title-container">
<h3 class="title">Login Form</h3>
<h3 class="title">Uni Boot Admin 管理系统</h3>
</div>

<el-form-item prop="username">
Expand Down Expand Up @@ -53,7 +53,8 @@
type="primary"
style="width:100%;margin-bottom:30px;"
@click.native.prevent="handleLogin"
>Login
>
登录
</el-button>

<div class="tips" />
Expand Down Expand Up @@ -126,7 +127,7 @@ export default {
this.loading = false
})
} else {
console.log('error submit!!')
console.log('login form validate fail')
return false
}
})
Expand Down

0 comments on commit 79d45b4

Please sign in to comment.