From e7f22e51057aa90e19afee1628dc68a0d7a6c99e Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 11 七月 2022 08:51:57 +0800
Subject: [PATCH] 1.优化tagviews

---
 src/store/modules/user.js |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 51 insertions(+), 8 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 204eab3..7f65049 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,5 +1,5 @@
-import { login, logout, getInfo } from '@/api/user'
-import { getToken, setToken, removeToken, setCookie } from '@/utils/auth'
+import { login, logout, getInfo, LoginMenu } from '@/api/user'
+import { getToken, setToken, removeToken, setCookie, removeCookie, getCookie } from '@/utils/auth'
 import { resetRouter } from '@/router'
 
 const getDefaultState = () => {
@@ -22,6 +22,9 @@
   SET_NAME: (state, name) => {
     state.name = name
   },
+  SET_MENU: (state, menu) => {
+    state.menu = menu
+  },
   SET_AVATAR: (state, avatar) => {
     state.avatar = avatar
   }
@@ -38,6 +41,8 @@
 
         setCookie('admin', res.username)
         setCookie('navTabId', res.usercode)
+        setCookie('usertype', res.usertype)
+        setCookie('userid', res.userid)
         // commit('SET_TOKEN', data.token)
         // setToken(res)
         // commit('SET_TOKEN', res)
@@ -69,15 +74,53 @@
       })
     })
   },
+  // get user menu
+  getMenu({ commit, state }) {
+    return new Promise((resolve, reject) => {
+      LoginMenu().then(res => {
+        if (res.code === '200') {
+          commit('SET_NAME', res.Message)
+          commit('SET_MENU', res.data)
+          resolve(res.data)
+        }
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
 
   // user logout
-  logout({ commit, state }) {
+  logout({ commit, state, dispatch }) {
     return new Promise((resolve, reject) => {
-      logout(state.token).then(() => {
-        removeToken() // must remove  token  first
-        resetRouter()
-        commit('RESET_STATE')
-        resolve()
+      const usercode = getCookie('navTabId')
+      const username = getCookie('admin')
+      const usertype = getCookie('usertype')
+      const userid = getCookie('userid')
+      const data = {
+        usercode,
+        username,
+        usertype,
+        userid
+      }
+
+      logout(data).then(res => {
+        if (res.code === '200') {
+          removeToken() // must remove  token  first
+          resetRouter()
+
+          removeCookie('admin')
+          removeCookie('navTabId')
+          removeCookie('usertype')
+          removeCookie('userid')
+
+          // reset visited views and cached views
+          dispatch('tagsView/delAllViews', null, { root: true })
+          sessionStorage.removeItem('tabViews')
+
+          commit('RESET_STATE')
+
+          resolve()
+        }
       }).catch(error => {
         reject(error)
       })

--
Gitblit v1.9.3