index.js 831 B

1234567891011121314151617181920212223242526272829
  1. import Vue from "vue";
  2. import Vuex from "vuex";
  3. import createPersistedState from "vuex-persistedstate";
  4. Vue.use(Vuex);
  5. const files = require.context("./modules", false, /\.js$/);
  6. let modules = {
  7. state: {},
  8. mutations: {},
  9. actions: {},
  10. plugins: [
  11. createPersistedState({
  12. paths: ["token", "userInfo", "system_code", "system_Name"],
  13. storage: {
  14. getItem: (key) => uni.getStorageSync(key),
  15. setItem: (key, value) => uni.setStorageSync(key, value),
  16. removeItem: (key) => uni.removeStorageSync(key),
  17. },
  18. }),
  19. ],
  20. };
  21. files.keys().forEach((key) => {
  22. Object.assign(modules.state, files(key)["state"]);
  23. Object.assign(modules.mutations, files(key)["mutations"]);
  24. Object.assign(modules.actions, files(key)["actions"]);
  25. });
  26. const store = new Vuex.Store(modules);
  27. export default store;