现状 · 符号空态
+当前 ∅ 实现
+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 @@ + + +
+ + +对齐三墙 Token(品牌绿 #0a9f6d)。选定后将统一到 mobile-h5/components/van-empty,主页 / 列表 / 组件演示页共用。
当前 ∅ 实现
+对齐 vant Demo 组件区
+圆角图标底板
+辅助色圆环
+列表矮空态变体
+van-empty 一处,主页 / demo 列表 / 组件页自动一致。
+