2026-06-25-refine-weapp-ui-style-design.md 4.0 KB


comet_change: refine-weapp-ui-style role: technical-design

canonical_spec: openspec

清道夫 App 全站样式体验优化设计文档

设计目标

在不动业务逻辑和胶囊安全布局的前提下,借鉴 V21-SOP 原型提升小程序视觉品质与交互流畅度。核心方向:统一卡片/按钮/标签视觉语言、增强首页头部品牌感、强化任务状态识别、增加点击反馈。

关键设计决策

1. 首页头部统一渐变背景

  • 销售/调度/施工三端首页顶部均使用 bg-gradient-to-r from-blue-500 to-blue-600
  • 顶部文字(欢迎语、用户名、标题)反白显示。
  • 通知铃铛按钮使用半透明白色背景 bg-white/20,与渐变头部融合。
  • 状态栏高度仍由 StatusBar 组件计算,渐变背景从状态栏下方开始或覆盖整个顶部区域(视组件结构而定)。

2. 卡片统一为 rounded-xl + shadow-sm

  • 所有内容卡片、列表容器统一使用 bg-white rounded-xl shadow-sm
  • 页面section间距保持 gap-y-4(16px)。
  • 卡片内边距保持 p-4(16px)。

3. 统计卡片使用渐变

  • 销售端三个统计卡片分别使用蓝紫、粉紫、青蓝渐变。
  • 调度端/施工端统计卡片使用统一渐变或品牌色渐变,数字反白显示。
  • 渐变使用内联 style="background: linear-gradient(...)",避免 Tailwind 配置扩展。

4. 状态标签与按钮统一

  • 状态标签:bg-*-50 text-*-500 rounded px-2 py-0.5 text-xs
    • 蓝色:进行中/已排班
    • 绿色:已完成
    • 橙色:待处理/待确认
    • 红色:紧急/已取消
  • 主按钮:bg-primary text-white rounded-xl py-3
  • 次要按钮:bg-white border border-gray-200 text-gray-600 rounded-xl

5. 任务卡片状态增强

  • 应急任务:border-l-4 border-red-500
  • 已完成:bg-green-50
  • 进行中:保持白色背景 + 蓝色状态标签。
  • 卡片整体增加 active:scale-95 transition-transform

6. 排班日历卡片化

  • 日历整体容器使用 bg-white rounded-xl shadow-sm p-4
  • 选中日期:bg-primary text-white rounded-lg
  • 今天未选中:bg-blue-50 text-primary rounded-lg
  • 有排班标记点:w-1.5 h-1.5 rounded-full bg-primary(不使用 Tailwind 小数类时改用 w-2 h-2)。

7. 我的页深蓝渐变头部

  • 顶部使用 bg-gradient-to-br from-blue-900 to-blue-800
  • 头像容器:bg-white/20 rounded-full
  • 功能列表:bg-white rounded-xl shadow-sm,列表项带右侧箭头。
  • 退出登录:bg-red-500 text-white rounded-xl

8. 点击/按压反馈

  • 卡片、列表项:active:scale-95 transition-transform duration-150
  • 按钮:active:opacity-80 transition-opacityactive:bg-*-600
  • 快捷入口图标:active:scale-95

affected files

  • src/components/common/TopBar.vue — 支持渐变背景模式
  • src/components/common/StatusTag.vue — 统一配色
  • src/components/home/SalesHome.vue
  • src/components/home/DispatchHome.vue
  • src/components/home/ConstructionHome.vue
  • src/components/task/TaskListView.vue
  • src/components/task/SalesTaskCard.vue
  • src/components/task/DispatchTaskCard.vue
  • src/components/task/ConstructionTaskCard.vue
  • src/components/dispatch/ScheduleView.vue
  • src/components/my/ProfileView.vue

风险与缓解

风险 缓解
渐变背景与自定义导航栏高度配合不当 仅替换 TopBar 背景类,不改动高度计算逻辑
Tailwind 任意值/小数类导致 WXSS 编译失败 特殊尺寸使用内联 style,禁用 w-1.5max-h-[80vh] 等类
uni-card 组件自带样式冲突 优先通过外层容器覆盖,必要时改用自定义 view
全站改动范围广导致视觉回归 按页面模块分任务,每个任务后运行 build 检查

测试策略

  • npm run type-check 无 TS 错误。
  • npm run build:mp-weixin 构建通过,WXSS 无转义选择器。
  • 微信开发者工具预览三端首页、任务页、排班页、我的页,确认视觉层次与交互反馈。