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
58
59
60
61
62
63
64
65
66
67
export default {
    beforeCreate() {
        // 将vuex方法挂在到vk实例中 beforeCreate created
        let { vk, $store } = this;
        if (typeof $store !== "undefined" && typeof vk.getVuexStore === "undefined") {
            vk.getVuexStore = function() {
                return $store;
            };
            vk.vuex = (name, value) => {
                $store.commit('updateStore', { name, value });
            };
            /**
             * (推荐) 设置vuex
             * vk.vuex.set('$user.userInfo.avatar', avatar);
             */
            vk.vuex.set = (name, value) => {
                $store.commit('updateStore', { name, value });
            };
            /**
             * (推荐) 读取vuex(具有解除对象内存印射功能,且任意一层数据为undefined,不会报错)
             * vk.vuex.get('$user.userInfo.avatar');
             */
            vk.vuex.get = (name, defaultValue) => {
                let value = vk.pubfn.getData($store.state, name);
                if (typeof value === "undefined") return (typeof defaultValue !== "undefined") ? defaultValue : "";
                return JSON.parse(JSON.stringify(value));
            };
            vk.vuex.getters = (name) => {
                return $store.getters[name];
            };
            /**
             * 触发vuex的指定actions(异步)
             * $user是模块名,addFootprint是对应模块的action名称
             * vk.vuex.dispatch('$user/addFootprint', data);
             */
            vk.vuex.dispatch = $store.dispatch;
            /**
             * 触发vuex的指定mutations
             * $user是模块名,setFootprint是对应模块的action名称
             * vk.vuex.commit('$user/setFootprint', data);
             */
            vk.vuex.commit = $store.commit;
 
            /* 另一种方式 */
            /**
             * vk.setVuex('$user.userInfo.avatar', avatar);
             */
            vk.setVuex = vk.vuex.set;
            /**
             * vk.getVuex('$user.userInfo.avatar');
             */
            vk.getVuex = vk.vuex.get;
            /* 兼容老版本 */
            vk.state = vk.vuex.get;
            try {
                if (!vk.checkToken()) {
                    vk.callFunctionUtil.deleteUserInfo({
                        log: false
                    });
                }
            } catch (err) {}
        }
    },
    computed: {
 
    }
}