--- 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 - 间距比例: 4px, 8px, 12px, 16px, 24px, 32px (8px 基础网格) - 圆角半径: 12px (卡片), 16px (对话框), 24px (药丸/标签), 8px (按钮) - 卡片阴影: `0 2px 12px rgba(0,0,0,0.08)` 用于突出表面 **避免 AI 设计痕迹:** - 不要使用通用的 "Dashboard" 占位符文本 - 不要使用图库照片或 Lorem Ipsum - 不要使用过饱和的主色 (#007AFF, 不是 #0088FF) - 不要使用生硬的阴影或渐变 - 不要使用 Comic Sans, Papyrus 或装饰性字体 - 使用代码库中的真实中文业务术语 ### 2. 统一色彩系统 (基于实际 v2.pen 日历设计) **亮色主题:** ```css /* 背景色 - 基于实际设计 */ --background-page: #FFFFFF /* 页面背景 (Calendar frame fill) */ --background-card: #F6F7F8 /* 卡片背景 (statsCard, tCard fills) */ --background-accent: #F5F5F5 /* 强调背景 (notif button) */ /* 文本色 - 基于实际设计 */ --text-primary: #1A1A1A /* 主文本 (titles, labels) */ --text-secondary: #6B7280 /* 次要文本 (dates, subtitles) */ --text-tertiary: #9CA3AF /* 三级文本 (weekday labels) */ /* 语义色 - 基于实际设计 */ --accent-red: #FF6B6B /* 支出/负数 (expense icon) */ --accent-yellow: #FCD34D /* 警告/中性 (coffee icon) */ --accent-green: #F0FDF4 /* 收入/正数 (badge background) */ --accent-blue: #E0E7FF /* 智能标签 (smart button) */ --accent-warm: #FFFBEB /* 温暖色调 (badge background) */ /* 主操作色 */ --primary: #3B82F6 /* 主色调 (FAB button from Budget Stats) */ /* 边框与分割线 */ --border: #E5E7EB /* 边框颜色 (从设计推断) */ ``` **暗色主题:** ```css /* 背景色 - 基于实际暗色设计 */ --background-page: #09090B /* 页面背景 (Calendar Dark frame) */ --background-card: #18181B /* 卡片背景 (dark statsCard, tCard) */ --background-accent: #27272A /* 强调背景 (dark notif, tCat) */ /* 文本色 - 基于实际暗色设计 */ --text-primary: #F4F4F5 /* 主文本 (dark titles) */ --text-secondary: #A1A1AA /* 次要文本 (dark dates, subtitles) */ --text-tertiary: #71717A /* 三级文本 (dark weekday labels) */ /* 语义色 - 暗色模式适配 */ --accent-red: #FF6B6B /* 保持一致 */ --accent-yellow: #FCD34D /* 保持一致 */ --accent-green: #064E3B /* 深绿 (dark badge) */ --accent-blue: #312E81 /* 深蓝 (dark smart button) */ --accent-warm: #451A03 /* 深暖色 (dark badge) */ /* 主操作色 */ --primary: #3B82F6 /* 保持一致 */ /* 边框与分割线 */ --border: #3F3F46 /* 深色边框 */ ``` **颜色使用规则:** - **页面背景**: 亮色 `#FFFFFF`, 暗色 `#09090B` - **卡片背景**: 亮色 `#F6F7F8`, 暗色 `#18181B` - **主文本**: 亮色 `#1A1A1A`, 暗色 `#F4F4F5` - **次要文本**: 亮色 `#6B7280`, 暗色 `#A1A1AA` - **支出/负数**: `#FF6B6B` (两种模式一致) - **主操作按钮**: `#3B82F6` (两种模式一致) - **圆角**: 12px (小按钮), 16px (卡片), 20px (统计卡片), 22px (图标按钮) - **阴影**: 亮色使用柔和阴影, 暗色使用更深的阴影或无阴影 - **避免**: 纯黑 (#000000) 或纯白 (#FFFFFF) 文本 ### 3. 排版系统 (基于实际 v2.pen 设计) **字体栈:** ```css /* 标题与大标题 - 基于 v2.pen */ font-family: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; /* 正文与界面 - 基于 v2.pen */ font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif; /* 备选: 系统默认 */ font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB', sans-serif; ``` **字号比例 (从实际设计提取):** | 用途 | 字体 | 大小 | 粗细 | 示例 | |------|------|------|------|------| | 大标题数值 | Bricolage Grotesque | 32px | 800 | ¥ 1,248.50 (statsVal) | | 页面标题 | DM Sans | 24px | 500 | 2026年1月 (subtitle) | | 章节标题 | Bricolage Grotesque | 18px | 700 | 每日统计, 交易记录 (titles) | | 正文文本 | DM Sans | 15px | 600 | Lunch, Coffee (交易名称) | | 说明文字 | DM Sans | 13px | 500 | 12:30 PM, Total Spent (标签) | | 微型文字 | DM Sans | 12px | 600 | 一二三四五六日 (星期) | **中文文本规则:** - 使用简体中文 - 真实业务术语: "每日统计" (daily stats), "交易记录" (transactions) - 行高: 1.4-1.6 保证可读性 - 使用真实业务术语,避免 Lorem Ipsum ### 4. 组件库 (基于实际 v2.pen 设计) **卡片 (基于 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 (容器边距) - 间距: 16px (章节之间) 头部区域: - 内边距: 8px 24px - 布局: 水平, 两端对齐 - 对齐项: 居中 内容区域: - 内边距: 24px - 间距: 12-16px - 布局: 垂直 ``` ### 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; } ``` **重要:** 项目中所有视图都采用此模式,使导航栏背景透明,与页面背景融合。实现此效果时,请确保: - 页面容器有明确的背景色 (亮色: #FFFFFF, 暗色: #09090B) - 导航栏始终使用 `:deep(.van-nav-bar)` 选择器 - 必须添加 `!important` 覆盖 Vant 默认样式 - 在 `