import Vue from 'vue'
|
import Vuex from 'vuex'
|
|
Vue.use(Vuex)
|
|
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: {
|
statusbarHeight: statusbarHeight || '0',
|
navHeight: navHeight || '0',
|
token: token || null,
|
time: time || null,
|
userInfo: userInfo || null,
|
height: height || '0',
|
sessionKey: sessionKey || ''
|
},
|
|
mutations: {
|
// 设置导航栏高度
|
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;
|