修复 H5 嵌入小程序导航栏冲突
Some checks failed
CI / verify (push) Has been cancelled

- 识别微信小程序 web-view 宿主环境
- 宿主导航存在时隐藏 H5 自绘返回与页面标题
- 收回详情、搜索、讲解列表页面顶部预留空间

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lyf
2026-07-10 10:57:06 +08:00
parent 8758fe66c6
commit 2a21108157
6 changed files with 93 additions and 18 deletions

View File

@@ -1,6 +1,6 @@
<template>
<view class="explain-hall-select">
<view class="explain-page-header">
<view class="explain-hall-select" :class="{ 'host-navigation': shouldUseHostNavigation }">
<view v-if="!shouldUseHostNavigation" class="explain-page-header">
<view class="header-back" @tap="handleBack">
<text class="header-back-icon"></text>
<text class="header-back-text">返回</text>
@@ -153,6 +153,7 @@ import { computed, ref } from 'vue'
import {
EXPLAIN_UNIT_PREVIEW_FALLBACK
} from '@/utils/explainUnitPreviews'
import { isEmbeddedInWechatMiniProgram } from '@/utils/hostEnvironment'
export interface ExplainHallSelectItem {
id: string
@@ -239,6 +240,7 @@ const hallPreviewMap: Record<string, string> = {
}
const filteredHalls = computed(() => props.halls)
const shouldUseHostNavigation = computed(() => isEmbeddedInWechatMiniProgram())
const headerTitle = computed(() => {
if (props.stage === 'unit') return props.selectedHallName || '选择业务单元'
if (props.stage === 'stop') return props.selectedBusinessUnitName || '选择讲解点'
@@ -356,6 +358,14 @@ const handleBack = () => {
padding-bottom: 0;
}
.explain-hall-select.host-navigation .explain-scroll {
padding-top: 12px;
}
.explain-hall-select.host-navigation .explain-scroll.hall-stage {
padding-top: 12px;
}
.state-title,
.state-desc,
.hall-name,