# 微信小程序 VI 设计系统 > 最后更新:2026-03-17 > 适用范围:台球门店小程序前端所有页面 > 面向对象:设计师、前端开发、AI 代码生成 --- ## 📋 目录 1. [任务分类配色](#1-任务分类配色) 2. [客户标签配色](#2-客户标签配色) 3. [关系等级配色](#3-关系等级配色) 4. [置顶/放弃状态](#4-置顶放弃状态) 5. [助教等级配色](#5-助教等级配色) 6. [AI 图标配色系统](#6-ai-图标配色系统) 7. [CSS 变量速查表](#7-css-变量速查表) --- ## 1. 任务分类配色 ### 1.1 四种任务类型 | 任务类型 | 优先级 | 边框色 | 标签渐变色 | 用途 | |---------|--------|--------|-----------|------| | 高优先召回 | 0 | `#dc2626` | `#b91c1c → #dc2626` | max(WBI,NCI) > 7 | | 优先召回 | 0 | `#f97316` | `#ea580c → #f97316` | max(WBI,NCI) > 5 | | 客户回访 | 1 | `#14b8a6` | `#0d9488 → #14b8a6` | 完成召回后未备注 | | 关系构建 | 2 | `#f472b6` | `#ec4899 → #f472b6` | RS < 6 | ### 1.2 WXSS 类名映射 ```css /* 卡片边框 */ .task-card--high_priority { border-left-color: #dc2626; } .task-card--priority_recall { border-left-color: #f97316; } .task-card--callback { border-left-color: #14b8a6; } .task-card--relationship { border-left-color: #f472b6; } /* 标签渐变 */ .task-type-tag--high_priority { background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%); } .task-type-tag--priority_recall { background: linear-gradient(135deg, #ea580c 0%, #f97316 100%); } .task-type-tag--callback { background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%); } .task-type-tag--relationship { background: linear-gradient(135deg, #ec4899 0%, #f472b6 100%); } ``` ### 1.3 TypeScript 常量 ```typescript export const TASK_TYPE_COLORS = { high_priority: { borderColor: '#dc2626', gradientFrom: '#b91c1c', gradientTo: '#dc2626', label: '高优先召回', }, priority_recall: { borderColor: '#f97316', gradientFrom: '#ea580c', gradientTo: '#f97316', label: '优先召回', }, callback: { borderColor: '#14b8a6', gradientFrom: '#0d9488', gradientTo: '#14b8a6', label: '客户回访', }, relationship: { borderColor: '#f472b6', gradientFrom: '#ec4899', gradientTo: '#f472b6', label: '关系构建', }, }; ``` --- ## 2. 客户标签配色 ### 2.1 六种客户分类标签 | 标签名 | 字体色 | 背景色 | 心理学依据 | 用途 | |--------|--------|--------|-----------|------| | 客户基础 | `#0052d9` | `#ecf2fe` | 蓝色 - 信任、基础信息 | 基本信息、生日、性别等 | | 消费习惯 | `#00a870` | `#e6f7f0` | 绿色 - 增长、消费行为 | 消费频率、金额、时段 | | 玩法偏好 | `#ed7b2f` | `#fff3e6` | 橙色 - 活力、娱乐偏好 | 游戏类型、时长偏好 | | 促销偏好 | `#d4a017` | `#fffbeb` | 金色 - 价值、优惠敏感度 | 对促销活动的反应 | | 社交关系 | `#764ba2` | `#f3e8ff` | 紫色 - 社交、人脉关系 | 推荐、介绍、社交属性 | | 重要反馈 | `#e34d59` | `#ffe6e8` | 红色 - 警示、关键信息 | 投诉、建议、重要反馈 | ### 2.2 WXSS 类名映射 ```css .clue-tag-primary { background: rgba(0, 82, 217, 0.1); color: #0052d9; } .clue-tag-success { background: rgba(0, 168, 112, 0.1); color: #00a870; } .clue-tag-orange { background: rgba(237, 123, 47, 0.1); color: #ed7b2f; } .clue-tag-gold { background: rgba(212, 160, 23, 0.1); color: #d4a017; } .clue-tag-purple { background: rgba(118, 75, 162, 0.1); color: #764ba2; } .clue-tag-error { background: rgba(227, 77, 89, 0.1); color: #e34d59; } ``` --- ## 3. 关系等级配色 ### 3.1 四个关系等级 | 关系等级 | 爱心Icon | 分数范围 | 背景渐变 | 文字色 | 用途 | |---------|---------|---------|---------|--------|------| | 很好(非常好) | 💖 | > 8.5 | `#e91e63 → #f472b6` | `#fff` | 优质客户 | | 良好 | 🧡 | 6-8.5 | `#ea580c → #fb923c` | `#fff` | 稳定客户 | | 一般 | 💛 | 3.5-6 | `#eab308 → #fbbf24` | `#fff` | 普通客户 | | 待发展 | 💙 | < 3.5 | `#64748b → #94a3b8` | `#fff` | 需维护客户 | ### 3.2 WXSS 类名映射 ```css .rel-level-excellent { background: linear-gradient(135deg, #e91e63, #f472b6); box-shadow: 0 4rpx 12rpx rgba(233,30,99,0.30); } .rel-level-good { background: linear-gradient(135deg, #ea580c, #fb923c); box-shadow: 0 4rpx 12rpx rgba(234,88,12,0.30); } .rel-level-normal { background: linear-gradient(135deg, #eab308, #fbbf24); box-shadow: 0 4rpx 12rpx rgba(234,179,8,0.30); } .rel-level-poor { background: linear-gradient(135deg, #64748b, #94a3b8); box-shadow: 0 4rpx 12rpx rgba(100,116,139,0.30); } ``` --- ## 4. 置顶/放弃状态 ### 4.1 置顶状态 **视觉处理**:金色边框光晕效果 ```css .task-card--pinned { box-shadow: 0 5rpx 7rpx rgba(245, 158, 11, 0.12), 0 0 0 8rpx rgba(245, 158, 11, 0.08); } ``` **颜色值**: - 光晕色:`#f59e0b`(琥珀色) - 透明度:12% + 8% ### 4.2 放弃状态 **视觉处理**:灰化 + 降低透明度 ```css .task-card--abandoned { border-left-color: #d1d5db !important; opacity: 0.55; } .task-type-tag--abandoned { background: #d1d5db !important; } .customer-name--abandoned { color: #9ca3af; } ``` **颜色值**: - 边框色:`#d1d5db`(灰色) - 文字色:`#9ca3af`(浅灰) - 透明度:55% --- ## 5. 助教等级配色 ### 5.1 四级 + 星级 | 等级 | 字体色 | 背景色 | 说明 | |------|--------|--------|------| | 初级 | `#0052d9` | `#ecf2fe` | 蓝色 - 信任、基础 | | 中级 | `#ed7b2f` | `#fff3e6` | 橙色 - 活力、进阶 | | 高级 | `#e91e63` | `#ffe6e8` | 粉色 - 优雅、资深 | | ⭐ 星级 | `#fbbf24` | `#fffef0` | 金黄色 - 价值、顶级 | ### 5.2 WXSS 类名映射 ```css .coach-level-junior { color: #0052d9; background: #ecf2fe; } .coach-level-middle { color: #ed7b2f; background: #fff3e6; } .coach-level-senior { color: #e91e63; background: #ffe6e8; } .coach-level-star { color: #fbbf24; background: #fffef0; } ``` --- ## 6. AI 图标配色系统 ### 6.1 概览 AI 图标系统包含 **2 个标准组件** × **6 种配色**,共 12 种组合。 | 组件 | 路径 | 用途 | 图标文件 | |------|------|------|----------| | `ai-inline-icon` | `/components/ai-inline-icon/` | 卡片行首小图标(30rpx 容器) | `ai-robot-inline.svg` | | `ai-title-badge` | `/components/ai-title-badge/` | 标题行右侧徽章(胶囊形态) | `ai-robot-sm.svg` | ### 6.2 六种配色 | 配色名 | 主色 | 浅色 | 深色 | 用途 | |--------|------|------|------|------| | Red | `#e74c3c` | `#f39c9c` | `#c0392b` | 警示、重要 | | Orange | `#e67e22` | `#f5c77e` | `#ca6c17` | 活力、推荐 | | Yellow | `#d4a017` | `#f7dc6f` | `#b8860b` | 价值、优化 | | Blue | `#2980b9` | `#7ec8e3` | `#1a5276` | 信息、分析 | | Indigo | `#667eea` | `#a78bfa` | `#4a5fc7` | 默认、通用 | | Purple | `#764ba2` | `#c084fc` | `#5b3080` | 创意、特殊 | ### 6.3 组件注册 在页面的 `.json` 文件中按需注册: ```json { "usingComponents": { "ai-inline-icon": "/components/ai-inline-icon/ai-inline-icon", "ai-title-badge": "/components/ai-title-badge/ai-title-badge" } } ``` ### 6.4 ai-inline-icon(行首嵌入小图标) **外观**: - 尺寸:30rpx × 30rpx,圆角 6rpx - 背景:淡色渐变(主色 ~8% 透明度) - 内部图标:`ai-robot-inline.svg`(白色机身) - 动效:微光扫过(12s 周期) **WXML 用法**: ```wxml ``` **属性**: | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `color` | String | `indigo` | 配色:`red` \| `orange` \| `yellow` \| `blue` \| `indigo` \| `purple` | ### 6.5 ai-title-badge(标题行 AI 徽章) **外观**: - 形态:胶囊,`padding: 4rpx 14rpx 4rpx 6rpx`,圆角 18rpx - 背景:主色 ~8% 透明度渐变 + 主色 35% 边框 - 文字:深色主色,20rpx,font-weight 500 - 动效:呼吸脉冲(3s)+ 高光扫过(14s) **WXML 用法**: ```wxml ``` **属性**: | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `color` | String | `indigo` | 配色:`red` \| `orange` \| `yellow` \| `blue` \| `indigo` \| `purple` | | `label` | String | `AI智能洞察` | 徽章文字 | ### 6.6 页面随机配色方案(推荐) 每个页面在 `onLoad` 时随机选取一种配色,全页所有 AI 图标统一使用同一配色。 **TS 实现**: ```typescript const AI_COLORS = ['red', 'orange', 'yellow', 'blue', 'indigo', 'purple'] as const type AiColor = typeof AI_COLORS[number] Page({ data: { aiColor: 'indigo' as AiColor, }, onLoad() { const aiColor = AI_COLORS[Math.floor(Math.random() * AI_COLORS.length)] this.setData({ aiColor }) }, }) ``` **WXML 绑定**: ```wxml ``` ### 6.7 各页面配色建议(可选固定配色) 如不使用随机方案,可按以下建议固定配色: | 页面 | 建议配色 | 原因 | |------|---------|------| | `task-list` | 随机 | 每日新鲜感 | | `task-detail` | `indigo` | 通用默认 | | `task-detail-callback` | `orange` | 与 banner 主题色呼应 | | `task-detail-relationship` | `purple` | 与 banner 粉色系呼应 | | `performance` | `blue` | 数据分析感 | | `customer-detail` | `yellow` | 黑金页面,黄色点缀 | | `coach-detail` | `red` | coral banner 配红色 AI | --- ## 7. CSS 变量速查表 ### 7.1 全局颜色变量(app.wxss) ```css page { /* 主色系 */ --color-primary: #0052d9; --color-primary-light: #ecf2fe; --color-success: #00a870; --color-warning: #ed7b2f; --color-error: #e34d59; /* 灰度系(13级) */ --color-gray-1: #f3f3f3; --color-gray-2: #eeeeee; --color-gray-3: #e7e7e7; --color-gray-4: #dcdcdc; --color-gray-5: #c5c5c5; --color-gray-6: #a6a6a6; --color-gray-7: #8b8b8b; --color-gray-8: #777777; --color-gray-9: #5e5e5e; --color-gray-10: #4b4b4b; --color-gray-11: #393939; --color-gray-12: #2c2c2c; --color-gray-13: #242424; } ``` ### 7.2 快速查询 **任务类型边框色**: - 高优先召回:`#dc2626` - 优先召回:`#f97316` - 客户回访:`#14b8a6` - 关系构建:`#f472b6` **客户标签字体色**: - 客户基础:`#0052d9` - 消费习惯:`#00a870` - 玩法偏好:`#ed7b2f` - 促销偏好:`#d4a017` - 社交关系:`#764ba2` - 重要反馈:`#e34d59` **关系等级渐变**: - 很好:`#e91e63 → #f472b6` - 良好:`#ea580c → #fb923c` - 一般:`#eab308 → #fbbf24` - 待发展:`#64748b → #94a3b8` **助教等级**: - 初级:`#0052d9` / `#ecf2fe` - 中级:`#ed7b2f` / `#fff3e6` - 高级:`#e91e63` / `#ffe6e8` - ⭐ 星级:`#fbbf24` / `#fffef0` --- ## 8. 头像颜色系统 ### 8.1 概览 所有客户头像、助教头像统一使用本色板,共 **24 种**渐变色。 全局 WXSS 类名格式:`.avatar-{key}`,定义在 `app.wxss`。 TS 工具函数:`nameToAvatarColor(name)` 位于 `utils/avatar-color.ts`。 ### 8.2 24 色标准色板 | Key | 渐变起点 | 渐变终点 | 视觉风格 | |-----|---------|---------|--------| | `blue` | `#60a5fa` | `#3b82f6` | 经典蓝 | | `indigo` | `#818cf8` | `#4f46e5` | 靛蓝 | | `violet` | `#a78bfa` | `#7c3aed` | 紫罗兰 | | `purple` | `#c084fc` | `#9333ea` | 紫色 | | `fuchsia` | `#bd58c8` | `#7a1486` | 紫红 | | `pink` | `#d44d96` | `#b83077` | 粉色 | | `rose` | `#d05060` | `#aa1535` | 玫瑰红 | | `red` | `#c85050` | `#a81c1c` | 红色 | | `orange` | `#cc6e22` | `#b04208` | 橙色 | | `amber` | `#fbbf24` | `#d97706` | 琥珀 | | `yellow` | `#facc15` | `#ca8a04` | 黄色 | | `lime` | `#a3e635` | `#65a30d` | 黄绿 | | `green` | `#4ade80` | `#16a34a` | 绿色 | | `emerald` | `#34d399` | `#059669` | 翡翠绿 | | `teal` | `#2dd4bf` | `#0d9488` | 青绿 | | `cyan` | `#22d3ee` | `#0891b2` | 青色 | | `sky` | `#38bdf8` | `#0284c7` | 天蓝 | | `slate` | `#94a3b8` | `#475569` | 石板灰 | | `coral` | `#cc6245` | `#ad3512` | 珊瑚 | | `mint` | `#67e8f9` | `#0891b2` | 薄荷 | | `lavender` | `#c4b5fd` | `#7c3aed` | 薰衣草 | | `gold` | `#fcd34d` | `#b45309` | 金色 | | `crimson` | `#c42844` | `#750d28` | 深红 | | `ocean` | `#38bdf8` | `#1d4ed8` | 海洋蓝 | ### 8.3 WXSS 类名(全局,定义在 app.wxss) ```css .avatar-blue { background: linear-gradient(135deg, #60a5fa, #3b82f6); } .avatar-indigo { background: linear-gradient(135deg, #818cf8, #4f46e5); } .avatar-violet { background: linear-gradient(135deg, #a78bfa, #7c3aed); } .avatar-purple { background: linear-gradient(135deg, #c084fc, #9333ea); } .avatar-fuchsia { background: linear-gradient(135deg, #bd58c8, #7a1486); } .avatar-pink { background: linear-gradient(135deg, #d44d96, #b83077); } .avatar-rose { background: linear-gradient(135deg, #d05060, #aa1535); } .avatar-red { background: linear-gradient(135deg, #c85050, #a81c1c); } .avatar-orange { background: linear-gradient(135deg, #cc6e22, #b04208); } .avatar-amber { background: linear-gradient(135deg, #fbbf24, #d97706); } .avatar-yellow { background: linear-gradient(135deg, #facc15, #ca8a04); } .avatar-lime { background: linear-gradient(135deg, #a3e635, #65a30d); } .avatar-green { background: linear-gradient(135deg, #4ade80, #16a34a); } .avatar-emerald { background: linear-gradient(135deg, #34d399, #059669); } .avatar-teal { background: linear-gradient(135deg, #2dd4bf, #0d9488); } .avatar-cyan { background: linear-gradient(135deg, #22d3ee, #0891b2); } .avatar-sky { background: linear-gradient(135deg, #38bdf8, #0284c7); } .avatar-slate { background: linear-gradient(135deg, #94a3b8, #475569); } .avatar-coral { background: linear-gradient(135deg, #cc6245, #ad3512); } .avatar-mint { background: linear-gradient(135deg, #67e8f9, #0891b2); } .avatar-lavender { background: linear-gradient(135deg, #c4b5fd, #7c3aed); } .avatar-gold { background: linear-gradient(135deg, #fcd34d, #b45309); } .avatar-crimson { background: linear-gradient(135deg, #c42844, #750d28); } .avatar-ocean { background: linear-gradient(135deg, #38bdf8, #1d4ed8); } ``` ### 8.4 TypeScript 工具(utils/avatar-color.ts) ```typescript import { nameToAvatarColor } from '../../utils/avatar-color' // 根据姓名首字稳定映射颜色(相同输入永远返回相同结果) const color = nameToAvatarColor('王先生') // => 'blue' ``` ### 8.5 WXML 用法 ```wxml {{item.avatarChar}} ``` ### 8.6 迁移说明 各页面原有的散乱类名统一替换为 `.avatar-{key}`: | 旧类名 | 新类名 | 页面 | |--------|--------|------| | `.avatar-from-blue` | `.avatar-blue` | performance, performance-records | | `.avatar-from-pink` | `.avatar-pink` | performance, performance-records | | `.avatar-from-teal` | `.avatar-teal` | performance, performance-records | | `.avatar-from-green` | `.avatar-green` | performance, performance-records | | `.avatar-from-orange` | `.avatar-orange` | performance, performance-records | | `.avatar-from-purple` | `.avatar-purple` | performance, performance-records | | `.avatar-from-violet` | `.avatar-violet` | performance, performance-records | | `.avatar-from-amber` | `.avatar-amber` | performance, performance-records | | `.avatar-gradient-pink` | `.avatar-pink` | coach-detail | | `.avatar-gradient-amber` | `.avatar-amber` | coach-detail | | `.avatar-gradient-green` | `.avatar-green` | coach-detail | | `.avatar-gradient-blue` | `.avatar-blue` | coach-detail | | `.avatar-gradient-purple` | `.avatar-violet` | coach-detail | | `.avatar-gradient-teal` | `.avatar-teal` | coach-detail | | `.avatar--blue` | `.avatar-blue` | board-coach | | `.avatar--green` | `.avatar-green` | board-coach | | `.avatar--pink` | `.avatar-pink` | board-coach | | `.avatar--amber` | `.avatar-amber` | board-coach | | `.avatar--purple` | `.avatar-violet` | board-coach | | `.avatar--cyan` | `.avatar-cyan` | board-coach | --- **版本:** 1.1 **最后更新:** 2026-03-17 **维护者:** 设计系统团队