index.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. token: storage.getJson("token"),
  10. mobile:storage.getJson("mobile"),
  11. },
  12. // 对外方问state属性内容
  13. getters: {
  14. getUser: state => {
  15. let users = storage.getJson("users");
  16. if(users == null){
  17. return 0;
  18. }
  19. return users;
  20. },
  21. getToken: state => {
  22. let token = storage.getJson("token");
  23. return token;
  24. },
  25. getMobile: state => {
  26. let mobile = storage.getJson("mobile");
  27. return mobile;
  28. },
  29. },
  30. // Mutation 必须是同步函数
  31. // 更改state属性内容
  32. // 使用:this.$store.commit("setUserInfo",{ });
  33. mutations: {
  34. UPDATEUSERS(state, data){
  35. state.users = data;
  36. storage.setJson("users",data);
  37. },
  38. DELETEUSERS(state,name){
  39. state.users = null;
  40. storage.remove(name);
  41. },
  42. UPDATETOKEN(state, data){
  43. state.token = data;
  44. storage.setJson("token",data);
  45. },
  46. DELETETOKEN(state,name){
  47. state.token = null;
  48. storage.remove(name);
  49. },
  50. UPDATEMOBILE(state, data){
  51. state.token = data;
  52. storage.setJson("mobile",data);
  53. },
  54. DELETEMOBILE(state,name){
  55. state.mobile = null;
  56. storage.remove(name);
  57. }
  58. },
  59. // Action 可以包含任意异步操作
  60. // 通过 context.commit 可以方问mutations方法
  61. // 也可以获得getters内容
  62. // 通过 this.$store.dispatch("getUser") 来取得内容
  63. actions: {
  64. getUser(context){
  65. //console.log(context.getters.cart)
  66. },
  67. usersStatus(context){
  68. return new Promise(function (resolve, reject) {
  69. let users = storage.getJson("users");
  70. if(users == null){
  71. reject();
  72. }else{
  73. resolve();
  74. }
  75. });
  76. },
  77. usersToken(context){
  78. return new Promise(function (resolve, reject) {
  79. let token = storage.getJson("token");
  80. if(token == null){
  81. reject();
  82. }else{
  83. resolve();
  84. }
  85. });
  86. },
  87. usersMobile(context){
  88. return new Promise(function (resolve, reject) {
  89. let mobile = storage.getJson("mobile");
  90. if(mobile == null){
  91. reject();
  92. }else{
  93. resolve();
  94. }
  95. });
  96. }
  97. }
  98. })
  99. export default store