index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import storage from '../common/storage'
  4. Vue.use(Vuex);
  5. const store = new Vuex.Store({
  6. // 属性值
  7. state: {
  8. users: storage.getJson("users")
  9. },
  10. // 对外方问state属性内容
  11. getters: {
  12. getCart: state => {
  13. let users = storage.getJson("users");
  14. if(users == null){
  15. return 0;
  16. }
  17. return users.shop_count;
  18. }
  19. },
  20. // Mutation 必须是同步函数
  21. // 更改state属性内容
  22. // 使用:this.$store.commit("setUserInfo",{ });
  23. mutations: {
  24. UPDATEUSERS(state, data){
  25. state.users = data;
  26. storage.setJson("users",data);
  27. },
  28. DELETEUSERS(state,name){
  29. state.users = null;
  30. storage.remove(name);
  31. },
  32. UPDATECART(state, data){
  33. state.users.shop_count = data;
  34. let users = storage.getJson("users");
  35. users.shop_count = data;
  36. storage.setJson("users",users);
  37. }
  38. },
  39. // Action 可以包含任意异步操作
  40. // 通过 context.commit 可以方问mutations方法
  41. // 也可以获得getters内容
  42. // 通过 this.$store.dispatch("getUser") 来取得内容
  43. actions: {
  44. getCart(context){
  45. //console.log(context.getters.cart)
  46. },
  47. usersStatus(context){
  48. return new Promise(function (resolve, reject) {
  49. let users = storage.getJson("users");
  50. if(users == null || users.token == undefined){
  51. reject();
  52. }else{
  53. resolve();
  54. }
  55. });
  56. }
  57. }
  58. })
  59. export default store