40 lines
819 B
Dart
40 lines
819 B
Dart
class TourFile {
|
|
late int index;
|
|
late String name;
|
|
String? remark;
|
|
late String url;
|
|
|
|
TourFile();
|
|
|
|
factory TourFile.fromJson(Map<String, dynamic> json) {
|
|
final file = TourFile();
|
|
file.index = json['index'] as int;
|
|
file.name = json['name'] as String;
|
|
file.remark = json['remark'] as String?;
|
|
file.url = json['url'] as String;
|
|
return file;
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'index': index,
|
|
'name': name,
|
|
'remark': remark,
|
|
'url': url,
|
|
};
|
|
}
|
|
|
|
bool get isPdf {
|
|
return name.toLowerCase().endsWith('.pdf');
|
|
}
|
|
|
|
bool get isImage {
|
|
final ext = name.toLowerCase();
|
|
return ext.endsWith('.jpg') ||
|
|
ext.endsWith('.jpeg') ||
|
|
ext.endsWith('.png') ||
|
|
ext.endsWith('.gif') ||
|
|
ext.endsWith('.webp');
|
|
}
|
|
}
|