From e713b378b01d189f972cfb5b9eae749ee95a8b51 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 29 十月 2022 13:48:00 +0800
Subject: [PATCH] 1.解决两个账号登录,是否被挤掉的问题

---
 src/store/modules/user.js |   90 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 78 insertions(+), 12 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 2f6423f..5510566 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 } 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
   }
@@ -32,10 +35,29 @@
   login({ commit }, userInfo) {
     const { username, password } = userInfo
     return new Promise((resolve, reject) => {
-      login({ username: username.trim(), password: password }).then(response => {
-        const { data } = response
-        commit('SET_TOKEN', data.token)
-        setToken(data.token)
+      login({ username: username.trim(), password: password, usertype: 'PC' }).then(res => {
+        console.log('PC绔櫥褰曟帴鍙�')
+        console.log(res)
+        // login({ UserName: '001', PassWord: 123, HOrgName: 1 }).then(response => {
+        //   const { data: res } = response
+        //   if (res.code === '200') {
+        setCookie('username', res.data.username)
+        setCookie('admin', res.data.usercode)
+        setCookie('navTabId', res.data.usercode)
+        setCookie('usertype', res.data.usertype)
+        setCookie('userid', res.data.userid)
+        setCookie('rediskey', res.data.rediskey)
+        setCookie('guid', res.data.guid)
+        // }
+        // console.log(res.code === '302', 8989)
+        // if (res.code === '302') {
+        setCookie('code', res.code)
+        // }
+
+        // commit('SET_TOKEN', data.token)
+        // setToken(res)
+        // commit('SET_TOKEN', res)
+        // setToken(res)
         resolve()
       }).catch(error => {
         reject(error)
@@ -63,15 +85,59 @@
       })
     })
   },
+  // get user menu
+  getMenu({ commit, state }) {
+    return new Promise((resolve, reject) => {
+      LoginMenu({ usertype: 'PC', usercode: getCookie('admin') }).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('ruleCode')
+          removeCookie('username')
+          removeCookie('admin')
+          removeCookie('navTabId')
+          removeCookie('usertype')
+          removeCookie('userid')
+          removeCookie('rediskey')
+          removeCookie('code')
+
+          removeCookie('guid')
+
+          // 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