index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. Vue.use(Vuex)
  4. const store = new Vuex.Store({
  5. state: {
  6. hasLogin: false,
  7. userInfo: {
  8. access_token:'',
  9. refresh_token:''
  10. },
  11. userCenterData:{},//个人中心页面数据
  12. cartData:{},//购物车数据
  13. addressList:[],//收货地址列表
  14. chatBaseInfo:uni.getStorageSync('chatBaseInfo')?uni.getStorageSync('chatBaseInfo'):{},//聊天的基本信息,包含会员id、头像、店铺id、头像
  15. },
  16. mutations: {
  17. login(state, provider) {
  18. state.hasLogin = true;
  19. state.userInfo = provider;
  20. //缓存用户登陆状态
  21. uni.setStorageSync('userInfo',provider);
  22. },
  23. login_async(state, provider) {
  24. state.hasLogin = true;
  25. state.userInfo = provider;
  26. //缓存用户登陆状态
  27. uni.setStorageSync('userInfo',provider)
  28. },
  29. logout(state) {
  30. state.hasLogin = false;
  31. state.userInfo = {};
  32. state.userCenterData = {};
  33. state.cartData = {};
  34. state.addressList = [];
  35. state.chatBaseInfo = {}
  36. uni.removeStorageSync('addressId')
  37. uni.clearStorageSync();
  38. },
  39. //设置个人中心的数据
  40. setUserCenterData(state, provider){
  41. state.userCenterData = provider
  42. //缓存用户个人信息
  43. uni.setStorageSync('userCenterData',provider)
  44. },
  45. //操作购物车的数据
  46. operateCartData(state, provider){
  47. state.cartData = provider
  48. },
  49. //操作收货地址
  50. operateAddressData(state, provider){
  51. state.addressList = provider
  52. },
  53. //保存聊天的会员id、会员头像,店铺id、店铺头像
  54. saveChatBaseInfo(state, provider){
  55. state.chatBaseInfo = provider
  56. //缓存聊天的基本信息
  57. uni.setStorageSync('chatBaseInfo',provider)
  58. },
  59. },
  60. actions: {
  61. }
  62. })
  63. export default store