fix(ui): 修复优惠券页/消息页导航栏位置偏高(标题与返回按钮应贴胶囊行)

- 原因:初版用 padding-top=safe-header-gap + 44px 内容行,把标题推到状态栏下方,顶部留白过大
- 改为与其它页面一致的规范:导航栏总高=var(--safe-header-gap),内容行 position:absolute;bottom:0;height:var(--capsule-height) 贴底对齐胶囊;标题绝对居中(translateX(-50%))
- 页面根改为 height:100vh + flex 纵向布局,列表用 flex:1 撑满剩余空间(tab-bar/滚动区不再按 100vh 硬算)
- 返回按钮对齐既有规范(64rpx 圆形底 + 38rpx 图标)
- 回归 97 套件/674 用例全绿(theme-consistency.spec.ts 增加导航规范断言)
这个提交包含在:
xcbyy
2026-10-19 15:42:18 +08:00
父节点 ae569d0ca6
当前提交 a1e3a137b6
共有 3 个文件被更改,包括 83 次插入 和 37 次删除

查看文件

@@ -34,6 +34,17 @@ describe('第八十一批主题一致性闸门', () => {
expect(workspace).toContain('var(--text-primary');
});
it('新页面导航栏遵循统一规范(总高=安全区,内容行贴底对齐胶囊,标题绝对居中)', () => {
for (const page of [coupons, notifications]) {
expect(page).toContain('height: var(--safe-header-gap');
expect(page).toContain('position: absolute;');
expect(page).toContain('bottom: 0;');
expect(page).toContain('height: var(--capsule-height');
expect(page).toContain('transform: translateX(-50%)');
expect(page).toContain('flex-direction: column');
}
});
it('全局主题变量在 App.vue 中按主题定义', () => {
const app = read('pwuniapp/App.vue');
expect(app).toContain(':root, page {');