Blame view

src/store/modules/user.js 2 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
9804b54b   王富生   提交登陆
35
          debugger;
a72ae217   王富生   第一次提交
36
37
38
39
40
41
42
43
44
45
46
47
          commit('SET_TOKEN', data.token)
          setToken(data.token)
          resolve()
        }).catch(error => {
          reject(error)
        })
      })
    },
  
    // get user info
    getInfo({ commit, state }) {
      return new Promise((resolve, reject) => {
9804b54b   王富生   提交登陆
48
        debugger
a72ae217   王富生   第一次提交
49
50
51
52
53
54
55
        getInfo(state.token).then(response => {
          const { data } = response
  
          if (!data) {
            reject('Verification failed, please Login again.')
          }
  
9804b54b   王富生   提交登陆
56
57
58
59
60
          const { custName, headPicUrl } = data
  
          commit('SET_NAME', custName)
          commit('SET_AVATAR', headPicUrl)
          commit('SET_USERINFO', data)
a72ae217   王富生   第一次提交
61
  
9804b54b   王富生   提交登陆
62
          resolve({roles:[]})
a72ae217   王富生   第一次提交
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
95
96
97
98
        }).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
  }