---
comet_change: refine-weapp-ui-style
role: technical-design
canonical_spec: openspec
archived-with: 2026-06-26-refine-weapp-ui-style
status: final
---

# 清道夫 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-opacity` 或 `active: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.5`、`max-h-[80vh]` 等类 |
| uni-card 组件自带样式冲突 | 优先通过外层容器覆盖，必要时改用自定义 view |
| 全站改动范围广导致视觉回归 | 按页面模块分任务，每个任务后运行 build 检查 |

## 测试策略

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