| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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<String, dynamic> extras;
- PushMessage({
- this.title,
- this.content,
- required this.extras,
- });
- /// 从 JSON 创建 PushMessage
- /// 支持 'alert' 或 'content' 字段作为内容
- factory PushMessage.fromJson(Map<String, dynamic> 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<String, dynamic>.from(json['extras'] as Map)
- : <String, dynamic>{},
- );
- }
- /// 转换为 JSON
- Map<String, dynamic> toJson() => _$PushMessageToJson(this);
- }
|