fix: like details (#1438)

* fix: like details

* check counts

---------

Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2025-10-03 16:46:14 +08:00
committed by GitHub
parent ec37af5900
commit 8f87d248a1
3 changed files with 32 additions and 12 deletions

View File

@@ -86,15 +86,16 @@ class MsgHttp {
}
static Future<LoadingState<MsgLikeDetailData>> msgLikeDetail({
required dynamic cardId,
required Object cardId,
required int pn,
Object lastMid = 0,
}) async {
var res = await Request().get(
Api.msgLikeDetail,
queryParameters: {
'card_id': cardId,
'pn': pn,
'last_view_at': 0,
'last_mid': lastMid,
'platform': 'web',
'build': 0,
'mobi_app': 'web',

View File

@@ -8,12 +8,19 @@ import 'package:get/get.dart';
class LikeDetailController
extends CommonListController<MsgLikeDetailData, MsgLikeDetailItem> {
final cardId = Get.parameters['id'];
final uri = Get.parameters['uri'];
late final String cardId;
late final String? uri;
late final int counts;
int lastMid = 0;
@override
void onInit() {
super.onInit();
final args = Get.arguments;
cardId = args['id'];
uri = args['uri'];
counts = args['counts'];
queryData();
}
@@ -21,17 +28,28 @@ class LikeDetailController
@override
List<MsgLikeDetailItem>? getDataList(MsgLikeDetailData response) {
if (response.page?.isEnd == true) {
card = response.card;
final items = response.items;
if (items?.lastOrNull?.user?.mid case final mid?) {
lastMid = mid;
}
return items;
}
@override
void checkIsEnd(int length) {
if (length >= counts) {
isEnd = true;
}
card = response.card;
return response.items;
}
@override
Future<void> onRefresh() {
lastMid = 0;
return super.onRefresh();
}
@override
Future<LoadingState<MsgLikeDetailData>> customGetData() =>
MsgHttp.msgLikeDetail(
cardId: cardId,
pn: page,
);
MsgHttp.msgLikeDetail(cardId: cardId, pn: page, lastMid: lastMid);
}

View File

@@ -170,9 +170,10 @@ class _LikeMePageState extends State<LikeMePage> {
if (item.counts! > 1) {
Get.toNamed(
'msgLikeDetail',
parameters: {
arguments: {
'id': item.id!.toString(),
if (!isInvalid) 'uri': nativeUri,
'counts': item.counts,
},
);
return;