第一次提交
This commit is contained in:
56
src/store/getters.js
Normal file
56
src/store/getters.js
Normal file
@@ -0,0 +1,56 @@
|
||||
import Cookies from 'js-cookie'
|
||||
const getters = {
|
||||
sidebar: state => state.app.sidebar,
|
||||
size: state => state.app.size,
|
||||
markData: state => state.global.markData,
|
||||
device: state => state.app.device,
|
||||
visitedViews: state => state.tagsView.visitedViews,
|
||||
cachedViews: state => state.tagsView.cachedViews,
|
||||
token: state => state.user.token,
|
||||
avatar: state => state.user.avatar,
|
||||
name: state => state.user.name,
|
||||
introduction: state => state.user.introduction,
|
||||
role: state => state.user.role,
|
||||
auths: state => state.user.auths,
|
||||
permission_routes: state => state.permission.routes,
|
||||
sysUserList: state => state.user.sysUserList,
|
||||
user: state => state.user.user,
|
||||
areaTree: state => state.global.areaTree,
|
||||
networkList: state => state.global.networkList,
|
||||
departmentList: state => state.global.departmentList,
|
||||
fleetList: state => state.global.fleetList,
|
||||
waybillId: state => state.global.waybillId,
|
||||
plateNumber: state => state.global.plateNumber,
|
||||
bannerInfoList: state => state.global.bannerInfoList,
|
||||
|
||||
trackCss: state => state.global.trackCss,
|
||||
|
||||
Link: state => state.global.Link,
|
||||
|
||||
helpInfo: state => state.global.helpInfo,
|
||||
drawerFixed: state => state.global.drawerFixed,
|
||||
vehicleTypeList: state => state.global.vehicleTypeList,
|
||||
largeAreaList: state => state.global.largeAreaList,
|
||||
incomeBankList: state => state.global.incomeBankList,
|
||||
currentIncomeBank: state => {
|
||||
let incomeBank = state.global.currentIncomeBank
|
||||
if (!incomeBank.incomeBankId) {
|
||||
incomeBank = Cookies.get('currentIncome')
|
||||
if (incomeBank) {
|
||||
incomeBank = JSON.parse(incomeBank)
|
||||
}
|
||||
}
|
||||
return incomeBank
|
||||
},
|
||||
autoCheckDocument: state => state.status.autoCheckDocument,
|
||||
|
||||
uploadToken: state => {
|
||||
const token = state.global.uploadToken.pop()
|
||||
return token
|
||||
},
|
||||
tokenEncrypt: state => {
|
||||
const token = state.global.tokenEncrypt.pop()
|
||||
return token
|
||||
}
|
||||
}
|
||||
export default getters
|
||||
0
src/store/global.js
Normal file
0
src/store/global.js
Normal file
@@ -1,8 +1,10 @@
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import modules from './modules'
|
||||
import getters from './getters'
|
||||
|
||||
Vue.use(Vuex)
|
||||
const store = new Vuex.Store({modules})
|
||||
|
||||
console.log(modules,'11')
|
||||
const store = new Vuex.Store({modules,getters})
|
||||
console.log(store,'store')
|
||||
export default store
|
||||
|
||||
0
src/store/modules/global.js
Normal file
0
src/store/modules/global.js
Normal file
@@ -1,4 +1,5 @@
|
||||
import account from './account'
|
||||
import setting from './setting'
|
||||
import user from './user'
|
||||
|
||||
export default {account, setting}
|
||||
export default {account, setting,user}
|
||||
@@ -32,6 +32,7 @@ export default {
|
||||
},
|
||||
firstMenu(state, getters) {
|
||||
const {menuData} = getters
|
||||
console.log(menuData)
|
||||
if (menuData.length > 0 && !menuData[0].fullPath) {
|
||||
formatFullPath(menuData)
|
||||
}
|
||||
|
||||
114
src/store/modules/user.js
Normal file
114
src/store/modules/user.js
Normal file
@@ -0,0 +1,114 @@
|
||||
import { login, loginSms, logout, getInfo } from '@/api/identity/user'
|
||||
import { getToken, setToken, removeToken, setUsername, setPassword, setChecked, removeChecked, removeUsername, removePassword } from '@/utils/auth'
|
||||
import md5 from 'js-md5'
|
||||
import store from "@/store";
|
||||
const state = {
|
||||
token: getToken(),
|
||||
role: null, // 角色
|
||||
auths: [], // 权限
|
||||
user: {}// 存储用户信息
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
SET_TOKEN: (state, token) => {
|
||||
state.token = token
|
||||
},
|
||||
SET_ROLE: (state, role) => {
|
||||
state.role = role
|
||||
},
|
||||
SET_AUTHS: (state, auths) => {
|
||||
state.auths = auths
|
||||
},
|
||||
SET_USER: (state, user) => {
|
||||
state.user = user
|
||||
}
|
||||
}
|
||||
|
||||
const actions = {
|
||||
login({ commit }, userInfo) {
|
||||
const { username, password, checked, verifyCode } = userInfo
|
||||
return new Promise((resolve, reject) => {
|
||||
login({ username: username.trim(), password: md5(password), verifyCode }).then(res => {
|
||||
// 存到vuex
|
||||
commit('SET_TOKEN', res.data.accessToken)
|
||||
// 存到cookie
|
||||
setToken(res.data.accessToken)
|
||||
// 将账号密码和公司存入cookie中
|
||||
if (checked) {
|
||||
setChecked(checked)
|
||||
setUsername(username.trim())
|
||||
setPassword(md5(password))
|
||||
}
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
loginSms({ commit }, userInfo) {
|
||||
console.log('666666')
|
||||
return new Promise((resolve, reject) => {
|
||||
loginSms(userInfo).then(res => {
|
||||
// 存到vuex
|
||||
commit('SET_TOKEN', res.data.accessToken)
|
||||
// 存到cookie
|
||||
setToken(res.data.accessToken)
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
getInfo({ commit }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getInfo().then( response => {
|
||||
const data = response.data
|
||||
store.dispatch('user/createWebsocket',data.id)
|
||||
commit('SET_ROLE', data.role)
|
||||
commit('SET_AUTHS', data.authList)
|
||||
commit('SET_USER', data)
|
||||
resolve(data)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// user logout
|
||||
logout({ commit }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
logout().then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLE', null)
|
||||
commit('SET_AUTHS', [])
|
||||
removeToken()
|
||||
removeChecked()
|
||||
removeUsername()
|
||||
removePassword()
|
||||
// websocket.closeWebSocket()
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
resetToken({ commit }) {
|
||||
return new Promise(resolve => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLE', null)
|
||||
commit('SET_AUTHS', [])
|
||||
commit('SET_USER', {})
|
||||
removeToken()
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state,
|
||||
mutations,
|
||||
actions
|
||||
}
|
||||
Reference in New Issue
Block a user