第一次提交

This commit is contained in:
caolc
2022-09-08 16:13:28 +08:00
parent 56635a948b
commit a31960fc1a
45 changed files with 9371 additions and 9230 deletions

56
src/store/getters.js Normal file
View 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
View File

View 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

View File

View 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}

View File

@@ -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
View 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
}