import Vue from 'vue'
|
import Vuex from 'vuex'
|
|
Vue.use(Vuex)
|
|
const navHeight = uni.getStorageSync('navHeight');
|
const statusbarHeight = uni.getStorageSync('statusbarHeight');
|
const userInfo = uni.getStorageSync('userInfo');
|
const token = uni.getStorageSync('token');
|
const openid = uni.getStorageSync('openid');
|
|
const store = new Vuex.Store({
|
|
state: {
|
navHeight: navHeight || '',
|
statusbarHeight: statusbarHeight || '',
|
userInfo: userInfo || {},
|
token: token || '',
|
openid: openid || '',
|
|
latitude: '',
|
longitude: '',
|
address:'定位中'
|
},
|
mutations: {
|
// 设置导航栏高度
|
setHeight(state, val) {
|
state.navHeight = val.navHeight
|
state.statusbarHeight = val.statusbarHeight
|
uni.setStorageSync('navHeight', val.navHeight);
|
uni.setStorageSync('statusbarHeight', val.statusbarHeight);
|
},
|
// 设置token
|
setToken(state, val) {
|
state.token = val
|
uni.setStorageSync('token', val);
|
},
|
// 设置token
|
setOpenid(state, val) {
|
state.openid = val
|
uni.setStorageSync('openid', val);
|
},
|
// 设置用户信息
|
setUserInfo(state, val) {
|
state.userInfo = val
|
uni.setStorageSync('userInfo', val);
|
},
|
// 设置经纬度
|
setPosition(state, obj) {
|
state.latitude = obj.latitude
|
state.longitude = obj.longitude
|
state.address = obj.address
|
console.log("地址设置完成")
|
},
|
// 清除缓存数据
|
empty(state) {
|
state.userInfo = ''
|
state.token = ''
|
uni.removeStorageSync('token');
|
uni.removeStorageSync('userInfo');
|
}
|
},
|
|
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;
|