From 000d7d8a7fdfdda09badc105634163960a847250 Mon Sep 17 00:00:00 2001 From: R524809 Date: Mon, 25 May 2026 15:03:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E9=A1=B5=E3=80=81=E5=AF=BC=E8=88=AA=E6=A0=8F?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components3.0/nav-bar/nav-bar.less | 2 +- miniprogram/components3.0/nav-bar/nav-bar.ts | 7 ++-- .../components3.0/nav-bar/nav-bar.wxml | 2 +- miniprogram/pages/profile/profile.less | 2 +- miniprogram/pages/profile/profile.ts | 2 +- miniprogram/utils/navMetrics.ts | 34 +++++++++++++++++-- 6 files changed, 41 insertions(+), 8 deletions(-) diff --git a/miniprogram/components3.0/nav-bar/nav-bar.less b/miniprogram/components3.0/nav-bar/nav-bar.less index 4adce12..f10849b 100644 --- a/miniprogram/components3.0/nav-bar/nav-bar.less +++ b/miniprogram/components3.0/nav-bar/nav-bar.less @@ -14,7 +14,6 @@ } .nav-bar__inner { - height: @nav-inner-height; display: flex; flex-direction: row; align-items: center; @@ -71,6 +70,7 @@ font-weight: @fw-nav-title; color: @color-nav-title; letter-spacing: @ls-nav-title; + line-height: 1; flex: 1; min-width: 0; } diff --git a/miniprogram/components3.0/nav-bar/nav-bar.ts b/miniprogram/components3.0/nav-bar/nav-bar.ts index e5736be..c135c27 100644 --- a/miniprogram/components3.0/nav-bar/nav-bar.ts +++ b/miniprogram/components3.0/nav-bar/nav-bar.ts @@ -1,4 +1,4 @@ -import { NAV_INNER_PX } from '../../utils/navMetrics'; +import { getNavInnerPx } from '../../utils/navMetrics'; const HOME_TAB_URL = '/pages/home/home'; const HOME_ROUTE = 'pages/home/home'; @@ -19,6 +19,7 @@ Component({ }, data: { statusBarHeight: 0, + navInnerHeight: 44, navBlockHeight: 0, leftActionType: 'none' as 'none' | 'back' | 'home' | 'brand', /** 仅首页(Tab 根页)在 logo 旁展示「涂鸦丫」;其余主 Tab 只展示 logo */ @@ -27,9 +28,11 @@ Component({ lifetimes: { attached() { const { statusBarHeight } = wx.getWindowInfo(); + const navInnerHeight = getNavInnerPx(); this.setData({ statusBarHeight, - navBlockHeight: statusBarHeight + NAV_INNER_PX, + navInnerHeight, + navBlockHeight: statusBarHeight + navInnerHeight, }); this.syncLeftAction(); }, diff --git a/miniprogram/components3.0/nav-bar/nav-bar.wxml b/miniprogram/components3.0/nav-bar/nav-bar.wxml index f33fe86..cd296b2 100644 --- a/miniprogram/components3.0/nav-bar/nav-bar.wxml +++ b/miniprogram/components3.0/nav-bar/nav-bar.wxml @@ -1,7 +1,7 @@ - + 0 && Number.isFinite(inner)) { + return Math.round(inner); + } + } catch (e) { + // ignore, fallback below + } + return 44; +} + +export function getNavInnerPx(): number { + if (cachedInnerPx === null) { + cachedInnerPx = computeInnerPx(); + } + return cachedInnerPx; +} + +/** 兼容旧调用:保留常量导出,启动时取一次胶囊几何。 */ +export const NAV_INNER_PX = getNavInnerPx();