gaosp
2024-01-13 b524dc50dedb0e6d8ae0a432ae2d436829da9319
src/store/modules/user.js
@@ -1,18 +1,25 @@
import { login, getWorkShopInfo, 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 ={}
try {
  workshopList = JSON.parse(localStorage.getItem('workshopList')) || []
} catch (error) {
}
try {
  userInfo = JSON.parse(localStorage.getItem('userInfo')) || {}
} catch (error) {
}
const user = {
  state: {
    token: getToken().value,
    workshopList: [], // 车间列表
    workshopList: workshopList, // 车间列表
    deviceCategories: [], // 设备种类
    userInfo: { // 用户信息
      user: '',
      name: '',
      phone: '',
      roles: '',
      avatar: ''
    }
    userInfo: userInfo
  },
  mutations: {
@@ -29,12 +36,8 @@
      state.roles = roles
    },
    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++) {
@@ -50,6 +53,7 @@
      state.userInfo.phone = data.phone || ''
      state.userInfo.roles = data.roles
      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))
    }
  },
@@ -62,11 +66,13 @@
          // {"result":"SUCCESS","token":"43a187c9b3f1f6cd6c8342c15f91a52a"}
          response = response || {}
          if (response.result === 'SUCCESS') {
            setToken(response.token)
            commit('SET_TOKEN', response.token)
            setToken(response.data)
            commit('SET_TOKEN', response.data)
            resolve(response)
            this.dispatch('GetInfo').then(res => resolve(res))
          } else {
            resolve({ code: 0, msg: '用户名或密码错误!' })
          }
        }).catch(error => {
          reject(error)
@@ -77,29 +83,28 @@
    // 获取用户信息
    GetInfo({ commit, state }) {
      return new Promise((resolve, reject) => {
        getWorkShopInfo().then(data => {
        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)
            commit('SET_USER_INFO',data.data)
            this.dispatch('GetPlanList')
              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: '您没有权限访问,请联系管理员进行授权!' })
            }
          }else {
            removeToken()
            resolve({ code: 0, msg: '由于您长时间没有操作,请重新登录!' })
          }
          // else {
          //   resolve({ code: 0, msg: '由于您长时间没有操作,请重新登录!' })
          // }
        }).catch(() => {
          removeToken()
          resolve({ code: -1, msg: '网络异常,稍后重试!' })
        })
      })
    },
    GetPlanList ({ commit, store }) {
      return getPlanList().then(data => {
        if (data.result === 'SUCCESS') {
          commit('SET_WORKSHOP_LIST', data.data || [])
        }
        return data
      })
    },
    // 登出