brand-colors.js 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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. matOrange: '#FF9800', // $mat-orange-base
  79. matBlue: '#2196F3', // $mat-blue-base
  80. matRed: '#F44336', // Material red-500
  81. amber: '#FFC107', // Material amber-500
  82. mindAccent: '#FF6B35', // 心智维度强调橙($mind-accent)
  83. brownWarm: '#8D6E63', // 暖棕($brown-warm,关系图/横幅)
  84. infoSky: '#0EA5E9', // sky-500($uni-info;肠道菌群指标色)
  85. dangerStrong2: '#C62828', // red-800($status-danger-strong-2)
  86. fill: '#F0F0F0', // $facade-fill
  87. fillGray100: '#F3F4F6', // $facade-fill-gray-100
  88. goldDeep: '#FFA500', // $accent-gold-deep(数据图标橙)
  89. blush: '#FFF5F7', // 浅粉底(家庭看板画布)
  90. // Flat 设计主题(与 uni.scss $flat-* 同值;scss 侧见 uni.scss §Flat)
  91. flatTeal: '#4ECDC4',
  92. flatTealDeep: '#44B09E',
  93. flatGreen: '#A8E063',
  94. flatGreenDeep: '#56AB2F',
  95. flatWarm: '#FFF0E6',
  96. flatOrangeSoft: '#FFB088',
  97. flatBar: '#FFD93D',
  98. // Plutchik 八基本情绪色板(情绪打卡专属;单一事实源)
  99. emotionJoy: '#FFD93D', // 开心
  100. emotionTrust: '#6BCB77', // 信任
  101. emotionFear: '#9B59B6', // 恐惧
  102. emotionSurprise: '#FF9FF3', // 惊讶
  103. emotionSadness: '#6B9BD2', // 悲伤/难过
  104. emotionDisgust: '#A0A0A0', // 厌恶
  105. emotionAnger: '#FF6B6B', // 烦躁/愤怒
  106. // 语义别名(后端配置色兜底;SCSS 侧等值令牌见 uni.scss $facade-violet/$status-info)
  107. violet: '#8B5CF6', // violet-500 紫罗兰(心智维度组件色板)
  108. violetLight: '#A78BFA', // violet-400 紫罗兰浅档(渐变起)
  109. violetLighter: '#C084FC', // violet-400 更浅档(渐变起)
  110. gold: '#FFD700', // 亮金(智慧维度渐变起)
  111. orangeDeep: '#EA580C', // orange-600 橙深档(全家渐变终)
  112. matGreen: '#4CAF50', // Material green-500
  113. matGreenLight: '#81C784', // Material green-300
  114. infoBlue: '#3B82F6', // blue-500 信息蓝(智慧维度组件色板)
  115. // 通用语义别名(方便使用)
  116. brand: '#F97316',
  117. dimMind: '#FF6B9D',
  118. dimWisdom: '#6366F1',
  119. dimAction: '#10B981',
  120. dimBody: '#FF8C42',
  121. dimWealth: '#F59E0B',
  122. // Tailwind 中性色阶(组件脚本内散落色值收编:stone / slate / gray)
  123. stone900: '#1C1917',
  124. stone500: '#78716C',
  125. stone400: '#A8A29E',
  126. stone200: '#E7E5E4',
  127. stone100: '#F5F5F4',
  128. slate800: '#1E293B',
  129. slate600: '#475569',
  130. slate500: '#64748B',
  131. slate300: '#CBD5E1',
  132. slate200: '#E2E8F0',
  133. slateGhost: '#EEF2F7',
  134. gray700: '#4A5568',
  135. silver: '#C0C0C0',
  136. black: '#000000',
  137. textDeep: '#444444',
  138. // Tailwind 彩色档(琥珀 / 翠绿 / 青 / 靛 / 粉 / 橙)
  139. amber50: '#FFFBEB',
  140. emerald50: '#ECFDF5',
  141. cyan500: '#06B6D4',
  142. indigo600: '#4F46E5',
  143. indigo50: '#EEF2FF',
  144. indigoPeriwinkle: '#667EEA',
  145. pink600: '#DB2777',
  146. pink50: '#FDF2F8',
  147. orange300: '#FFB74D',
  148. // 浅底 tint(发现页圈层 / 分享海报 / 量表卡)
  149. tintPurpleSoft: '#F3E5F5',
  150. tintOrangeSoft: '#FFF3E0',
  151. tintGreenSoft: '#E8F5E9',
  152. tintPinkSoft: '#FCE4EC',
  153. mindTint: '#FFF0F5',
  154. // Element UI 语义色
  155. elementDanger: '#F56C6C',
  156. // 五维雷达图 grid/label 档(按维度成对;对应页面 RadarChart props)
  157. emerald100: '#D1FAE5', // 行动维度 网格
  158. emerald800: '#065F46', // 行动维度 标签
  159. orange200: '#FED7AA', // 身体维度 网格
  160. orange800: '#9A3412', // 身体维度 标签
  161. pink100: '#FCE7F3', // 心智维度 网格
  162. pink800: '#9D174D', // 心智维度 标签
  163. indigo100: '#E0E7FF', // 智慧维度 网格
  164. indigo800: '#3730A3', // 智慧维度 标签
  165. // 输入占位符(placeholder-style)
  166. textHint: '#BBBBBB',
  167. }
  168. // 向后兼容导出(避免 import 路径散乱)
  169. export default BrandColors
  170. // 行业类别色板(珍珠图/关系图专用;22 类,内环 10 + 外环 12)
  171. // 提取到此处避免页面内散落 hex,页面仅引用 INDUSTRY_COLORS.XXX
  172. export const INDUSTRY_COLORS = {
  173. // 内环(暖色系:红/橙/黄/棕)
  174. PUBLIC_SECURITY: '#DC2626', // 公安(red-600)
  175. AUTO: '#EA580C', // 汽车相关(orange-600)
  176. REAL_ESTATE: '#D97706', // 房产服务(amber-600)
  177. TICKETING: '#CA8A04', // 票务(yellow-600)
  178. HANDYMAN: '#B45309', // 多能工人(amber-700)
  179. APPLIANCE: '#92400E', // 家电(amber-800)
  180. CATERING: '#E11D48', // 餐饮(rose-600)
  181. FOOD: '#BE123C', // 食品(rose-700)
  182. LEGAL: '#B91C1C', // 法律(red-700)
  183. WEEKEND_EXPERT: '#FB7185', // 周末达人(rose-400)
  184. // 外环(紫/蓝/青/绿)
  185. GOVERNMENT: '#8B5CF6', // 政府综合(violet-500)
  186. TAX: '#7C3AED', // 税务(violet-600)
  187. BUSINESS_ADMIN: '#6D28D9', // 工商(violet-700)
  188. BANK: '#2563EB', // 银行(blue-600)
  189. MEDIA: '#1D4ED8', // 媒体(blue-700)
  190. TRAVEL: '#0EA5E9', // 旅游(sky-500)
  191. LEADING_ENTERPRISE: '#0891B2', // 领军企业(cyan-600)
  192. INDUSTRY_BENCHMARK: '#059669', // 行业标杆(emerald-600)
  193. UNIVERSITY: '#16A34A', // 高校(green-600)
  194. FINANCE: '#84CC16', // 金融(lime-500)
  195. SENIOR_LOCAL: '#65A30D', // 资深土著(lime-600)
  196. KEY_CITY: '#4D7C0F', // 北上广等(lime-700)
  197. }
  198. // 具名快捷导出(历史写法:页面按名引入,如 import { body, primary } from ...;与 BrandColors.xxx 等价)
  199. export const primaryPale = BrandColors.primaryPale
  200. export const body = BrandColors.body
  201. export const primary = BrandColors.primary
  202. export const success = BrandColors.success
  203. export const white = BrandColors.white
  204. export const wisdom = BrandColors.wisdom
  205. export const danger = BrandColors.danger