diff --git a/components/AppTabbar.vue b/components/AppTabbar.vue index 2bc77e7..4315cec 100644 --- a/components/AppTabbar.vue +++ b/components/AppTabbar.vue @@ -29,7 +29,7 @@ const switchTab = (item) => { left: 0; z-index: 20; display: flex; - height: 128rpx; + height: 112rpx; padding-bottom: env(safe-area-inset-bottom); box-sizing: content-box; border-top: 1rpx solid $gold-soft; @@ -38,24 +38,24 @@ const switchTab = (item) => { .tab-item { display: flex; - min-height: 96rpx; + min-height: 88rpx; flex: 1; flex-direction: column; align-items: center; justify-content: center; - padding: 10rpx 0 8rpx; + padding: 4rpx 0; box-sizing: border-box; } .tab-icon { - width: 56rpx; - height: 56rpx; - margin-bottom: 5rpx; + width: 64rpx; + height: 64rpx; + margin-bottom: 2rpx; } .tab-label { color: $ink-muted; - font-size: 28rpx; + font-size: 30rpx; letter-spacing: 2rpx; line-height: 1.2; } diff --git a/components/PageHeader.vue b/components/PageHeader.vue index f1c3212..a0109b7 100644 --- a/components/PageHeader.vue +++ b/components/PageHeader.vue @@ -47,7 +47,7 @@ const goBack = () => uni.navigateBack() .page-header--root { position: relative; z-index: 3; - height: 184rpx; + height: 164rpx; padding-top: env(safe-area-inset-top); background-color: #b52e22; overflow: hidden; @@ -67,12 +67,12 @@ const goBack = () => uni.navigateBack() .header-hall { position: absolute; - bottom: -8rpx; - left: -34rpx; + bottom: -2rpx; + left: -48rpx; z-index: 1; - width: 368rpx; - height: 147rpx; - opacity: .16; + width: 476rpx; + height: 166rpx; + opacity: .29; pointer-events: none; } @@ -139,14 +139,14 @@ const goBack = () => uni.navigateBack() font-family: 'STKaiti', 'KaiTi', serif; font-size: 48rpx; letter-spacing: 5rpx; - transform: translateY(8rpx); + transform: translateY(2rpx); } .page-header--root .header-logo { - width: 88rpx; - height: 88rpx; - transform: translate(-8rpx, -12rpx); + width: 80rpx; + height: 80rpx; + transform: translate(-6rpx, -6rpx); } -.page-header--root .header-notice { transform: translateY(10rpx); } +.page-header--root .header-notice { transform: translateY(4rpx); } diff --git a/docs/design/G01_我的家谱_设计记录.md b/docs/design/G01_我的家谱_设计记录.md index d25b760..c57283e 100644 --- a/docs/design/G01_我的家谱_设计记录.md +++ b/docs/design/G01_我的家谱_设计记录.md @@ -104,3 +104,12 @@ - 当前题签恢复标题与元信息之间的细金线;短字段确保 430px 验收宽度内三组元信息同一行显示。 - 列表谱印固定为竖排“家谱”;右侧角色与箭头改为同一水平基线;“更新于”保留为文本,移除参考稿中不存在的日历图标和对应闲置资产。 - 新增字段/基线契约先失败后通过。完整验证再次通过:G-01 视觉契约、PNG 透明角审计、编译审计、SCSS 注入审计、Vue 3 入口审计。仍待用户提供 HBuilderX 新截图完成视觉验收。 + +## 2026-07-13 第七轮结构、屋檐与祥云校正 + +- 当前家谱题签由“谱印 + 右侧文案列”改为两层结构:上层为谱印和名称,下层为金线分隔后的地点、成员数、管理员三组元信息;三组元信息不再受谱印列宽挤压。 +- 家谱列表由独立的左侧内容列与右侧操作列改为单一主内容区:第一行是标题、角色与箭头,第二行是地点、成员数与“更新于”日期;`320px` 宽度仅隐藏日期,保留其余信息。 +- 根页头收窄至 `164rpx`;放大并提高现有祠堂屋檐线稿的可见度,保持其位于 Logo 和标题之后。Tabbar 容器收窄,图标和标签同步提升视觉重量。 +- 内容左右边距收至 `32rpx`,快捷入口到列表的无效留白减少;山水竹影扩展至两条列表和新建按钮后方,仍低于所有文字和操作层。 +- `action/create-cloud-v1.png` 已由独立透明 PNG `action/create-cloud-v2.png` 替换;v2 使用项目生成的古金线描祥云,四角透明且有效图形审计通过,旧资产已移除。 +- 已通过:更新后的 G-01 视觉契约、PNG 透明审计和编译审计。仍待 HBuilderX 的 `360 × 800`、`320 × 568` 截图与 v5 参考稿并排确认,G-01 不标记为设计完成。 diff --git a/docs/规划.md b/docs/规划.md index 47874d1..85de7ca 100644 --- a/docs/规划.md +++ b/docs/规划.md @@ -97,7 +97,7 @@ ### 5.3 家谱:创建、加入与管理入口 -- [x] G-01 信息层级与谱印施工:元信息图标、谱印框、快捷入口、列表双层信息和新建云纹已实现并通过资产/编译审计;待 HBuilderX 同尺寸截图验收,故完整 G-01 仍未勾选。 +- [x] G-01 信息层级与谱印施工:元信息图标、谱印框、快捷入口、当前题签两层结构、列表两行信息、页头屋檐、紧凑 Tabbar 与新建祥云 v2 已实现并通过资产/编译审计;待 HBuilderX 同尺寸截图验收,故完整 G-01 仍未勾选。 - [ ] G-01 我的家谱列表(已创建、已加入、搜索入口、通知入口)。 - [ ] G-02 无家谱空状态(创建家谱 / 搜索加入)。 - [ ] G-03 创建家谱表单(名称、地域、简介、公开范围)。