app_colors.dart 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import 'package:flutter/material.dart';
  2. /// 应用颜色定义
  3. class AppColors {
  4. // 主色调
  5. static const Color primary = Color(0xFF1890FF);
  6. static const Color primaryLight = Color(0xFF40A9FF);
  7. static const Color primaryDark = Color(0xFF096DD9);
  8. // 功能色
  9. static const Color success = Color(0xFF52C41A);
  10. static const Color warning = Color(0xFFFAAD14);
  11. static const Color error = Color(0xFFF5222D);
  12. static const Color info = Color(0xFF1890FF);
  13. // 文本颜色
  14. static const Color textPrimary = Color(0xFF262626);
  15. static const Color textSecondary = Color(0xFF8C8C8C);
  16. static const Color textDisabled = Color(0xFFBFBFBF);
  17. static const Color textWhite = Color(0xFFFFFFFF);
  18. // 背景颜色
  19. static const Color background = Color(0xFFFAFAFA);
  20. static const Color backgroundLight = Color(0xFFFFFFFF);
  21. static const Color backgroundDark = Color(0xFF141414);
  22. // 边框颜色
  23. static const Color border = Color(0xFFD9D9D9);
  24. static const Color borderLight = Color(0xFFF0F0F0);
  25. // 要素类型颜色
  26. static const Color amount = Color(0xFF52C41A); // 金额 - 绿色
  27. static const Color company = Color(0xFF1890FF); // 公司 - 蓝色
  28. static const Color person = Color(0xFF722ED1); // 人名 - 紫色
  29. static const Color location = Color(0xFFFA8C16); // 地名 - 橙色
  30. static const Color date = Color(0xFFEB2F96); // 日期 - 粉色
  31. static const Color other = Color(0xFF8C8C8C); // 其他 - 灰色
  32. // 状态颜色
  33. static const Color statusPending = Color(0xFFFAAD14);
  34. static const Color statusProcessing = Color(0xFF1890FF);
  35. static const Color statusSuccess = Color(0xFF52C41A);
  36. static const Color statusError = Color(0xFFF5222D);
  37. /// 根据要素类型获取颜色
  38. static Color getElementColor(String type) {
  39. switch (type.toLowerCase()) {
  40. case 'amount':
  41. case '金额':
  42. return amount;
  43. case 'company':
  44. case '公司':
  45. return company;
  46. case 'person':
  47. case '人名':
  48. return person;
  49. case 'location':
  50. case '地名':
  51. return location;
  52. default:
  53. return textSecondary;
  54. }
  55. }
  56. }