vtils
Version:
一个面向业务的 JavaScript/TypeScript 实用程序库。
34 lines (33 loc) • 1.36 kB
JavaScript
import { ensureInMiniProgram } from "./ensureInMiniProgram.js";
/**
* 获取顶栏信息。
*
* @returns 返回获取到的顶栏信息
*/
export function getTopBarInfo() {
return ensureInMiniProgram(function (mp) {
var menuRect = mp.getMenuButtonBoundingClientRect();
var sysInfo = mp.getSystemInfoSync();
// 部分情况下 statusBarHeight 可能不存在或为 0,需手动计算,如:
// 苹果手机 iOS 版本 < 13 时下开启热点等
if (!sysInfo.statusBarHeight) {
sysInfo.statusBarHeight = sysInfo.screenHeight - sysInfo.windowHeight;
}
var statusBarHeight = sysInfo.statusBarHeight;
var menuButtonWidth = menuRect.width;
var menuButtonHeight = menuRect.height;
var menuButtonVerticalMargin = menuRect.top - statusBarHeight;
var menuButtonHorizontalMargin = sysInfo.windowWidth - menuRect.right;
var navigationBarHeight = menuButtonHeight + menuButtonVerticalMargin * 2;
var topBarHeight = statusBarHeight + navigationBarHeight;
return {
statusBarHeight: statusBarHeight,
menuButtonWidth: menuButtonWidth,
menuButtonHeight: menuButtonHeight,
menuButtonVerticalMargin: menuButtonVerticalMargin,
menuButtonHorizontalMargin: menuButtonHorizontalMargin,
navigationBarHeight: navigationBarHeight,
topBarHeight: topBarHeight
};
});
}