116 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import config from '@/config'
 | |
| import storage from '@/utils/storage'
 | |
| import constant from '@/utils/constant'
 | |
| import {
 | |
| 	login,
 | |
| 	logout,
 | |
| 	getInfo
 | |
| } from '@/api/login'
 | |
| import {
 | |
| 	getToken,
 | |
| 	setToken,
 | |
| 	removeToken
 | |
| } from '@/utils/auth'
 | |
| 
 | |
| const baseUrl = config.baseUrl
 | |
| 
 | |
| const user = {
 | |
| 	state: {
 | |
| 		token: getToken(),
 | |
| 		name: storage.get(constant.name),
 | |
| 		avatar: storage.get(constant.avatar),
 | |
| 		roles: storage.get(constant.roles),
 | |
| 		permissions: storage.get(constant.permissions)
 | |
| 	},
 | |
| 
 | |
| 	mutations: {
 | |
| 		SET_TOKEN: (state, token) => {
 | |
| 			state.token = token
 | |
| 		},
 | |
| 		SET_NAME: (state, name) => {
 | |
| 			state.name = name
 | |
| 			storage.set(constant.name, name)
 | |
| 		},
 | |
| 		SET_AVATAR: (state, avatar) => {
 | |
| 			state.avatar = avatar
 | |
| 			storage.set(constant.avatar, avatar)
 | |
| 		},
 | |
| 		SET_ROLES: (state, roles) => {
 | |
| 			state.roles = roles
 | |
| 			storage.set(constant.roles, roles)
 | |
| 		},
 | |
| 		SET_PERMISSIONS: (state, permissions) => {
 | |
| 			state.permissions = permissions
 | |
| 			storage.set(constant.permissions, permissions)
 | |
| 		}
 | |
| 	},
 | |
| 
 | |
| 	actions: {
 | |
| 		// 登录
 | |
| 		Login({
 | |
| 			commit
 | |
| 		}, userInfo) {
 | |
| 			const username = userInfo.username.trim()
 | |
| 			const password = userInfo.password
 | |
| 			const code = userInfo.code
 | |
| 			const uuid = userInfo.uuid
 | |
| 			return new Promise((resolve, reject) => {
 | |
| 				login(username, password, code, uuid).then(res => {
 | |
| 					setToken(res.token)
 | |
| 					commit('SET_TOKEN', res.token)
 | |
| 					resolve()
 | |
| 				}).catch(error => {
 | |
| 					reject(error)
 | |
| 				})
 | |
| 			})
 | |
| 		},
 | |
| 
 | |
| 		// 获取用户信息
 | |
| 		GetInfo({
 | |
| 			commit,
 | |
| 			state
 | |
| 		}) {
 | |
| 			return new Promise((resolve, reject) => {
 | |
| 				getInfo().then(res => {
 | |
| 					const user = res.user
 | |
| 					const avatar = baseUrl + user.avatar
 | |
| 					const username = (user == null || user.userName == "" || user.userName ==
 | |
| 						null) ? "" : user.userName
 | |
| 					if (res.roles && res.roles.length > 0) {
 | |
| 						commit('SET_ROLES', res.roles)
 | |
| 						commit('SET_PERMISSIONS', res.permissions)
 | |
| 					} else {
 | |
| 						commit('SET_ROLES', ['ROLE_DEFAULT'])
 | |
| 					}
 | |
| 					commit('SET_NAME', username)
 | |
| 					commit('SET_AVATAR', avatar)
 | |
| 					resolve(res)
 | |
| 				}).catch(error => {
 | |
| 					reject(error)
 | |
| 				})
 | |
| 			})
 | |
| 		},
 | |
| 
 | |
| 		// 退出系统
 | |
| 		LogOut({
 | |
| 			commit,
 | |
| 			state
 | |
| 		}) {
 | |
| 			return new Promise((resolve, reject) => {
 | |
| 				logout(state.token).then(() => {
 | |
| 					commit('SET_TOKEN', '')
 | |
| 					commit('SET_ROLES', [])
 | |
| 					commit('SET_PERMISSIONS', [])
 | |
| 					removeToken()
 | |
| 					storage.clean()
 | |
| 					resolve()
 | |
| 				}).catch(error => {
 | |
| 					reject(error)
 | |
| 				})
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| export default user
 |