yh-uniapp/store/modules/env.js
2024-12-06 14:01:20 +08:00

47 lines
1.7 KiB
JavaScript

import storage from '@/utils/storage'
const env = {
state: {
barHeight: '0', // 导航栏高度
statusBarHeight: '0', // 状态栏高度
},
mutations: {
SET_BAR_HEIGHT: (state, barHeight) => {
state.barHeight = barHeight
},
SET_STATUS_BAR_HEIGHT: (state, statusBarHeight) => {
state.statusBarHeight = statusBarHeight
}
},
actions: {
// 重置导航栏高度
ResetBarHeight({ commit }) {
// uni.getSystemInfo({
// success: (res) => {
// // 状态栏高度
// console.log('statusBarHeight:', res.statusBarHeight);
//
// // 不同平台上导航栏(胶囊按钮)的高度和宽度可能不同,通常我们还需要加上一个固定的值作为导航栏高度。
// // 对于微信小程序,通常导航栏高度 = statusBarHeight + 44(或48,视具体平台而定)
// let navBarHeight = res.statusBarHeight + 44 + "px"; // 可能需要根据实际情况调整这个值
// commit('SET_BAR_HEIGHT', navBarHeight)
// }
// });
// 状态栏高度
let statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
// 胶囊按钮的信息
let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
let navBarHeight = menuButtonInfo.height + (menuButtonInfo.top - statusBarHeight) * 2;
commit('SET_BAR_HEIGHT', navBarHeight + "px");
commit('SET_STATUS_BAR_HEIGHT', statusBarHeight + "px");
},
}
}
export default env