import 'package:json_annotation/json_annotation.dart'; part 'push_message.g.dart'; /// 推送消息模型 @JsonSerializable(createFactory: false) class PushMessage { final String? title; final String? content; @JsonKey(defaultValue: {}) final Map extras; PushMessage({ this.title, this.content, required this.extras, }); /// 从 JSON 创建 PushMessage /// 支持 'alert' 或 'content' 字段作为内容 factory PushMessage.fromJson(Map json) { // 处理 content 字段:优先使用 'alert',如果没有则使用 'content' final content = json['alert'] ?? json['content']; return PushMessage( title: json['title'] as String?, content: content as String?, extras: json['extras'] != null ? Map.from(json['extras'] as Map) : {}, ); } /// 转换为 JSON Map toJson() => _$PushMessageToJson(this); }