文档服务地址:http://47.92.0.57:3000/ 周报索引地址:http://47.92.0.57:3000/s/NruNXRYmV

Commit f75e57f2 by Wang Yuhang

Merge branch 'new-dev' into dev

新增vuex模块,统一管理组件间的共享数据,区分用户身份,目前为展 示效果,不输密码登录视为标注者,输入任意密码,视为发布者,菜单栏和个人页面的身份会根据用户身份显示不同内容
parents b8c79ec9 1fb30e28
......@@ -15,7 +15,8 @@
"element-ui": "^2.13.1",
"node-sass": "^4.14.1",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
"vue-router": "^3.0.1",
"vuex": "^3.4.0"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
......
......@@ -61,6 +61,11 @@ export default {
}, 550)
},
login () {
// 将用户信息保存在localStorage里, 为演示效果,暂时不输密码进入视为标注者,输密码视为发布者
var userInfo = {
type: this.password ? 1 : 0
}
this.$store.commit('setUserInfo', userInfo)
this.$router.push('/index').catch(data => {})
},
register () {
......
......@@ -10,10 +10,10 @@
router>
<el-menu-item index="/taskhall">任务大厅</el-menu-item>
<el-menu-item index="/ongoing">我的任务</el-menu-item>
<el-menu-item index="/releasetask">发布任务</el-menu-item>
<el-menu-item index="/completed">已完成任务</el-menu-item>
<el-menu-item index="/check">待审核任务</el-menu-item>
<el-menu-item index="/publishtask">我的发布</el-menu-item>
<el-menu-item v-if="userType" index="/releasetask">发布任务</el-menu-item>
<el-menu-item v-if="userType" index="/completed">已完成任务</el-menu-item>
<el-menu-item v-if="userType" index="/check">待审核任务</el-menu-item>
<el-menu-item v-if="userType" index="/publishtask">我的发布</el-menu-item>
<el-menu-item index="/userhome">个人中心</el-menu-item>
<el-menu-item class="logout-btn" index="/">退出登录</el-menu-item>
</el-menu>
......@@ -28,6 +28,11 @@ export default {
activeIndex: '/taskhall'
}
},
computed: {
userType () {
return this.$store.state.userInfo.type
}
},
watch: {
// 对路由变化作出响应...
'$route' (to, from) {
......
......@@ -10,7 +10,7 @@
<p><span>用户名:</span>小明</p>
<p><span>用户ID:</span>65535</p>
<p><span>邮箱:</span>123456@buaa.edu.cn</p>
<p><span>身份:</span>任务发布者</p>
<p><span>身份:</span>{{userInfo.type ? '任务发布者' : '任务标注者'}}</p>
</div>
<el-divider></el-divider>
<div class="user-info-more">
......@@ -26,7 +26,12 @@
<script>
export default {
name: 'user-home'
name: 'user-home',
computed: {
userInfo () {
return this.$store.state.userInfo
}
}
}
</script>
......
......@@ -3,6 +3,7 @@
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import axios from 'axios'
......@@ -20,6 +21,7 @@ Vue.use(ElementUI)
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
/* eslint-disable no-undef */
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
userInfo: null
},
mutations: {
setUserInfo (state, userInfo) {
state.userInfo = userInfo
}
},
actions: {
},
modules: {
}
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment