Files
PiliPlus/lib/models_new/sponsor_block/user_info.dart
My-Responsitories 2be13e7283 refa: sb & feat: sb portVideo (WIP) (#1751)
* refa: sb

* feat: sb portVideo (WIP)

* fix: keep-alive

* revert: ua version

* fix

* tweak [skip ci]

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

---------

Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
2025-11-19 09:30:04 +08:00

34 lines
937 B
Dart

import 'package:PiliPlus/utils/duration_utils.dart';
import 'package:PiliPlus/utils/num_utils.dart';
class UserInfo {
final int viewCount;
final double minutesSaved;
final int segmentCount;
const UserInfo({
required this.viewCount,
required this.minutesSaved,
required this.segmentCount,
});
factory UserInfo.fromJson(Map<String, dynamic> json) => UserInfo(
viewCount: json['viewCount'],
minutesSaved: (json['minutesSaved'] as num).toDouble(),
segmentCount: json['segmentCount'],
);
@override
String toString() {
String minutes = DurationUtils.formatTimeDuration(
Duration(minutes: minutesSaved.round()),
);
if (minutes.isEmpty) {
minutes = '0分钟';
}
return ('您提交了 ${NumUtils.formatPositiveDecimal(segmentCount)} 片段\n'
'您为大家节省了 ${NumUtils.formatPositiveDecimal(viewCount)} 片段\n'
'($minutes 的生命)');
}
}