Blame view

src/store/modules/user.js 1.96 KB
a72ae217   王富生   第一次提交
1
2
3
4
5
6
7
  import { login, logout, getInfo } from '@/api/user'
  import { getToken, setToken, removeToken } from '@/utils/auth'
  import { resetRouter } from '@/router'
  
  const state = {
    token: getToken(),
    name: '',
9804b54b   王富生   提交登陆
8
9
    avatar: '',
    userInfo:''
a72ae217   王富生   第一次提交
10
11
12
13
14
15
16
17
18
19
20
  }
  
  const mutations = {
    SET_TOKEN: (state, token) => {
      state.token = token
    },
    SET_NAME: (state, name) => {
      state.name = name
    },
    SET_AVATAR: (state, avatar) => {
      state.avatar = avatar
9804b54b   王富生   提交登陆
21
22
23
    },
    SET_USERINFO: (state, userInfo) => {
      state.userInfo = userInfo
a72ae217   王富生   第一次提交
24
25
26
27
28
29
    }
  }
  
  const actions = {
    // user login
    login({ commit }, userInfo) {
9804b54b   王富生   提交登陆
30
      const { phone, password } = userInfo
a72ae217   王富生   第一次提交
31
      return new Promise((resolve, reject) => {
9804b54b   王富生   提交登陆
32
        login({ userPhone: phone.trim(), validatorCode: password }).then(response => {
a72ae217   王富生   第一次提交
33
          const { data } = response
a72ae217   王富生   第一次提交
34
35
36
37
38
39
40
41
42
43
44
45
          commit('SET_TOKEN', data.token)
          setToken(data.token)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    },
  
    // get user info
    getInfo({ commit, state }) {
      return new Promise((resolve, reject) => {
a72ae217   王富生   第一次提交
46
47
        getInfo(state.token).then(response => {
          const { data } = response
a72ae217   王富生   第一次提交
48
49
50
          if (!data) {
            reject('Verification failed, please Login again.')
          }
9804b54b   王富生   提交登陆
51
52
53
54
55
          const { custName, headPicUrl } = data
  
          commit('SET_NAME', custName)
          commit('SET_AVATAR', headPicUrl)
          commit('SET_USERINFO', data)
a72ae217   王富生   第一次提交
56
  
9804b54b   王富生   提交登陆
57
          resolve({roles:[]})
a72ae217   王富生   第一次提交
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
        }).catch(error => {
          reject(error)
        })
      })
    },
  
    // user logout
    logout({ commit, state }) {
      return new Promise((resolve, reject) => {
        logout(state.token).then(() => {
          commit('SET_TOKEN', '')
          removeToken()
          resetRouter()
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    },
  
    // remove token
    resetToken({ commit }) {
      return new Promise(resolve => {
        commit('SET_TOKEN', '')
        removeToken()
        resolve()
      })
    }
  }
  
  export default {
    namespaced: true,
    state,
    mutations,
    actions
  }