cshenfu
2024-06-27 58aa6e282bb343503be3cb198948328ea3ed7b79
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
 * vuex 用户状态管理模块
 */
let lifeData = uni.getStorageSync('lifeData') || {};
 
export default {
    // 通过添加 namespaced: true 的方式使其成为带命名空间的模块
    namespaced: true,
    /**
     * vuex的基本数据,用来存储变量
     */
    state: {
        /**
         * 登录用户信息
         * js调用示例
         * (推荐) vk.getVuex('$user.userInfo');
         * 或 vk.vuex.get('$user.userInfo');
         * 页面上直接使用示例
         * {{ vk.getVuex('$user.userInfo') }}
         * js更新示例
         * vk.setVuex('$user.userInfo.avatar', avatar);
         */
        userInfo: lifeData.$user.userInfo || {},
        permission:lifeData.$user.permission || [],
    },
    /**
     * 从基本数据(state)派生的数据,相当于state的计算属性
     */
    getters: {
        /**
         * 获取用户信息(使用计算属性获取)
         * js调用示例
         * vk.vuex.getters('$user/getUserInfo');
         * 或
         * that.$store.getters['$user/getUserInfo'];
         */
        getUserInfo: (state) => {
            return state.userInfo;
        }
    },
    /**
     * 提交更新数据的方法,必须是同步的(如果需要异步使用action)。
     * 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。
     * 回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。
     */
    mutations: {
        
    },
    /**
     * 和mutation的功能大致相同,不同之处在于 ==》
     * 1. Action 提交的是 mutation,而不是直接变更状态。 
     * 2. Action 可以包含任意异步操作。
     */
    actions: {
        
    }
}