diff --git a/lib/http/reply.dart b/lib/http/reply.dart index fab433fc..4c165b3b 100644 --- a/lib/http/reply.dart +++ b/lib/http/reply.dart @@ -4,7 +4,7 @@ import 'init.dart'; class ReplyHttp { static Future replyList({ - required int oid, + required dynamic oid, required int pageNum, required int type, int? ps, @@ -76,7 +76,7 @@ class ReplyHttp { // 评论点赞 static Future likeReply({ required int type, - required int oid, + required dynamic oid, required int rpid, required int action, }) async { diff --git a/lib/http/video.dart b/lib/http/video.dart index e7b09801..2c38666f 100644 --- a/lib/http/video.dart +++ b/lib/http/video.dart @@ -331,7 +331,7 @@ class VideoHttp { // plat num 发送平台标识 非必要 1:web端 2:安卓客户端 3:ios客户端 4:wp客户端 static Future replyAdd({ required ReplyType type, - required int oid, + required dynamic oid, required String message, int? root, int? parent, diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index 13dd50c0..695bca3a 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -266,7 +266,7 @@ class BangumiIntroController extends GetxController { /// 未渲染回复组件时可能异常 VideoReplyController videoReplyCtr = Get.find(tag: Get.arguments['heroTag']); - videoReplyCtr.aid = aid; + videoReplyCtr.oid = bvid; videoReplyCtr.queryReplyList(type: 'init'); } catch (_) {} } diff --git a/lib/pages/dynamics/detail/view.dart b/lib/pages/dynamics/detail/view.dart index 840cd33f..9489346f 100644 --- a/lib/pages/dynamics/detail/view.dart +++ b/lib/pages/dynamics/detail/view.dart @@ -385,8 +385,8 @@ class _DynamicDetailPageState extends State isScrollControlled: true, builder: (BuildContext context) { return VideoReplyNewDialog( - oid: _dynamicDetailController.oid ?? - IdUtils.bv2av(Get.parameters['bvid']!), + oid: _dynamicDetailController.oid?.toString() ?? + Get.parameters['bvid'], root: 0, parent: 0, replyType: ReplyType.values[replyType], diff --git a/lib/pages/html/view.dart b/lib/pages/html/view.dart index 9f0c865c..7625306f 100644 --- a/lib/pages/html/view.dart +++ b/lib/pages/html/view.dart @@ -13,6 +13,7 @@ import 'package:pilipala/pages/video/detail/reply/widgets/reply_item.dart'; import 'package:pilipala/pages/video/detail/reply_new/index.dart'; import 'package:pilipala/pages/video/detail/reply_reply/index.dart'; import 'package:pilipala/utils/feed_back.dart'; +import 'package:pilipala/utils/id_utils.dart'; import 'controller.dart'; @@ -427,7 +428,7 @@ class _HtmlRenderPageState extends State isScrollControlled: true, builder: (BuildContext context) { return VideoReplyNewDialog( - oid: _htmlRenderCtr.oid.value, + oid: IdUtils.av2bv(_htmlRenderCtr.oid.value), root: 0, parent: 0, replyType: ReplyType.values[type], diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 1deadb07..99caa604 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -478,7 +478,7 @@ class VideoIntroController extends GetxController { /// 未渲染回复组件时可能异常 final VideoReplyController videoReplyCtr = Get.find(tag: heroTag); - videoReplyCtr.aid = aid; + videoReplyCtr.oid = bvid; videoReplyCtr.queryReplyList(type: 'init'); } catch (_) {} this.bvid = bvid; diff --git a/lib/pages/video/detail/reply/controller.dart b/lib/pages/video/detail/reply/controller.dart index 9e05542b..03c5fb0e 100644 --- a/lib/pages/video/detail/reply/controller.dart +++ b/lib/pages/video/detail/reply/controller.dart @@ -11,13 +11,13 @@ import 'package:pilipala/utils/storage.dart'; class VideoReplyController extends GetxController { VideoReplyController( - this.aid, + this.oid, this.rpid, this.replyLevel, ); final ScrollController scrollController = ScrollController(); // 视频aid 请求时使用的oid - int? aid; + String? oid; // 层级 2为楼中楼 String? replyLevel; // rpid 请求楼中楼回复 @@ -57,7 +57,7 @@ class VideoReplyController extends GetxController { return; } final res = await ReplyHttp.replyList( - oid: aid!, + oid: oid!, pageNum: currentPage + 1, ps: ps, type: ReplyType.video.index, diff --git a/lib/pages/video/detail/reply/view.dart b/lib/pages/video/detail/reply/view.dart index b2c67b1e..474615fc 100644 --- a/lib/pages/video/detail/reply/view.dart +++ b/lib/pages/video/detail/reply/view.dart @@ -40,6 +40,7 @@ class _VideoReplyPanelState extends State bool _isFabVisible = true; String replyLevel = '1'; late String heroTag; + late String oid; // 添加页面缓存 @override @@ -48,7 +49,7 @@ class _VideoReplyPanelState extends State @override void initState() { super.initState(); - int oid = widget.bvid != null ? IdUtils.bv2av(widget.bvid!) : 0; + oid = widget.bvid != null ? widget.bvid! : '0'; heroTag = Get.arguments['heroTag']; replyLevel = widget.replyLevel ?? '1'; if (replyLevel == '2') { @@ -297,8 +298,8 @@ class _VideoReplyPanelState extends State isScrollControlled: true, builder: (BuildContext context) { return VideoReplyNewDialog( - oid: _videoReplyController.aid ?? - IdUtils.bv2av(Get.parameters['bvid']!), + oid: + _videoReplyController.oid ?? Get.parameters['bvid'], root: 0, parent: 0, replyType: ReplyType.video, diff --git a/lib/pages/video/detail/reply/widgets/reply_item.dart b/lib/pages/video/detail/reply/widgets/reply_item.dart index 48518bee..3352cdc3 100644 --- a/lib/pages/video/detail/reply/widgets/reply_item.dart +++ b/lib/pages/video/detail/reply/widgets/reply_item.dart @@ -353,7 +353,7 @@ class ReplyItem extends StatelessWidget { isScrollControlled: true, builder: (builder) { return VideoReplyNewDialog( - oid: replyItem!.oid, + oid: IdUtils.av2bv(replyItem!.oid!), root: replyItem!.rpid, parent: replyItem!.rpid, replyType: replyType, diff --git a/lib/pages/video/detail/reply_new/view.dart b/lib/pages/video/detail/reply_new/view.dart index 01c95adc..61a78869 100644 --- a/lib/pages/video/detail/reply_new/view.dart +++ b/lib/pages/video/detail/reply_new/view.dart @@ -8,7 +8,7 @@ import 'package:pilipala/models/video/reply/item.dart'; import 'package:pilipala/utils/feed_back.dart'; class VideoReplyNewDialog extends StatefulWidget { - final int? oid; + final String? oid; final int? root; final int? parent; final ReplyType? replyType;