index.js 697 B

123456789101112131415161718192021222324252627282930313233
  1. import chatStore from './chatStore.js';
  2. import friendStore from './friendStore.js';
  3. import userStore from './userStore.js';
  4. import groupStore from './groupStore.js';
  5. import {
  6. createStore
  7. } from 'vuex';
  8. const store = createStore({
  9. modules: {
  10. chatStore,
  11. friendStore,
  12. userStore,
  13. groupStore
  14. },
  15. state: {},
  16. actions: {
  17. load(context) {
  18. return this.dispatch("loadUser").then(() => {
  19. const promises = [];
  20. promises.push(this.dispatch("loadFriend"));
  21. promises.push(this.dispatch("loadGroup"));
  22. promises.push(this.dispatch("loadChat"));
  23. return Promise.all(promises);
  24. })
  25. },
  26. unload(context){
  27. context.commit("clear");
  28. }
  29. },
  30. strict: true
  31. })
  32. export default store;