feat: super chat

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-09-01 21:15:29 +08:00
parent e6af0ef15b
commit 80fa0240e9
20 changed files with 896 additions and 261 deletions

View File

@@ -0,0 +1,42 @@
import 'package:PiliPlus/models_new/live/live_superchat/user_info.dart';
import 'package:PiliPlus/utils/utils.dart';
class SuperChatItem {
dynamic id;
dynamic uid;
int? price;
String backgroundColor;
String backgroundBottomColor;
String backgroundPriceColor;
String messageFontColor;
int endTime;
String message;
UserInfo userInfo;
bool expired = false;
SuperChatItem({
this.id,
required this.uid,
this.price,
required this.backgroundColor,
required this.backgroundBottomColor,
required this.backgroundPriceColor,
required this.messageFontColor,
required this.endTime,
required this.message,
required this.userInfo,
});
factory SuperChatItem.fromJson(Map<String, dynamic> json) => SuperChatItem(
id: json['id'] ?? Utils.generateRandomString(8),
uid: json['uid'],
price: json['price'] as int?,
backgroundColor: json['background_color'] ?? '#EDF5FF',
backgroundBottomColor: json['background_bottom_color'] ?? '#2A60B2',
backgroundPriceColor: json['background_price_color'] ?? '#7497CD',
messageFontColor: json['message_font_color'] ?? '#FFFFFF',
endTime: json['end_time'],
message: json['message'],
userInfo: UserInfo.fromJson(json['user_info'] as Map<String, dynamic>),
);
}