From 96541c5a899c8a1735dc363782afac94de60298e Mon Sep 17 00:00:00 2001
From: lyf <2514544224@qq.com>
Date: Wed, 15 Jul 2026 23:42:33 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E8=AE=B2=E8=A7=A3=E8=AF=A6?=
=?UTF-8?q?=E6=83=85=E9=A1=B5=E8=AF=AD=E8=A8=80=E5=88=87=E6=8D=A2=E6=A0=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/exhibit/detail.vue | 59 +++++++++++++---------
tests/unit/ExhibitDetailAudioFirst.spec.ts | 2 +
2 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/src/pages/exhibit/detail.vue b/src/pages/exhibit/detail.vue
index 6bf4d92..ce365c5 100644
--- a/src/pages/exhibit/detail.vue
+++ b/src/pages/exhibit/detail.vue
@@ -32,31 +32,32 @@
+
+
+
+
+
-
-
-
-
{
.content {
position: absolute;
- top: 320px;
+ top: 392px;
right: 0;
bottom: 0;
left: 0;
@@ -872,6 +873,18 @@ const handleBack = () => {
background: #f7f8f3;
}
+.detail-language-bar {
+ position: absolute;
+ top: 320px;
+ right: 0;
+ left: 0;
+ z-index: 2;
+ height: 72px;
+ padding: 25px 24px 7px;
+ box-sizing: border-box;
+ background: #f7f8f3;
+}
+
.immersive-hero {
position: relative;
min-height: 0;
@@ -969,8 +982,8 @@ const handleBack = () => {
.detail-chip-row { display: none; }
.detail-content {
- min-height: calc(100vh - 320px - 72px - env(safe-area-inset-bottom));
- padding: 25px 24px calc(32px + 72px + env(safe-area-inset-bottom));
+ min-height: calc(100vh - 392px - 72px - env(safe-area-inset-bottom));
+ padding: 24px 24px calc(32px + 72px + env(safe-area-inset-bottom));
box-sizing: border-box;
background: #f7f8f3;
}
@@ -1067,7 +1080,7 @@ const handleBack = () => {
}
.content-section {
- margin-top: 24px;
+ margin-top: 0;
padding-top: 0;
}
diff --git a/tests/unit/ExhibitDetailAudioFirst.spec.ts b/tests/unit/ExhibitDetailAudioFirst.spec.ts
index b32ff70..a616642 100644
--- a/tests/unit/ExhibitDetailAudioFirst.spec.ts
+++ b/tests/unit/ExhibitDetailAudioFirst.spec.ts
@@ -141,6 +141,8 @@ describe('讲解详情音频优先布局', () => {
expect(wrapper.find('.detail-audio-dock').exists()).toBe(true)
expect(wrapper.get('.detail-audio-dock').classes()).toContain('is-playable')
expect(wrapper.find('.language-switch').text()).toContain('English')
+ expect(wrapper.find('.detail-language-bar').exists()).toBe(true)
+ expect(wrapper.find('.content .language-switch').exists()).toBe(false)
expect(wrapper.get('.content-section').classes()).toContain('is-english')
expect(wrapper.find('.section-title').exists()).toBe(false)
expect(wrapper.get('.section-text').text()).toContain('detailed English narration')