index.js 1.4 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. currentpage:storage.getJson("pageName"),
  10. },
  11. // Mutation 必须是同步函数
  12. // 更改state属性内容
  13. // 使用:this.$store.commit("setUserInfo",{ });
  14. mutations: {
  15. UPDATEUSERS(state, data){
  16. state.users = data;
  17. storage.setJson("users",data);
  18. },
  19. DELETEUSERS(state,name){
  20. state.users = null;
  21. storage.remove(name);
  22. },
  23. UPDATEPAGE(state, data){
  24. state.currentpage = data;
  25. storage.setJson("pageName",data);
  26. },
  27. },
  28. // Action 可以包含任意异步操作
  29. // 通过 context.commit 可以方问mutations方法
  30. // 也可以获得getters内容
  31. // 通过 this.$store.dispatch("getUser") 来取得内容
  32. actions: {
  33. getUser(context){
  34. //console.log(context.getters.cart)
  35. },
  36. usersStatus(context){
  37. return new Promise(function (resolve, reject) {
  38. let users = storage.getJson("users");
  39. if(users == null){
  40. reject();
  41. }else{
  42. resolve();
  43. }
  44. });
  45. },
  46. // usersMobile(context){
  47. // return new Promise(function (resolve, reject) {
  48. // let mobile = storage.getJson("mobile");
  49. // if(mobile == null){
  50. // reject();
  51. // }else{
  52. // resolve();
  53. // }
  54. // });
  55. // }
  56. }
  57. })
  58. export default store