gaosp
2024-01-17 c4705bdf860ec458ec84601f36821441beb7674c
src/store/modules/user.js
@@ -3,6 +3,7 @@
import Vue from 'vue'
let workshopList = []
let userInfo ={}
let userMenu = []
try {
  workshopList = JSON.parse(localStorage.getItem('workshopList')) || []
} catch (error) {
@@ -13,45 +14,56 @@
} catch (error) {
  
}
try {
  userMenu = JSON.parse(localStorage.getItem('userMenu')) || []
} catch (error) {
}
const user = {
  state: {
    token: getToken().value,
    workshopList: workshopList, // 车间列表
    deviceCategories: [], // 设备种类
    userInfo: userInfo
    // 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 = []) => {
      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))
    }
@@ -63,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 {