const state = { mqttState: false, // mqtt连接状态 isCollapse: localStorage.getItem('isCollapse') ? !!+localStorage.getItem('isCollapse') : true, // 侧边导航栏 显隐 isMobile: null, // 是否是pc端 true电脑端 false为移动端 defaultLngLat: null, // 地图默认经纬度 defaultZoom: null // 地图默认缩放 } const mutations = { // 导航栏 显隐 setCollapse () { state.isCollapse = !state.isCollapse if (state.isCollapse) { localStorage.setItem('isCollapse', 1) } else { localStorage.setItem('isCollapse', 0) } }, // 判断是否pc端 还是移动端 true电脑端 false移动端 setIsMobile () { const userAgentInfo = navigator.userAgent const agents = ['Android', 'iPhone', 'SymbianOS', 'Windows Phone', 'iPad', 'iPod'] for (let i = 0; i < agents.length; i++) { if (userAgentInfo.indexOf(agents[i]) > 0) { state.isMobile = false break } else { state.isMobile = true } } }, // 设置地图默认经纬度 setDefaultLngLat (state, lngLat) { state.defaultLngLat = lngLat localStorage.setItem('defaultLngLat', JSON.stringify(lngLat)) }, // 设置地图默认缩放值 setDefaultZoom (state, zoom) { state.defaultZoom = zoom localStorage.setItem('defaultZoom', zoom) } } const actions = { } const getters = { // 获取地图默认经纬度 缓存中没有从 localStorage中获取 也没有设置为0 getDefaultLngLat () { return state.defaultLngLat !== null ? state.defaultLngLat : localStorage.getItem('defaultLngLat') !== null ? JSON.parse(localStorage.getItem('defaultLngLat')) : { lng: 0, lat: 0 } }, // 获取地图默认缩放值 缓存中没有从 localStorage中获取 也没有设置为1 getDefaultZoom () { return state.defaultZoom !== null ? state.defaultZoom : localStorage.getItem('defaultZoom') !== null ? localStorage.getItem('defaultZoom') : 1 } } export default { namespaced: true, state, mutations, actions, getters }