fix(h5): 统一 nh=1 与 sbh 顶距逻辑,与 index.html 首屏一致

applyMpEmbedDom 在原生顶栏模式读取 session sbh;补充 nh+sbh 单测。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
jackyu66git
2026-08-25 04:21:52 +08:00
co-authored by Cursor
parent e7290ed726
commit fc53be22f8
2 changed files with 34 additions and 9 deletions
+14
View File
@@ -4,6 +4,9 @@ import { applyMpEmbedDom, initMpEmbed, isMpEmbed, isMpNativeHeader } from './mpE
describe('mpEmbed', () => {
beforeEach(() => {
sessionStorage.clear()
document.documentElement.className = ''
document.documentElement.style.removeProperty('--yxg-safe-top')
document.documentElement.style.removeProperty('--yxg-page-top')
window.history.replaceState({}, '', '/psy/')
})
@@ -37,6 +40,17 @@ describe('mpEmbed', () => {
expect(document.documentElement.style.getPropertyValue('--yxg-page-top')).toBe('4px')
})
it('applies sbh in native header mode with ?nh=1&sbh=', () => {
window.history.replaceState({}, '', '/psy/?mp=1&nh=1&sbh=12')
initMpEmbed()
expect(isMpNativeHeader()).toBe(true)
expect(sessionStorage.getItem('yxg_sbh')).toBe('12')
expect(document.documentElement.style.getPropertyValue('--yxg-page-top')).toBe('12px')
window.history.replaceState({}, '', '/psy/?mp=1&nh=1')
applyMpEmbedDom()
expect(document.documentElement.style.getPropertyValue('--yxg-page-top')).toBe('12px')
})
it('returns false without mp query', () => {
initMpEmbed()
expect(isMpEmbed()).toBe(false)