activity_banner.dart 815 B

12345678910111213141516171819202122232425262728293031
  1. /// 首页 Banner 数据模型
  2. class ActivityBanner {
  3. final int id;
  4. final String title;
  5. final String imageUrl;
  6. final String linkType; // "internal" | "external"
  7. final String linkUrl;
  8. final int sort;
  9. const ActivityBanner({
  10. this.id = 0,
  11. required this.title,
  12. this.imageUrl = '',
  13. this.linkType = 'internal',
  14. this.linkUrl = '',
  15. this.sort = 0,
  16. });
  17. factory ActivityBanner.fromJson(Map<String, dynamic> json) {
  18. return ActivityBanner(
  19. id: json['id'] as int? ?? 0,
  20. title: json['title'] as String? ?? '',
  21. imageUrl: json['imageUrl'] as String? ?? '',
  22. linkType: json['linkType'] as String? ?? 'internal',
  23. linkUrl: json['linkUrl'] as String? ?? '',
  24. sort: json['sort'] as int? ?? 0,
  25. );
  26. }
  27. bool get isExternal => linkType == 'external';
  28. }