import Vue from "vue"; import Vuex from "vuex"; import createPersistedState from 'vuex-persistedstate' // 引入数据持久化插件 Vue.use(Vuex) // 把modules文件下的 js文件返回出来 // https://webpack.js.org/guides/dependency-management/#requirecontext const modulesFiles = require.context('./modules', true, /\.js$/) // you do not need `import app from './modules/app'` // it will auto require all vuex module from modules file const modules = modulesFiles.keys().reduce((modules, modulePath) => { // set './app.js' => 'app' const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1') const value = modulesFiles(modulePath) modules[moduleName] = value.default return modules }, {}) const store = new Vuex.Store({ modules, // plugins 插件配置 plugins: [ createPersistedState({ // paths: ['token', 'userId'], storage: { // 存储方式定义 getItem: (key) => uni.getStorageSync(key), // 获取 setItem: (key, value) => uni.setStorageSync(key, value), // 存储 removeItem: (key) => uni.removeStorageSync(key) // 删除 } }) ] }) export default store