UNPKG

vtils

Version:

一个面向业务的 JavaScript/TypeScript 实用程序库。

38 lines (36 loc) 1.46 kB
"use strict"; exports.__esModule = true; exports.getTopBarInfo = getTopBarInfo; var _ensureInMiniProgram = require("./ensureInMiniProgram"); /** * 获取顶栏信息。 * * @returns 返回获取到的顶栏信息 */ function getTopBarInfo() { return (0, _ensureInMiniProgram.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 }; }); }