From 169781a7023ab3436d42ef9659645b6bb1e0bc0a Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Mon, 10 Aug 2026 15:34:24 +0800 Subject: [PATCH] docs: add mobile-h5 empty state design (scheme B) Record the dashed soft-card empty state as the global van-empty default, with a visual demo for review. Co-authored-by: Cursor --- ...2026-08-10-mobile-h5-empty-state-design.md | 76 ++++ mobile-ui/zkxw-mobile-empty-state-demo.html | 373 ++++++++++++++++++ 2 files changed, 449 insertions(+) create mode 100644 docs/superpowers/specs/2026-08-10-mobile-h5-empty-state-design.md create mode 100644 mobile-ui/zkxw-mobile-empty-state-demo.html diff --git a/docs/superpowers/specs/2026-08-10-mobile-h5-empty-state-design.md b/docs/superpowers/specs/2026-08-10-mobile-h5-empty-state-design.md new file mode 100644 index 00000000..f8c89b3e --- /dev/null +++ b/docs/superpowers/specs/2026-08-10-mobile-h5-empty-state-design.md @@ -0,0 +1,76 @@ +# mobile-h5 全局空态(Empty State)设计 + +**日期:** 2026-08-10 +**范围:** `mobile-h5` 空态组件视觉统一 +**选定方案:** B(虚线软卡) +**参考 Demo:** `mobile-ui/zkxw-mobile-empty-state-demo.html`(方案 B) + +## 背景 + +主页功能菜单清空后,`VanEmpty` 当前以「∅ + 灰色文案」展示,视觉偏弱且与三墙 Demo / `zkxw-mobile-vant-ui-demo` 中的空态风格不一致。需统一全局空态样式。 + +## 目标 + +- 全局默认空态采用方案 B:薄荷绿渐变虚线框 + 圆形插画 + 主文案(+ 可选副文案) +- 所有使用 `van-empty` / `VanEmpty` 的页面样式一致 +- 仅改组件实现,业务文案由调用方传入 + +## 非目标 + +- 不引入方案 E(横向紧凑)变体(后续如需再开) +- 不改业务文案含义(如「暂无可用菜单权限」仍由页面传入) +- 不引入真实 Vant Weapp 依赖;继续使用 H5 shim 组件 + +## 视觉规格(方案 B) + +| 项 | 值 | +|----|-----| +| 容器背景 | `linear-gradient(165deg, #eef9f3 0%, #ffffff 55%)` | +| 边框 | `1.5px` / `3rpx` 虚线 `#b7e5d0` | +| 圆角 | 约 `14px` / `28rpx`(对齐卡片节奏) | +| 插画区 | 圆形,径向渐变 `#fff → #d8f3e7`,内嵌 inbox SVG,描边 `#0a9f6d` | +| 主文案 | `26rpx`,颜色 `#5d746a` | +| 副文案(可选) | `22rpx`,颜色 `#8aa198`,居中 | +| 内边距 | 约 `44rpx 28rpx 40rpx` | +| Token | 三墙绿链,禁止使用管理端 `#10b981` | + +## 组件 API + +文件:`mobile-h5/components/van-empty/van-empty.vue` + +| Prop | 类型 | 默认 | 说明 | +|------|------|------|------| +| `description` | String | `''`(展示时回落「暂无数据」) | 主文案 | +| `tip` | String | `''` | 副文案;空则不渲染 | + +结构: + +``` +.v-empty + .v-empty__card + .v-empty__blob(inbox SVG) + .v-empty__desc + .v-empty__tip(v-if tip) +``` + +## 调用约定 + +| 页面 | 用法 | +|------|------| +| `pages/index/index.vue` | `description="暂无可用菜单权限"`,可选 `tip="请联系管理员开通功能入口"` | +| `pages/demo/list.vue` | `description="暂无数据"` | +| `pages/demo/comps.vue` | `description="暂无相关数据"`,可带 tip 演示副文案 | + +样式只维护在 `van-empty.vue`(scoped);不在各页面覆盖空态视觉。 + +## 验收 + +1. 主页无菜单时显示方案 B 样式,非 ∅ 符号 +2. demo 列表空数据、组件演示页空态与主页视觉一致 +3. 色值符合三墙 Token;无管理端薄荷绿混用 +4. 未传 `tip` 时不出现空白副文案占位 + +## 参考 + +- Demo 对比页:`mobile-ui/zkxw-mobile-empty-state-demo.html` +- 既有 Demo 组件区:`mobile-ui/zkxw-mobile-vant-ui-demo.html`(`.comp-empty-box`) diff --git a/mobile-ui/zkxw-mobile-empty-state-demo.html b/mobile-ui/zkxw-mobile-empty-state-demo.html new file mode 100644 index 00000000..df5846e8 --- /dev/null +++ b/mobile-ui/zkxw-mobile-empty-state-demo.html @@ -0,0 +1,373 @@ + + + + + + 中科兴皖 · 空态 Empty State UI Demo + + + +
+
+

空态 Empty State · 方案对比

+

对齐三墙 Token(品牌绿 #0a9f6d)。选定后将统一到 mobile-h5/components/van-empty,主页 / 列表 / 组件演示页共用。

+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+
+ A +
+

现状 · 符号空态

+

当前 ∅ 实现

+
+
+
+
+
中科兴皖 · 移动工作台
+
功能菜单
+
+
+
功能菜单共 0 项
+
+
∅
+
暂无可用菜单权限
+
+
+
+
简洁但偏弱,辨识度一般,不建议作为全局定稿。
+
+ + +
+
+ B +
+

虚线软卡 · 推荐

+

对齐 vant Demo 组件区

+
+
+
+
+
中科兴皖 · 移动工作台
+
功能菜单
+
+
+
功能菜单共 0 项
+
+
+
暂无可用菜单权限
+
请联系管理员开通功能入口
+
+
+
+
薄荷绿渐变虚线框 + 圆形插画 + 主副文案,适合作为全局默认空态。
+
+ + +
+
+ C +
+

极简徽章

+

圆角图标底板

+
+
+
+
+
中科兴皖 · 移动工作台
+
功能菜单
+
+
+
功能菜单共 0 项
+
+
+
暂无可用菜单权限
+
+
+
+
留白多、视觉轻;适合卡片内嵌,副文案可选。
+
+ + +
+
+ D +
+

大麦黄点缀

+

辅助色圆环

+
+
+
+
+
中科兴皖 · 移动工作台
+
功能菜单
+
+
+
功能菜单共 0 项
+
+
+
暂无可用菜单权限
+
当前角色暂无功能入口
+
+
+
+
更醒目,适合「权限不足 / 需关注」类提示;日常空列表可能略抢眼。
+
+ + +
+
+ E +
+

横向紧凑

+

列表矮空态变体

+
+
+
+
+
中科兴皖 · 移动工作台
+
待办列表
+
+
+
待办列表0 条
+
+
+
+
暂无数据
+
可下拉刷新或调整筛选条件
+
+
+
+
+
图标与文案横排,适合列表矮区域;可与 B/C 主样式通过 layout 属性切换。
+
+
+ +
+ 建议:全局默认选 B 或 C;列表矮场景可加 E 作为变体。 + 选定后改 van-empty 一处,主页 / demo 列表 / 组件页自动一致。 +
+
+ +