index.js 804 B

1234567891011121314151617181920212223242526272829303132333435
  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 configStore from './configStore.js';
  6. import { createStore } from 'vuex';
  7. const store = createStore({
  8. modules: {
  9. chatStore,
  10. friendStore,
  11. userStore,
  12. groupStore,
  13. configStore
  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. promises.push(this.dispatch("loadConfig"));
  24. return Promise.all(promises);
  25. })
  26. },
  27. unload(context){
  28. context.commit("clear");
  29. }
  30. },
  31. strict: true
  32. })
  33. export default store;