/// cursor 分页正典信封 `{items, nextCursor, hasMore}`(pets 域体重 / 健康事件, /// community 域 Feed / 我的帖子 / 评论 / 收藏共用;自 pet_models.dart 上移至 core)。 class CursorPage { const CursorPage({ required this.items, required this.nextCursor, required this.hasMore, }); factory CursorPage.fromJson( Map json, T Function(Map) itemFromJson, ) { return CursorPage( items: (json['items'] as List) .map((item) => itemFromJson(item as Map)) .toList(), // 不透明 base64url 游标,客户端不得解析;hasMore=false 时恒为 null。 nextCursor: json['nextCursor'] as String?, hasMore: json['hasMore'] as bool, ); } final List items; final String? nextCursor; final bool hasMore; }