@@ -1,7 +1,7 @@ | |||||
<!-- | <!-- | ||||
* @Date: 2021-11-29 11:14:13 | * @Date: 2021-11-29 11:14:13 | ||||
* @LastEditors: Please set LastEditors | |||||
* @LastEditTime: 2021-12-08 15:55:14 | |||||
* @LastEditors: JinxuChen | |||||
* @LastEditTime: 2021-12-08 16:55:53 | |||||
* @FilePath: \GpsCardAdmin\README.md | * @FilePath: \GpsCardAdmin\README.md | ||||
* @description: | * @description: | ||||
--> | --> | ||||
@@ -54,3 +54,7 @@ FEATURE | |||||
FIX | FIX | ||||
- 修复 搜索时页码错误的问题 | - 修复 搜索时页码错误的问题 | ||||
- 完成 禁入类别api交互,添加、查询、修改;添加清除小按钮 | - 完成 禁入类别api交互,添加、查询、修改;添加清除小按钮 | ||||
FEATURE | |||||
- 增加 localStorage存储 src\store\localStorage.js | |||||
- 增加 页面显示用户名 | |||||
- 修改 首页背景图 |
@@ -8,14 +8,14 @@ | |||||
<breadcrumb class="breadcrumb-container" /> | <breadcrumb class="breadcrumb-container" /> | ||||
<!-- todo 接口暂没有名称 暂时取消显示 --> | <!-- todo 接口暂没有名称 暂时取消显示 --> | ||||
<div class="left-menu" v-show="false"> | |||||
<span class="current-user">当前用户:{{name}}</span> | |||||
<div class="left-menu" v-show="true"> | |||||
<span class="current-user">当前用户:<span class="current-user-name">{{currentUser}}</span></span> | |||||
</div> | </div> | ||||
<div class="right-menu"> | <div class="right-menu"> | ||||
<el-dropdown class="avatar-container" trigger="click"> | <el-dropdown class="avatar-container" trigger="click"> | ||||
<div class="avatar-wrapper"> | <div class="avatar-wrapper"> | ||||
<!-- <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar" /> --> | <!-- <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar" /> --> | ||||
<img :src="avatarImg" /> | |||||
<img :src="avatarImg" class="user-avatar" /> | |||||
<i class="el-icon-caret-bottom" /> | <i class="el-icon-caret-bottom" /> | ||||
</div> | </div> | ||||
<el-dropdown-menu slot="dropdown" class="user-dropdown"> | <el-dropdown-menu slot="dropdown" class="user-dropdown"> | ||||
@@ -50,7 +50,7 @@ export default { | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
/* currentUser: this.$store.getters.name, */ | |||||
currentUser: this.$localStore.getters.userName, | |||||
avatarImg: require('../../assets/telpo.png') | avatarImg: require('../../assets/telpo.png') | ||||
} | } | ||||
}, | }, | ||||
@@ -94,12 +94,19 @@ export default { | |||||
} | } | ||||
.left-menu { | .left-menu { | ||||
float: left; | float: left; | ||||
margin-left: 150px; | |||||
margin-left: 20%; | |||||
height: 100%; | height: 100%; | ||||
line-height: 50px; | line-height: 50px; | ||||
// 当前用户 | // 当前用户 | ||||
.current-user { | .current-user { | ||||
line-height: 50px; | line-height: 50px; | ||||
font-size: 14px; | |||||
color: #97a8be; | |||||
} | |||||
.current-user-name { | |||||
line-height: 50px; | |||||
font-size: 14px; | |||||
color: #000; | |||||
} | } | ||||
} | } | ||||
.right-menu { | .right-menu { | ||||
@@ -1,7 +1,7 @@ | |||||
/* | /* | ||||
* @Date: 2021-11-30 15:35:16 | * @Date: 2021-11-30 15:35:16 | ||||
* @LastEditors: JinxuChen | * @LastEditors: JinxuChen | ||||
* @LastEditTime: 2021-12-07 10:49:30 | |||||
* @LastEditTime: 2021-12-08 16:16:12 | |||||
* @FilePath: \GpsCardAdmin\src\main.js | * @FilePath: \GpsCardAdmin\src\main.js | ||||
* @description: | * @description: | ||||
*/ | */ | ||||
@@ -18,6 +18,7 @@ import '@/styles/index.scss' // global css | |||||
import App from './App' | import App from './App' | ||||
import store from './store' | import store from './store' | ||||
import router from './router' | import router from './router' | ||||
import localStore from './store/localStore' | |||||
import '@/icons' // icon | import '@/icons' // icon | ||||
import '@/permission' // permission control | import '@/permission' // permission control | ||||
@@ -42,10 +43,11 @@ if (process.env.NODE_ENV === 'production') { | |||||
Vue.use(ElementUI) | Vue.use(ElementUI) | ||||
Vue.config.productionTip = false | Vue.config.productionTip = false | ||||
Vue.prototype.$localStore = localStore; | |||||
new Vue({ | new Vue({ | ||||
el: '#app', | el: '#app', | ||||
router, | router, | ||||
store, | store, | ||||
localStore, | |||||
render: h => h(App) | render: h => h(App) | ||||
}) | }) |
@@ -0,0 +1,31 @@ | |||||
/* | |||||
* @Date: 2021-12-08 16:13:09 | |||||
* @LastEditors: JinxuChen | |||||
* @LastEditTime: 2021-12-08 16:24:19 | |||||
* @FilePath: \GpsCardAdmin\src\store\localStore.js | |||||
* @description: store 使用local Storage | |||||
*/ | |||||
import Vue from 'vue'; | |||||
import Vuex from 'vuex'; | |||||
Vue.use(Vuex); | |||||
const prefix = 'gps_card_admin_'; | |||||
export default new Vuex.Store({ | |||||
state: { | |||||
userName:'', | |||||
}, | |||||
mutations: { | |||||
userName(state, userName) { | |||||
state.userName = userName; | |||||
window.localStorage[prefix + 'userName'] = userName; | |||||
}, | |||||
}, | |||||
getters: { | |||||
userName: state => { | |||||
if (state.userName != '') return state.userName; | |||||
else return window.localStorage[prefix + 'userName'] == null ? '' : window.localStorage[prefix + 'userName']; | |||||
}, | |||||
}, | |||||
actions: {}, | |||||
modules: {} | |||||
}) |
@@ -0,0 +1,20 @@ | |||||
/* | |||||
* @Date: 2021-12-08 16:23:20 | |||||
* @LastEditors: JinxuChen | |||||
* @LastEditTime: 2021-12-08 16:23:45 | |||||
* @FilePath: \GpsCardAdmin\src\utils\clear-local-storage.js | |||||
* @description: 增加 清除local Storage的方法 | |||||
*/ | |||||
const prefix = 'gps_card_admin_'; | |||||
const LocalStorageService = { | |||||
clearAll(store) { | |||||
for (let k in store.getters) { | |||||
this.clear(store, k); | |||||
} | |||||
}, | |||||
clear(store, type) { | |||||
store.commit(type, ''); | |||||
window.localStorage[ prefix + type ] = ''; | |||||
}, | |||||
}; | |||||
export default LocalStorageService; |
@@ -1,7 +1,7 @@ | |||||
<!-- | <!-- | ||||
* @Date: 2021-11-29 11:20:35 | * @Date: 2021-11-29 11:20:35 | ||||
* @LastEditors: JinxuChen | * @LastEditors: JinxuChen | ||||
* @LastEditTime: 2021-12-06 14:26:50 | |||||
* @LastEditTime: 2021-12-08 16:49:11 | |||||
* @FilePath: \GpsCardAdmin\src\views\dashboard\index.vue | * @FilePath: \GpsCardAdmin\src\views\dashboard\index.vue | ||||
* @description: | * @description: | ||||
--> | --> | ||||
@@ -21,16 +21,22 @@ export default { | |||||
'name' | 'name' | ||||
]) | ]) | ||||
}, | }, | ||||
mounted() { | |||||
console.log(this.$store.getters.name); | |||||
} | |||||
mounted() {} | |||||
} | } | ||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.dashboard { | .dashboard { | ||||
&-container { | &-container { | ||||
margin: 30px; | |||||
padding: 30px; | |||||
height: 100vh; | |||||
width: 100%; | |||||
background-image: url('../../assets/bg.jpeg'); | |||||
background-size: cover; | |||||
background-repeat:no-repeat; | |||||
.dashboard-text { | |||||
text-align: center; | |||||
} | |||||
} | } | ||||
&-text { | &-text { | ||||
font-size: 30px; | font-size: 30px; | ||||
@@ -112,6 +112,7 @@ export default { | |||||
this.loading = true | this.loading = true | ||||
this.$store.dispatch('user/login', this.loginForm).then(res => { | this.$store.dispatch('user/login', this.loginForm).then(res => { | ||||
console.log("res", res.userName); | console.log("res", res.userName); | ||||
this.$localStore.commit('userName', res.userName); | |||||
_this.$store.dispatch('user/getInfo'); | _this.$store.dispatch('user/getInfo'); | ||||
this.$router.push({ path: this.redirect || '/' }) | this.$router.push({ path: this.redirect || '/' }) | ||||
this.loading = false | this.loading = false | ||||