--- name: pancli-design description: 专业的设计技能,用于使用 pancli (pencil tools) 创建现代化、一致的 EmailBill 移动端 UI 设计 license: MIT compatibility: Requires pencil_* tools (batch_design, batch_get, etc.) metadata: author: EmailBill Design Team version: "2.0.0" generatedBy: opencode lastUpdated: "2026-02-03" source: ".pans/v2.pen 日历设计 (亮色/暗色)" --- # pancli-design - EmailBill UI 设计系统 > 专业的设计技能,用于使用 pancli (pencil tools) 创建现代化、一致的移动端 UI 设计。 ## 何时使用此技能 **总是使用此技能当:** - 使用 pancli 创建新的 UI 界面或组件 - 修改现有的 .pen 设计文件 - 处理亮色/暗色主题设计 - 为 EmailBill 项目设计移动端优先的界面 **触发条件:** - 用户提到 "画设计图"、"设计"、"UI"、"界面"、"pancli"、".pen" - 任务涉及 `pencil_*` 工具 - 创建视觉原型或模型 ## 核心设计原则 ### 1. 现代移动端优先设计 **核心规范:** - 移动视口: 375px 宽度 (iPhone SE 基准) - 安全区域: 尊重 iOS/Android 安全区域边距 - 交互元素最小触摸目标: 44x44px - 间距基于 8px 网格: 4px, 8px, 12px, 16px, 24px, 32px - 卡片阴影: `0 2px 12px rgba(0,0,0,0.08)` (亮色模式) **反 AI 设计痕迹检查清单:** - ❌ 使用 "Dashboard", "Lorem Ipsum" 等通用占位符 - ❌ 使用过饱和的颜色或生硬的渐变 - ❌ 使用装饰性字体 (Comic Sans, Papyrus) - ✅ 使用代码库中的真实中文业务术语 - ✅ 使用克制的配色和柔和的阴影 - ✅ 使用专业的系统字体 ### 2. 统一色彩系统 **色彩分层:** - **背景层**: 页面背景 → 卡片背景 → 强调背景 (三层递进) - **文本层**: 主文本 → 次要文本 → 三级文本 (三级层次) - **语义色**: 红色(支出/危险) → 黄色(警告) → 绿色(收入/成功) → 蓝色(主操作/信息) **颜色使用规则:** - 始终使用语义颜色变量,避免硬编码十六进制值 - 支出/负数统一使用红色 `#FF6B6B`,收入/正数使用绿色系 - 主操作按钮统一使用蓝色 `#3B82F6` - 避免纯黑 (#000000) 或纯白 (#FFFFFF) 文本,使用柔和的色调 - 暗色模式下减少阴影强度或完全移除 - 详细色值参见文末"快速参考"表格 ### 3. 排版系统 **字体栈:** - **标题**: `'Bricolage Grotesque'` - 用于大数值、章节标题 - **正文**: `'DM Sans'` - 用于界面文本、说明 - **数字**: `'DIN Alternate'` - 用于金额、数据显示 - **备选**: `-apple-system, 'PingFang SC'` - 系统默认字体 **排版原则:** - 使用真实中文业务术语,避免 Lorem Ipsum - 行高: 1.4-1.6 保证可读性 - 数字数据使用等宽字体 (tabular-nums) - 字号遵循比例系统,避免任意数值 - 详细字号比例参见文末"快速参考"表格 ### 4. 组件库 **设计原则:** - 所有尺寸和间距基于 8px 网格系统 - 圆角: 12px (小按钮), 16px/20px (卡片), 22px/28px (圆形按钮) - 交互元素最小触摸目标: 44x44px - 详细组件规格参见文末"快速参考"表格 **卡片设计 (基于 statsCard, tCard):** ``` 统计卡片 (大卡片): - 背景: #F6F7F8 (亮色), #18181B (暗色) - 内边距: 20px - 圆角: 20px - 间距: 12px (元素之间) - 布局: 垂直 交易卡片 (列表卡片): - 背景: #F6F7F8 (亮色), #18181B (暗色) - 内边距: 16px - 圆角: 16px - 间距: 14px (水平元素) - 高度: 自适应内容 ``` **按钮 (基于实际设计):** ``` 图标按钮 (通知按钮): - 尺寸: 44x44px - 圆角: 22px (完全圆形) - 背景: #F5F5F5 (亮色), #27272A (暗色) - 图标大小: 20px 标签按钮: - 内边距: 6px 10px / 6px 12px - 圆角: 12px - 字体: DM Sans 13px/500 - 颜色: - 温暖色: #FFFBEB (亮色), #451A03 (暗色) - 绿色: #F0FDF4 (亮色), #064E3B (暗色) - 蓝色: #E0E7FF (亮色), #312E81 (暗色) 悬浮按钮 (FAB): - 尺寸: 56x56px - 圆角: 28px - 背景: #3B82F6 - 描边: 4px 白色边框 - 阴影: 提升效果 ``` **图标与文字:** ``` 图标容器: - 尺寸: 44x44px - 圆角: 22px - 背景: #FFFFFF (亮色), #27272A (暗色) - 图标: 20px (lucide 字体) - 颜色: #FF6B6B (星标), #FCD34D (咖啡) 章节标题: - 字体: Bricolage Grotesque 18px/700 - 颜色: #1A1A1A (亮色), #F4F4F5 (暗色) 大数值: - 字体: Bricolage Grotesque 32px/800 - 颜色: #1A1A1A (亮色), #F4F4F5 (暗色) ``` **布局模式 (基于 Calendar 结构):** ``` 页面容器: 402px (设计视口), 垂直布局, 24px 内边距 头部区域: 水平布局, 两端对齐, 8px 24px 内边距 内容区域: 垂直布局, 24px 内边距, 12-16px 间距 ``` **关键布局原则:** - 遵循 Flex 容器模式 (见下方"5. 布局模式") - 导航栏背景必须透明 (`:deep(.van-nav-bar) { background: transparent !important; }`) - 尊重安全区域 (`env(safe-area-inset-bottom)`) ### 5. 布局模式 **页面结构 (Flex 容器):** ``` .page-container-flex: - display: flex - flex-direction: column - height: 100% - overflow: hidden 结构: 1. van-nav-bar (固定高度) 2. van-tabs 或 sticky-header 3. scroll-content (flex: 1, overflow-y: auto) 4. bottom-button 或 van-tabbar (固定) ``` **导航栏背景透明化 (项目标准模式):** ```css /* 所有页面统一设置 */ :deep(.van-nav-bar) { background: transparent !important; } ``` **关键要求:** - 页面容器必须有明确的背景色 - 必须使用 `:deep()` 选择器覆盖 Vant 样式 - 必须添加 `!important` 标记 - 在 `