brand-colors.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /**
  2. * 品牌色板 — JS 侧单一事实源
  3. *
  4. * 说明:
  5. * - SCSS 变量编译期才解析,JS 块内无法引用 $var,因此在此处维护一份等值副本。
  6. * - 替换原则:仅替换 <script> 块内的纯 hex 字符串字面量(颜色字面量,如 '#F97316')。
  7. * - 不替换 canvas 绘图参数、动态拼接色、数据中携带的 hex(保持原始)。
  8. *
  9. * 对应 uni.scss §12-§16 令牌:
  10. * $brand-primary #F97316 → BrandColors.primary
  11. * $brand-primary-light #FB923C → BrandColors.primaryLight
  12. * $uni-primary-pale #FFF7ED → BrandColors.primaryPale
  13. * $dim-body #FF8C42 → BrandColors.body
  14. * $dim-mind #FF6B9D → BrandColors.mind
  15. * $dim-wisdom #6366F1 → BrandColors.wisdom
  16. * $dim-action #10B981 → BrandColors.action
  17. * $dim-wealth #F59E0B → BrandColors.wealth
  18. * $status-success #10B981 → BrandColors.success
  19. * $status-danger #EF4444 → BrandColors.danger
  20. * $status-warning #FBBF24 → BrandColors.warning
  21. * $facade-text-strong #333 → BrandColors.textStrong
  22. * $facade-text-body #666 → BrandColors.textBody
  23. * $facade-text-muted #999 → BrandColors.textMuted
  24. * $facade-fill-ghost #FAFAFA → BrandColors.fillGhost
  25. * $facade-fill-gray-50 #F9FAFB → BrandColors.fillGray50
  26. * $app-surface #FFFFFF → BrandColors.white
  27. * $status-danger-strong-2 #C62828 → BrandColors.dangerDeep
  28. */
  29. export const BrandColors = {
  30. // 品牌橙族
  31. primary: '#F97316',
  32. primaryLight: '#FB923C',
  33. primaryPale: '#FFF7ED',
  34. primaryDark: '#EA580C',
  35. primaryDeep: '#C2410C', // 深橙(画布卡片文字档)
  36. bodyLight: '#FFB366', // 身体维度亮档(画布渐变终)
  37. bodyTint: '#FFF8F0', // 身体维度浅底($dim-body-tint)
  38. // 五维身份色
  39. body: '#FF8C42',
  40. mind: '#FF6B9D',
  41. wisdom: '#6366F1',
  42. action: '#10B981',
  43. wealth: '#F59E0B',
  44. // 状态色
  45. success: '#10B981',
  46. successLight3: '#34D399', // emerald-400 成功亮档·三档
  47. warning: '#FBBF24',
  48. danger: '#EF4444',
  49. dangerLight2: '#FB7185', // rose-400 危险亮档·二档(睡眠质量条)
  50. info: '#0EA5E9', // sky-500 信息
  51. infoLight: '#38BDF8', // sky-400 信息亮档
  52. infoBlue: '#3B82F6', // blue-500 信息蓝(智慧维度组件色板)
  53. infoBlueLight: '#60A5FA', // blue-400 信息蓝亮档
  54. wisdomLight: '#818CF8', // indigo-400 智慧亮档
  55. // 中性灰阶
  56. white: '#FFFFFF',
  57. textStrong: '#333333',
  58. textBody: '#666666',
  59. textMuted: '#999999',
  60. fillGhost: '#FAFAFA',
  61. fillGray50: '#F9FAFB',
  62. // 状态深阶
  63. dangerDeep: '#C62828',
  64. violetDeep: '#7C3AED', // violet-600 深紫(#7C3AED)
  65. // 中性灰阶扩展(对应 $facade-text-gray-400 / $facade-text-slate / $facade-hairline-2)
  66. textGray400: '#9CA3AF',
  67. textSlate: '#6B7280',
  68. hairline2: '#EEE',
  69. textFaint: '#888',
  70. gray200: '#E5E7EB', // gray-200 浅灰(canvas 连线/分隔)
  71. textGray800: '#1F2937', // gray-800 深灰($facade-text-gray-800)
  72. appTextSubtle: '#94A3B8', // slate-400 弱文字($app-text-subtle)
  73. pink: '#EC4899', // pink-500($accent-pink)
  74. tealDeep: '#14B8A6', // teal-500(天盘 9 档色板)
  75. weatherSunny: '#FFB347', // 晴朗心情色(情绪趋势天气板)
  76. textGhost: '#CCC', // $facade-text-ghost
  77. hairline: '#E0E0E0', // $facade-hairline
  78. fill: '#F0F0F0', // $facade-fill
  79. fillGray100: '#F3F4F6', // $facade-fill-gray-100
  80. goldDeep: '#FFA500', // $accent-gold-deep(数据图标橙)
  81. blush: '#FFF5F7', // 浅粉底(家庭看板画布)
  82. // Plutchik 八基本情绪色板(情绪打卡专属;单一事实源)
  83. emotionJoy: '#FFD93D', // 开心
  84. emotionTrust: '#6BCB77', // 信任
  85. emotionFear: '#9B59B6', // 恐惧
  86. emotionSurprise: '#FF9FF3', // 惊讶
  87. emotionSadness: '#6B9BD2', // 悲伤/难过
  88. emotionDisgust: '#A0A0A0', // 厌恶
  89. emotionAnger: '#FF6B6B', // 烦躁/愤怒
  90. // 语义别名(后端配置色兜底;SCSS 侧等值令牌见 uni.scss $facade-violet/$status-info)
  91. violet: '#8B5CF6', // violet-500 紫罗兰(心智维度组件色板)
  92. infoBlue: '#3B82F6', // blue-500 信息蓝(智慧维度组件色板)
  93. // 通用语义别名(方便使用)
  94. brand: '#F97316',
  95. dimMind: '#FF6B9D',
  96. dimWisdom: '#6366F1',
  97. dimAction: '#10B981',
  98. dimBody: '#FF8C42',
  99. dimWealth: '#F59E0B',
  100. }
  101. // 向后兼容导出(避免 import 路径散乱)
  102. export default BrandColors
  103. // 行业类别色板(珍珠图/关系图专用;22 类,内环 10 + 外环 12)
  104. // 提取到此处避免页面内散落 hex,页面仅引用 INDUSTRY_COLORS.XXX
  105. export const INDUSTRY_COLORS = {
  106. // 内环(暖色系:红/橙/黄/棕)
  107. PUBLIC_SECURITY: '#DC2626', // 公安(red-600)
  108. AUTO: '#EA580C', // 汽车相关(orange-600)
  109. REAL_ESTATE: '#D97706', // 房产服务(amber-600)
  110. TICKETING: '#CA8A04', // 票务(yellow-600)
  111. HANDYMAN: '#B45309', // 多能工人(amber-700)
  112. APPLIANCE: '#92400E', // 家电(amber-800)
  113. CATERING: '#E11D48', // 餐饮(rose-600)
  114. FOOD: '#BE123C', // 食品(rose-700)
  115. LEGAL: '#B91C1C', // 法律(red-700)
  116. WEEKEND_EXPERT: '#FB7185', // 周末达人(rose-400)
  117. // 外环(紫/蓝/青/绿)
  118. GOVERNMENT: '#8B5CF6', // 政府综合(violet-500)
  119. TAX: '#7C3AED', // 税务(violet-600)
  120. BUSINESS_ADMIN: '#6D28D9', // 工商(violet-700)
  121. BANK: '#2563EB', // 银行(blue-600)
  122. MEDIA: '#1D4ED8', // 媒体(blue-700)
  123. TRAVEL: '#0EA5E9', // 旅游(sky-500)
  124. LEADING_ENTERPRISE: '#0891B2', // 领军企业(cyan-600)
  125. INDUSTRY_BENCHMARK: '#059669', // 行业标杆(emerald-600)
  126. UNIVERSITY: '#16A34A', // 高校(green-600)
  127. FINANCE: '#84CC16', // 金融(lime-500)
  128. SENIOR_LOCAL: '#65A30D', // 资深土著(lime-600)
  129. KEY_CITY: '#4D7C0F', // 北上广等(lime-700)
  130. }