import 'dart:core'; import 'package:news_app/extension/base.dart'; /// @author: bo.zeng /// @email: cnhbwds@gmail.com /// @date: 2025 2025/4/10 12:49 /// @description: class NewCommentModel { NewCommentModel({ List? records, int? total, int? size, int? current, int? pages, }) { _records = records; _total = total; _size = size; _current = current; _pages = pages; } NewCommentModel.fromJson(Map json) { if (json['records'] != null) { _records = []; json['records'].forEach((v) { _records?.add(Comment.fromJson(v)); }); } _total = json['total'].toString().convertInt; _size = json['size'].toString().convertInt; _current = json['current'].toString().convertInt; _pages = json['pages'].toString().convertInt; } List? _records; int? _total; int? _size; int? _current; int? _pages; NewCommentModel copyWith({ List? records, int? total, int? size, int? current, int? pages, }) => NewCommentModel( records: records ?? _records, total: total ?? _total, size: size ?? _size, current: current ?? _current, pages: pages ?? _pages, ); List? get records => _records; int? get total => _total; int? get size => _size; int? get current => _current; int? get pages => _pages; Map toJson() { final map = {}; if (_records != null) { map['records'] = _records?.map((v) => v.toJson()).toList(); } map['total'] = _total; map['size'] = _size; map['current'] = _current; map['pages'] = _pages; return map; } } class Comment { Comment({ String? contentId, String? commentId, FromUser? fromUser, String? content, String? createTime, List? subComment, }) { _contentId = contentId; _commentId = commentId; _fromUser = fromUser; _content = content; _createTime = createTime; _subComment = subComment; } Comment.fromJson(dynamic json) { _contentId = json['contentId']; _commentId = json['commentId']; _fromUser = json['fromUser'] != null ? FromUser.fromJson(json['fromUser']) : null; _content = json['content']; _createTime = json['createTime']; if (json['subComment'] != null) { _subComment = []; json['subComment'].forEach((v) { _subComment?.add(SubComment.fromJson(v)); }); } } String? _contentId; String? _commentId; FromUser? _fromUser; String? _content; String? _createTime; List? _subComment; Comment copyWith({ String? contentId, String? commentId, FromUser? fromUser, String? content, String? createTime, List? subComment, }) => Comment( contentId:contentId ?? _contentId, commentId: commentId ?? _commentId, fromUser: fromUser ?? _fromUser, content: content ?? _content, createTime: createTime ?? _createTime, subComment: subComment ?? _subComment, ); String? get contentId => _contentId; String? get commentId => _commentId; FromUser? get fromUser => _fromUser; String? get content => _content; String? get createTime => _createTime; List? get subComment => _subComment; Map toJson() { final map = {}; if (_fromUser != null) { map['fromUser'] = _fromUser?.toJson(); } map['contentId'] = _contentId; map['commentId'] = _commentId; map['content'] = _content; map['createTime'] = _createTime; if (_subComment != null) { map['subComment'] = _subComment?.map((v) => v.toJson()).toList(); } return map; } } /// commentId : "0" /// fromUser : {"memberId":"665173421613125","avatar":"https://xxf-2.dynamicycle.com/member_preview/avatar/665173421613125.png","nickname":"2"} /// content : "联合国机构评估美贸易保护主义将重创最脆弱经济体" /// createTime : "2025-04-19 14:17:57" /// subComment : [] class SubComment { SubComment({ String? commentId, FromUser? fromUser, String? content, String? createTime, }) { _commentId = commentId; _fromUser = fromUser; _content = content; _createTime = createTime; } SubComment.fromJson(dynamic json) { _commentId = json['commentId']; _fromUser = json['fromUser'] != null ? FromUser.fromJson(json['fromUser']) : null; _content = json['content']; _createTime = json['createTime']; } String? _commentId; FromUser? _fromUser; String? _content; String? _createTime; SubComment copyWith({ String? commentId, FromUser? fromUser, String? content, String? createTime, }) => SubComment( commentId: commentId ?? _commentId, fromUser: fromUser ?? _fromUser, content: content ?? _content, createTime: createTime ?? _createTime, ); String? get commentId => _commentId; FromUser? get fromUser => _fromUser; String? get content => _content; String? get createTime => _createTime; Map toJson() { final map = {}; map['commentId'] = _commentId; if (_fromUser != null) { map['fromUser'] = _fromUser?.toJson(); } map['content'] = _content; map['createTime'] = _createTime; return map; } } /// memberId : "665173421613125" /// avatar : "https://xxf-2.dynamicycle.com/member_preview/avatar/665173421613125.png" /// nickname : "2" class FromUser { FromUser({String? memberId, String? avatar, String? nickname}) { _memberId = memberId; _avatar = avatar; _nickname = nickname; } FromUser.fromJson(dynamic json) { _memberId = json['memberId']; _avatar = json['avatar']; _nickname = json['nickname']; } String? _memberId; String? _avatar; String? _nickname; FromUser copyWith({String? memberId, String? avatar, String? nickname}) => FromUser( memberId: memberId ?? _memberId, avatar: avatar ?? _avatar, nickname: nickname ?? _nickname, ); String? get memberId => _memberId; String? get avatar => _avatar; String? get nickname => _nickname; Map toJson() { final map = {}; map['memberId'] = _memberId; map['avatar'] = _avatar; map['nickname'] = _nickname; return map; } }