From 5b9a1d6cb3a7d59c8f2de83c495bba1a069b2723 Mon Sep 17 00:00:00 2001
From: gaosp <gaosp>
Date: 星期五, 19 一月 2024 00:23:15 +0800
Subject: [PATCH] update

---
 src/store/modules/user.js |  134 ++++++++++++++++++++++++--------------------
 1 files changed, 74 insertions(+), 60 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index cfb6680..3eba375 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,55 +1,71 @@
-import { login, getUserInfo, URL_CFG } from '@/api/MdcApi'
+import { login, getUserInfo, getPlanList, URL_CFG} from '@/api/MdcApi'
 import { getToken, setToken, removeToken } from '@/utils/auth'
 import Vue from 'vue'
+let workshopList = []
+let userInfo ={}
+let userMenu = []
+try {
+  workshopList = JSON.parse(localStorage.getItem('workshopList')) || []
+} catch (error) {
+  
+}
+try {
+  userInfo = JSON.parse(localStorage.getItem('userInfo')) || {}
+} catch (error) {
+  
+}
+try {
+  userMenu = JSON.parse(localStorage.getItem('userMenu')) || []
+} catch (error) {
+  
+}
+
 const user = {
   state: {
     token: getToken().value,
-    workshopList: [], // 杞﹂棿鍒楄〃
-    deviceCategories: [], // 璁惧绉嶇被
-    userInfo: { // 鐢ㄦ埛淇℃伅
-      user: '',
-      name: '',
-      phone: '',
-      roles: '',
-      avatar: ''
-    }
+
+    workshopList: workshopList, // 杞﹂棿鍒楄〃
+    // deviceCategories: [], // 璁惧绉嶇被
+    userInfo: userInfo,
+    userMenu: userMenu
   },
 
   mutations: {
     SET_TOKEN: (state, token) => {
       state.token = token
     },
-    SET_NAME: (state, name) => {
-      state.name = name
-    },
-    SET_AVATAR: (state, avatar) => {
-      state.avatar = avatar
-    },
-    SET_ROLES: (state, roles) => {
-      state.roles = roles
+    // SET_NAME: (state, name) => {
+    //   state.name = name
+    // },
+    // SET_AVATAR: (state, avatar) => {
+    //   state.avatar = avatar
+    // },
+    // SET_ROLES: (state, roles) => {
+    //   state.roles = roles
+    // },
+    SET_userMenu (state,data) {
+      state.userMenu = [...data]
+      localStorage.setItem('userMenu',JSON.stringify(state.userMenu))
     },
     SET_WORKSHOP_LIST: (state, workshopList = []) => {
-      for (let i = 0; i < state.workshopList.length; i++) {
-        Vue.delete(state.workshopList, i)
-      }
-      for (let i = 0; i < workshopList.length; i++) {
-        Vue.set(state.workshopList, i, workshopList[i])
-      }
+      state.workshopList = [...workshopList]
+      localStorage.setItem('workshopList',JSON.stringify(state.workshopList))
     },
-    SET_DEVICE_CATEGORY_LIST: (state, categoryArr = []) => {
-      for (let i = 0; i < state.deviceCategories.length; i++) {
-        Vue.delete(state.deviceCategories, i)
-      }
-      for (let i = 0; i < categoryArr.length; i++) {
-        Vue.set(state.deviceCategories, i, categoryArr[i])
-      }
-    },
+    // SET_DEVICE_CATEGORY_LIST: (state, categoryArr = []) => {
+    //   for (let i = 0; i < state.deviceCategories.length; i++) {
+    //     Vue.delete(state.deviceCategories, i)
+    //   }
+    //   for (let i = 0; i < categoryArr.length; i++) {
+    //     Vue.set(state.deviceCategories, i, categoryArr[i])
+    //   }
+    // },
     SET_USER_INFO: (state, data) => {
-      state.userInfo.user = data.name
-      state.userInfo.name = data.realName
-      state.userInfo.phone = data.phone || ''
-      state.userInfo.roles = data.roles
+      state.userInfo.name = data.name
+      state.userInfo.username = data.username
+      state.userInfo.createTime = data.createTime || ''
+      state.userInfo.id = data.id
       state.userInfo.avatar = data.avatar || (process.env.NODE_ENV === 'development' ? '/static/data/user/zh_tx.png' : URL_CFG.BASE_URL + '/static/data/user/zh_tx.png')
+      localStorage.setItem('userInfo', JSON.stringify(state.userInfo))
     }
   },
 
@@ -59,11 +75,11 @@
       const username = userInfo.username.trim()
       return new Promise((resolve, reject) => {
         login(username, userInfo.password).then(response => {
-          // {"result":"SUCCESS","token":"43a187c9b3f1f6cd6c8342c15f91a52a"}
           response = response || {}
           if (response.result === 'SUCCESS') {
-            setToken(response.data)
-            commit('SET_TOKEN', response.data)
+            setToken(response.data.token)
+            commit('SET_TOKEN', response.data.token)
+            commit('SET_userMenu', response.data.userMenu)
             resolve(response)
             this.dispatch('GetInfo').then(res => resolve(res))
           } else {
@@ -71,12 +87,6 @@
             
           }
         }).catch(error => {
-          // TODO: del
-          // let response = {"result":"SUCCESS","data":"43a187c9b3f1f6cd6c8342c15f91a52a"}
-          // setToken(response.data)
-          // commit('SET_TOKEN', response.data)
-          // resolve(response)
-
           reject(error)
           // console.log(error)
         })
@@ -87,27 +97,31 @@
       return new Promise((resolve, reject) => {
         getUserInfo().then(data => {
           if (data.result === 'SUCCESS') {
-            // if (data.workshopList && data.workshopList.length > 0) {
-            //   commit('SET_WORKSHOP_LIST', data.workshopList)
-            //   // console.log(data)
-            //   commit('SET_DEVICE_CATEGORY_LIST', data.workshopList)
-            //   commit('SET_USER_INFO', data)
-            //   resolve({ code: 1, data: data })
-            // } else {
-            //   commit('SET_WORKSHOP_LIST', [])
-            //   commit('SET_DEVICE_CATEGORY_LIST', [])
-            //   commit('SET_TOKEN', '')
-            //   commit('SET_USER_INFO', {})
-            //   removeToken()
-            //   resolve({ code: 0, msg: '鎮ㄦ病鏈夋潈闄愯闂紝璇疯仈绯荤鐞嗗憳杩涜鎺堟潈锛�' })
-            // }
+            commit('SET_USER_INFO',data.data)
+            this.dispatch('GetPlanList')
+            resolve({ code: 1, result: 'SUCCESS',data: data })
           }else {
             removeToken()
-            resolve({ code: 0, msg: '鐢变簬鎮ㄩ暱鏃堕棿娌℃湁鎿嶄綔锛岃閲嶆柊鐧诲綍锛�' })
+            resolve({ code: 0,result: 'SUCCESS', msg: '鐢变簬鎮ㄩ暱鏃堕棿娌℃湁鎿嶄綔锛岃閲嶆柊鐧诲綍锛�' })
           }
         }).catch(() => {
+          removeToken()
           resolve({ code: -1, msg: '缃戠粶寮傚父锛岀◢鍚庨噸璇曪紒' })
         })
+        
+      })
+    },
+    GetPlanList ({ commit, store }) {
+      return new Promise((resolve,reject) => {
+        getPlanList().then(data => {
+          if (data.result === 'SUCCESS') {
+            commit('SET_WORKSHOP_LIST', data.data || [])
+            resolve({ code: 1,result: 'SUCCESS',data: data })
+          }
+        })
+        .catch(() => {
+          reject(error)
+        })
       })
     },
     // 鐧诲嚭

--
Gitblit v1.9.3