소스 검색

登陆相关

lrf402788946 5 년 전
부모
커밋
35ab43eaef
2개의 변경된 파일18개의 추가작업 그리고 7개의 파일을 삭제
  1. 12 7
      layout/admin/navBar.vue
  2. 6 0
      store/login.js

+ 12 - 7
layout/admin/navBar.vue

@@ -15,8 +15,8 @@
           <el-dropdown>
             <div class="user-profile-body">
               <img class="user-avatar" src="https://img.alicdn.com/tfs/TB1ONhloamWBuNjy1XaXXXCbXXa-200-200.png" />
-              <span class="user-name" v-if="user && user.id">欢迎,{{ (user && user.user_name) || '' }}</span>
-              <span class="user-name" v-else @click="$router.push({ path: '/admin' })">请登录</span>
+              <span class="user-name" v-if="user && user.userid">欢迎,{{ (user && user.name) || '' }}</span>
+              <span class="user-name" v-else @click="toLogin">请登录</span>
             </div>
             <el-dropdown-menu class="user-dropdown" slot="dropdown">
               <!-- <router-link to="/updatePw" v-if="user && user.id">
@@ -24,7 +24,7 @@
                 修改密码
               </el-dropdown-item>
             </router-link> -->
-              <el-dropdown-item v-if="user && user.id">
+              <el-dropdown-item v-if="user && user.userid">
                 <span @click="toLogout()" style="display:block;">退出</span>
               </el-dropdown-item>
             </el-dropdown-menu>
@@ -36,19 +36,24 @@
 </template>
 
 <script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+
 export default {
   name: 'navBar',
   props: {},
   components: {},
-  data: () => ({
-    user: {},
-  }),
+  data: () => ({}),
   created() {},
-  computed: {},
+  computed: {
+    ...mapState(['user']),
+  },
   methods: {
     async toLogout() {
       this.$router.push({ path: '/admin' });
     },
+    async toLogin() {
+      console.log(`to login`);
+    },
   },
 };
 </script>

+ 6 - 0
store/login.js

@@ -5,6 +5,7 @@ const jwt = require('jsonwebtoken');
 Vue.use(Vuex);
 const api = {
   interface: `/api/train/login`,
+  user: id => `/api/train/user/update/${id}`,
 };
 const state = () => ({});
 const mutations = {};
@@ -15,10 +16,15 @@ const actions = {
     let result = true;
     if (res.errcode === 0) {
       let info = jwt.decode(res.data);
+      sessionStorage.setItem('user', JSON.stringify(info));
       commit('setUser', info, { root: true });
     } else result = res;
     return result;
   },
+  async update({ commit }, { id, ...info }) {
+    let res = await this.$axios.$post(`${api.user(id)}`, info);
+    return res;
+  },
 };
 export default {
   namespaced: true,