You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.7 KiB

import 'package:lpinyin/lpinyin.dart';
// import '../constants/api/api.dart';
extension ImageOnString on String? {
// String get imageWithHost => '${API.imageHost}/$this';
// String sizeImage(int width, [int? height]) {
// var parts = <String>[];
// parts.add('w=$width');
// if (height != null) parts.add('h=$height');
// return '$imageWithHost@${parts.join('&')}';
// }
String get toSnake {
RegExp exp = RegExp(r'(?<=[a-z])[A-Z]');
if (this == null) {
return '';
}
return this!
.replaceAllMapped(exp, (Match m) => ('_${m.group(0)!}'))
.toLowerCase();
}
String get pinyin => PinyinHelper.getPinyinE(this ?? '');
String get tag => pinyin.substring(0, 1).toUpperCase();
int get minPrice {
if (this == null || this!.isEmpty) {
return 0;
} else if (this!.contains('不限')) {
return 0;
} else if (this!.contains('以下')) {
return 0;
} else if (this!.contains('以上')) {
return int.parse(this!.substring(0, this!.length - 3)) * 10000;
} else {
{
var list = this!.split('-');
return int.parse(list[0]) * 10000;
}
}
}
int get maxPrice {
if (this == null || this!.isEmpty) {
return 0;
} else if (this!.contains('不限')) {
return 0;
} else if (this!.contains('以下')) {
return int.parse(this!.substring(0, this!.length - 3)) * 10000;
}
if (this!.contains('以上')) {
return 0;
} else {
var list = this!.split('-');
return int.parse(list[1].substring(0, list[1].length - 1)) * 10000;
}
}
int get maxMile {
if (this == null || this!.isEmpty) {
return 0;
} else {
return int.parse(this!.substring(0, this!.length - 4));
}
}
}