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