Blame view

src/store/modules/user.js 1.97 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
31
      debugger
      const { phone, password } = userInfo
a72ae217   王富生   第一次提交
32
      return new Promise((resolve, reject) => {
9804b54b   王富生   提交登陆
33
        login({ userPhone: phone.trim(), validatorCode: password }).then(response => {
a72ae217   王富生   第一次提交
34
          const { data } = response
a72ae217   王富生   第一次提交
35
36
37
38
39
40
41
42
43
44
45
46
          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   王富生   第一次提交
47
48
        getInfo(state.token).then(response => {
          const { data } = response
a72ae217   王富生   第一次提交
49
50
51
          if (!data) {
            reject('Verification failed, please Login again.')
          }
9804b54b   王富生   提交登陆
52
53
54
55
56
          const { custName, headPicUrl } = data
  
          commit('SET_NAME', custName)
          commit('SET_AVATAR', headPicUrl)
          commit('SET_USERINFO', data)
a72ae217   王富生   第一次提交
57
  
9804b54b   王富生   提交登陆
58
          resolve({roles:[]})
a72ae217   王富生   第一次提交
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
94
        }).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
  }