diff --git a/lib/pages/video/detail/reply/widgets/reply_item.dart b/lib/pages/video/detail/reply/widgets/reply_item.dart index f7687404..9f1424bc 100644 --- a/lib/pages/video/detail/reply/widgets/reply_item.dart +++ b/lib/pages/video/detail/reply/widgets/reply_item.dart @@ -852,6 +852,18 @@ class ReplyItem extends StatelessWidget { 'dynamicType': 'read' }); } else { + String? cvId = RegExp(r'/read/(cv\d+)') + .firstMatch(matchStr) + ?.group(1); + if (cvId != null) { + Get.toNamed('/htmlRender', parameters: { + 'url': matchStr, + 'title': title, + 'id': cvId, + 'dynamicType': 'read' + }); + return; + } final String redirectUrl = (await UrlUtils.parseRedirectUrl(matchStr)) ?? matchStr; diff --git a/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart b/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart index 816b6f9b..06f07faa 100644 --- a/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart +++ b/lib/pages/video/detail/reply/widgets/reply_item_grpc.dart @@ -891,6 +891,18 @@ class ReplyItemGrpc extends StatelessWidget { 'dynamicType': 'read' }); } else { + String? cvId = RegExp(r'/read/(cv\d+)') + .firstMatch(matchStr) + ?.group(1); + if (cvId != null) { + Get.toNamed('/htmlRender', parameters: { + 'url': matchStr, + 'title': title, + 'id': cvId, + 'dynamicType': 'read' + }); + return; + } final String redirectUrl = (await UrlUtils.parseRedirectUrl(matchStr)) ?? matchStr;