jiangping
2024-05-28 d154966cc9492a30c47809aa2824ba61d18e6fef
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import Vue from 'vue'
import Vuex from 'vuex'
 
Vue.use(Vuex)
 
const openId = uni.getStorageSync('openId')
const member = uni.getStorageSync('member')
 
// meeting
const navHeight = uni.getStorageSync('navHeight')
const statusbarHeight = uni.getStorageSync('statusbarHeight')
const height = uni.getStorageSync('height')
const token = uni.getStorageSync('token')
const time = uni.getStorageSync('time')
const userInfo = uni.getStorageSync('userInfo')
const sessionKey = uni.getStorageSync('sessionKey')
 
const store = new Vuex.Store({
 
    state: {
        openId: openId || '061kuG0006hxcS13TT200w9VIp4kuG09',
        member: member || null,
        statusbarHeight: statusbarHeight || '0',
        navHeight: navHeight || '0',
        token: token || null,
        time: time || null,
        userInfo: userInfo || {},
        height: height || '0',
        sessionKey: sessionKey || ''
    },
 
    mutations: {
        // 设置openId
        setOpenId(state, val) {
            state.openId = val
            uni.setStorageSync('openId', val)
        },
        // 设置用户信息
        setMember(state, val) {
            state.member = val
            uni.setStorageSync('member', val)
        },
        // 设置导航栏高度
        setHeight(state, val) {
            state.navHeight = val.navHeight
            state.statusbarHeight = val.statusbarHeight
            state.height = val.height
            uni.setStorageSync('navHeight', val.navHeight)
            uni.setStorageSync('statusbarHeight', val.statusbarHeight)
            uni.setStorageSync('height', val.height)
        },
        // 设置缓存token
        setToken(state, token) {
            state.token = token
            uni.setStorageSync('token', token)
        },
        // 设置过期时间戳
        setTimeStamp(state, time) {
            state.time = time
            uni.setStorageSync('time', time)
        },
        // 设置用户信息
        setUserInfo(state, obj) {
            state.userInfo = obj
            uni.setStorageSync('userInfo', obj)
        },
        // 设置SessionKey
        setSessionKey(state, val) {
            state.sessionKey = val
            uni.setStorageSync('sessionKey', val)
        },
        // 清空所有缓存
        empty(state) {
            state.token = ''
            state.userInfo = ''
            uni.removeStorageSync('userInfo')
            uni.removeStorageSync('token')
        }
    },
    actions: {
        // 获取状态高度
        getHeight(context) {
            let res = uni.getMenuButtonBoundingClientRect()
            let status = uni.getSystemInfoSync()
            var height = res.height
            let statusbarHeight = status.statusBarHeight
            let navHeight = res.height + (res.top - statusbarHeight) * 2
            context.commit('setHeight', { statusbarHeight, navHeight, height })
        }
    }
 
})
 
export default store