diff --git a/lib/http/msg.dart b/lib/http/msg.dart index 46993e90..63ed429f 100644 --- a/lib/http/msg.dart +++ b/lib/http/msg.dart @@ -19,15 +19,21 @@ import 'package:flutter/material.dart'; import 'package:uuid/uuid.dart'; class MsgHttp { - static Future> msgFeedReplyMe( - {int cursor = -1, int cursorTime = -1}) async { - var res = await Request().get(Api.msgFeedReply, queryParameters: { - 'id': cursor == -1 ? null : cursor, - 'reply_time': cursorTime == -1 ? null : cursorTime, - 'platform': 'android', - 'mobi_app': 'android', - 'build': '8350200', - }); + static Future> msgFeedReplyMe({ + int? cursor, + int? cursorTime, + }) async { + var res = await Request().get( + Api.msgFeedReply, + queryParameters: { + if (cursor != null) 'id': cursor, + if (cursorTime != null) 'reply_time': cursorTime, + 'platform': 'web', + 'mobi_app': 'web', + 'build': 0, + 'web_location': 333.40164, + }, + ); if (res.data['code'] == 0) { MsgFeedReplyMe data = MsgFeedReplyMe.fromJson(res.data['data']); return Success(data); @@ -37,14 +43,18 @@ class MsgHttp { } static Future> msgFeedAtMe( - {int cursor = -1, int cursorTime = -1}) async { - var res = await Request().get(Api.msgFeedAt, queryParameters: { - 'id': cursor == -1 ? null : cursor, - 'at_time': cursorTime == -1 ? null : cursorTime, - 'platform': 'android', - 'mobi_app': 'android', - 'build': '8350200', - }); + {int? cursor, int? cursorTime}) async { + var res = await Request().get( + Api.msgFeedAt, + queryParameters: { + if (cursor != null) 'id': cursor, + if (cursorTime != null) 'at_time': cursorTime, + 'platform': 'web', + 'mobi_app': 'web', + 'build': 0, + 'web_location': 333.40164, + }, + ); if (res.data['code'] == 0) { MsgFeedAtMe data = MsgFeedAtMe.fromJson(res.data['data']); return Success(data); @@ -54,13 +64,14 @@ class MsgHttp { } static Future> msgFeedLikeMe( - {int cursor = -1, int cursorTime = -1}) async { + {int? cursor, int? cursorTime}) async { var res = await Request().get(Api.msgFeedLike, queryParameters: { - 'id': cursor == -1 ? null : cursor, - 'like_time': cursorTime == -1 ? null : cursorTime, - 'platform': 'android', - 'mobi_app': 'android', - 'build': '8350200', + if (cursor != null) 'id': cursor, + if (cursorTime != null) 'like_time': cursorTime, + 'platform': 'web', + 'mobi_app': 'web', + 'build': 0, + 'web_location': 333.40164, }); if (res.data['code'] == 0) { MsgFeedLikeMe data = MsgFeedLikeMe.fromJson(res.data['data']); @@ -71,11 +82,17 @@ class MsgHttp { } static Future?>> msgFeedNotify( - {int cursor = -1, int pageSize = 20}) async { - var res = await Request().get(Api.msgSysNotify, queryParameters: { - 'cursor': cursor == -1 ? null : cursor, - 'page_size': pageSize, - }); + {int? cursor, int pageSize = 20}) async { + var res = await Request().get( + Api.msgSysNotify, + queryParameters: { + if (cursor != null) 'cursor': cursor, + 'page_size': pageSize, + 'mobi_app': 'web', + 'build': 0, + 'web_location': 333.40164, + }, + ); if (res.data['code'] == 0) { List? list = (res.data['data'] as List?) ?.map((e) => SystemNotifyList.fromJson(e)) diff --git a/lib/pages/msg_feed_top/at_me/controller.dart b/lib/pages/msg_feed_top/at_me/controller.dart index 2dcef05e..41f3d6bc 100644 --- a/lib/pages/msg_feed_top/at_me/controller.dart +++ b/lib/pages/msg_feed_top/at_me/controller.dart @@ -5,8 +5,8 @@ import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; class AtMeController extends CommonListController { - int cursor = -1; - int cursorTime = -1; + int? cursor; + int? cursorTime; @override void onInit() { @@ -25,15 +25,15 @@ class AtMeController extends CommonListController { if (data.cursor?.isEnd == true) { isEnd = true; } - cursor = data.cursor?.id ?? -1; - cursorTime = data.cursor?.time ?? -1; + cursor = data.cursor?.id; + cursorTime = data.cursor?.time; return false; } @override Future onRefresh() { - cursor = -1; - cursorTime = -1; + cursor = null; + cursorTime = null; return super.onRefresh(); } diff --git a/lib/pages/msg_feed_top/at_me/view.dart b/lib/pages/msg_feed_top/at_me/view.dart index fdbf8e1b..8b8dd10a 100644 --- a/lib/pages/msg_feed_top/at_me/view.dart +++ b/lib/pages/msg_feed_top/at_me/view.dart @@ -83,9 +83,12 @@ class _AtMePageState extends State { return ListTile( onTap: () { String? nativeUri = item.item?.nativeUri; - if (nativeUri != null) { - PiliScheme.routePushFromUrl(nativeUri); + if (nativeUri == null || + nativeUri.isEmpty || + nativeUri.startsWith('?')) { + return; } + PiliScheme.routePushFromUrl(nativeUri); }, onLongPress: () => showConfirmDialog( context: context, diff --git a/lib/pages/msg_feed_top/like_me/controller.dart b/lib/pages/msg_feed_top/like_me/controller.dart index b64d8bf8..989a725a 100644 --- a/lib/pages/msg_feed_top/like_me/controller.dart +++ b/lib/pages/msg_feed_top/like_me/controller.dart @@ -7,8 +7,8 @@ import 'package:PiliPlus/utils/extension.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; class LikeMeController extends CommonDataController { - int cursor = -1; - int cursorTime = -1; + int? cursor; + int? cursorTime; bool isEnd = false; @@ -33,8 +33,8 @@ class LikeMeController extends CommonDataController { data.total?.items.isNullOrEmpty == true) { isEnd = true; } - cursor = data.total?.cursor?.id ?? -1; - cursorTime = data.total?.cursor?.time ?? -1; + cursor = data.total?.cursor?.id; + cursorTime = data.total?.cursor?.time; List latest = data.latest?.items ?? []; List total = data.total?.items ?? []; if (!isRefresh && loadingState.value.isSuccess) { @@ -48,8 +48,8 @@ class LikeMeController extends CommonDataController { @override Future onRefresh() { - cursor = -1; - cursorTime = -1; + cursor = null; + cursorTime = null; return super.onRefresh(); } diff --git a/lib/pages/msg_feed_top/like_me/view.dart b/lib/pages/msg_feed_top/like_me/view.dart index cb175677..4197e0d1 100644 --- a/lib/pages/msg_feed_top/like_me/view.dart +++ b/lib/pages/msg_feed_top/like_me/view.dart @@ -178,9 +178,12 @@ class _LikeMePageState extends State { return ListTile( onTap: () { String? nativeUri = item.item?.nativeUri; - if (nativeUri != null) { - PiliScheme.routePushFromUrl(nativeUri); + if (nativeUri == null || + nativeUri.isEmpty || + nativeUri.startsWith('?')) { + return; } + PiliScheme.routePushFromUrl(nativeUri); }, onLongPress: () => showDialog( context: context, diff --git a/lib/pages/msg_feed_top/reply_me/controller.dart b/lib/pages/msg_feed_top/reply_me/controller.dart index 1bd7dd54..6e8da7a2 100644 --- a/lib/pages/msg_feed_top/reply_me/controller.dart +++ b/lib/pages/msg_feed_top/reply_me/controller.dart @@ -6,8 +6,8 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; class ReplyMeController extends CommonListController { - int cursor = -1; - int cursorTime = -1; + int? cursor; + int? cursorTime; @override void onInit() { @@ -26,15 +26,15 @@ class ReplyMeController if (data.cursor?.isEnd == true) { isEnd = true; } - cursor = data.cursor?.id ?? -1; - cursorTime = data.cursor?.time ?? -1; + cursor = data.cursor?.id; + cursorTime = data.cursor?.time; return false; } @override Future onRefresh() { - cursor = -1; - cursorTime = -1; + cursor = null; + cursorTime = null; return super.onRefresh(); } diff --git a/lib/pages/msg_feed_top/reply_me/view.dart b/lib/pages/msg_feed_top/reply_me/view.dart index 152bb2ef..8b2a70f9 100644 --- a/lib/pages/msg_feed_top/reply_me/view.dart +++ b/lib/pages/msg_feed_top/reply_me/view.dart @@ -84,13 +84,16 @@ class _ReplyMePageState extends State { return ListTile( onTap: () { String? nativeUri = item.item?.nativeUri; - if (nativeUri != null) { - PiliScheme.routePushFromUrl( - nativeUri, - businessId: item.item?.businessId, - oid: item.item?.subjectId, - ); + if (nativeUri == null || + nativeUri.isEmpty || + nativeUri.startsWith('?')) { + return; } + PiliScheme.routePushFromUrl( + nativeUri, + businessId: item.item?.businessId, + oid: item.item?.subjectId, + ); }, onLongPress: () => showConfirmDialog( context: context, diff --git a/lib/pages/msg_feed_top/sys_msg/controller.dart b/lib/pages/msg_feed_top/sys_msg/controller.dart index 0f7d4942..d8b08bf5 100644 --- a/lib/pages/msg_feed_top/sys_msg/controller.dart +++ b/lib/pages/msg_feed_top/sys_msg/controller.dart @@ -7,7 +7,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; class SysMsgController extends CommonListController?, SystemNotifyList> { final pageSize = 20; - int cursor = -1; + int? cursor; @override void onInit() { @@ -17,10 +17,10 @@ class SysMsgController @override void handleListResponse(List dataList) { - if (cursor == -1) { + if (cursor == null) { msgSysUpdateCursor(dataList.first.cursor); } - cursor = dataList.last.cursor ?? -1; + cursor = dataList.last.cursor; if (!isEnd && dataList.length + 1 < pageSize) { isEnd = true; } @@ -34,7 +34,7 @@ class SysMsgController @override Future onRefresh() { - cursor = -1; + cursor = null; return super.onRefresh(); }