12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- import createPersistedState from 'vuex-persistedstate'
- Vue.use(Vuex)
- const store = new Vuex.Store({
- plugins: [
- // 可以有多个持久化实例
- createPersistedState({
- key: 'app_config_data', // 状态保存到本地的 key
- paths: ['hasLogin', 'userInfo', 'cookie'], // 要持久化的状态,在state里面取,如果有嵌套,可以 a.b.c
- storage: { // 存储方式定义
- getItem: (key) => uni.getStorageSync(key), // 获取
- setItem: (key, value) => uni.setStorageSync(key, value), // 存储
- removeItem: (key) => uni.removeStorageSync(key) // 删除
- }
- })
- ],
- state: {
- hasLogin: false,
- userInfo: {
- token: ''
- },
- lang: 'zh-cn',
- cookie: ''
- },
- mutations: {
- login(state, provider) {
- state.hasLogin = true;
- state.userInfo = provider;
- uni.setStorage({ //缓存用户信息
- key: 'userInfo',
- data: provider
- });
- },
- logout(state) {
- state.hasLogin = false;
- state.userInfo = {};
- uni.removeStorage({
- key: 'userInfo'
- });
- },
- setUserInfo(state, provider) {
- state.userInfo = provider;
- uni.setStorage({ //缓存用户信息
- key: 'userInfo',
- data: provider
- });
- },
- setCookie(state, provider) {
- state.cookie = provider;
- uni.setStorage({
- key: 'cookieKey',
- data: provider
- });
- }
- },
- actions: {
- }
- })
- export default store
|