From 7c4e20f96ca8eb70f80f0a73d8c5e18ac062fd38 Mon Sep 17 00:00:00 2001 From: ninatan777 <909509200@qq.com> Date: Sun, 29 Mar 2026 10:01:10 +0800 Subject: [PATCH] safely parse up list (#1876) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 兼容 mid/roomId/count 字段为字符串或数字类型 * update --------- Co-authored-by: dom --- lib/models/dynamics/up.dart | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/models/dynamics/up.dart b/lib/models/dynamics/up.dart index 8ceb5587a..2b5bfe928 100644 --- a/lib/models/dynamics/up.dart +++ b/lib/models/dynamics/up.dart @@ -1,3 +1,5 @@ +import 'package:PiliPlus/utils/utils.dart'; + class FollowUpModel { FollowUpModel({ this.liveUsers, @@ -49,7 +51,7 @@ class LiveUsers { List? items; LiveUsers.fromJson(Map json) { - count = json['count'] ?? 0; + count = Utils.safeToInt(json['count']) ?? 0; group = json['group']; items = (json['items'] as List?) ?.map((e) => LiveUserItem.fromJson(e)) @@ -63,14 +65,11 @@ class LiveUserItem extends UpItem { int? roomId; String? title; - LiveUserItem.fromJson(Map json) - : super(mid: json['mid'] ?? 0) { - face = json['face']; + LiveUserItem.fromJson(Map json) : super.fromJson(json) { isReserveRecall = json['is_reserve_recall']; jumpUrl = json['jump_url']; - roomId = json['room_id']; + roomId = Utils.safeToInt(json['room_id']); title = json['title']; - uname = json['uname']; } } @@ -90,7 +89,7 @@ class UpItem { UpItem.fromJson(Map json) { face = json['face']; hasUpdate = json['has_update']; - mid = json['mid'] ?? 0; + mid = Utils.safeToInt(json['mid']) ?? 0; uname = json['uname']; }