index.js 875 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. //引入vue和vuex
  2. import Vue from 'vue'
  3. import Vuex from 'vuex'
  4. Vue.use(Vuex)
  5. // 用户信息
  6. let userinfo = uni.getStorageSync('userinfo') || {}
  7. const store = new Vuex.Store({ //全局变量定义
  8. state: {
  9. userinfo: userinfo, //存放用户账号数据
  10. },
  11. getters: {
  12. // 用户信息
  13. info(state) {
  14. return state.userinfo
  15. }
  16. },
  17. mutations: {
  18. // 登录
  19. login(state, provider) {
  20. state.userInfo = provider
  21. uni.setStorage({ // 异步缓存用户信息
  22. key: "userinfo",
  23. data: provider
  24. })
  25. },
  26. // 退出
  27. logout(state) {
  28. state.userInfo = {};
  29. uni.removeStorage({ // 清除用户信息
  30. key: "userinfo"
  31. })
  32. uni.removeStorage({ // 清除用户信息
  33. key: "token"
  34. })
  35. uni.removeStorage({ // 清除用户信息
  36. key: "checked"
  37. })
  38. uni.navigateTo({
  39. url: '/pages/login/login'
  40. })
  41. },
  42. }
  43. })
  44. export default store