index.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { createStore } from 'vuex'
  2. import { login, wxLogin, logout } from '../services/common'
  3. const store = createStore({
  4. state: {
  5. userInfo: uni.getStorageSync('userInfo') || {},
  6. token: uni.getStorageSync('token') || ''
  7. },
  8. mutations: {
  9. setUserInfo(state, userInfo) {
  10. state.userInfo = userInfo
  11. uni.setStorageSync('userInfo', userInfo)
  12. },
  13. setToken(state, token) {
  14. state.token = token
  15. uni.setStorageSync('token', token)
  16. }
  17. },
  18. actions: {
  19. login({ commit }, data) {
  20. return login(data).then(res => {
  21. commit('setToken', res.token)
  22. commit('setUserInfo', res.userInfo)
  23. })
  24. },
  25. wxLogin({ commit }, data) {
  26. return wxLogin(data).then(res => {
  27. commit('setToken', res.token)
  28. commit('setUserInfo', res.userInfo)
  29. })
  30. },
  31. logout({ commit }) {
  32. // return http.post('auth/user/logout').then(res => {
  33. // commit('setToken', '')
  34. // commit('setUserInfo', {})
  35. // })
  36. return new Promise(resolve => {
  37. commit('setToken', '')
  38. commit('setUserInfo', {})
  39. resolve()
  40. })
  41. }
  42. }
  43. })
  44. export default store