diff --git a/lib/grpc/grpc_repo.dart b/lib/grpc/grpc_repo.dart index 109e570c8..61dbd7ded 100644 --- a/lib/grpc/grpc_repo.dart +++ b/lib/grpc/grpc_repo.dart @@ -112,6 +112,8 @@ class GrpcRepo { e.details?.firstOrNull?.getFieldOrNull(2), allowMalformed: true, ); + msg = msg.replaceAll( + RegExp(r"[^a-zA-Z0-9\u4e00-\u9fa5,.;!?,。;!?]"), ''); if (msg.isNotEmpty) { return {'status': false, 'msg': msg}; } else { diff --git a/lib/http/reply.dart b/lib/http/reply.dart index 7e37442d8..bbbac34f8 100644 --- a/lib/http/reply.dart +++ b/lib/http/reply.dart @@ -64,7 +64,8 @@ class ReplyHttp { if (res['status']) { return LoadingState.success(res['data']); } else { - return LoadingState.error(res['msg']); + return LoadingState.error( + '${res['msg'].startsWith('gRPC Error') ? '如无法加载评论:\n关闭代理\n或设置中关闭使用gRPC加载评论\n\n' : ''}${res['msg']}'); } } diff --git a/lib/pages/fav_detail/widget/fav_video_card.dart b/lib/pages/fav_detail/widget/fav_video_card.dart index 574b25442..7114ea903 100644 --- a/lib/pages/fav_detail/widget/fav_video_card.dart +++ b/lib/pages/fav_detail/widget/fav_video_card.dart @@ -40,13 +40,12 @@ class FavVideoCardH extends StatelessWidget { onTap!(); return; } - int? seasonId; String? epId; if (videoItem.ogv != null && (videoItem.ogv['type_name'] == '番剧' || videoItem.ogv['type_name'] == '国创')) { videoItem.cid = await SearchHttp.ab2c(bvid: bvid); - seasonId = videoItem.ogv['season_id']; + dynamic seasonId = videoItem.ogv['season_id']; epId = videoItem.epId; Utils.viewBangumi(seasonId: seasonId, epId: epId); return; @@ -63,7 +62,6 @@ class FavVideoCardH extends StatelessWidget { 'bvid': bvid, 'cid': videoItem.cid.toString(), 'epId': epId ?? '', - if (seasonId != null) 'seasonId': seasonId.toString(), }; // if (seasonId != null) { // parameters['seasonId'] = seasonId.toString(); diff --git a/lib/pages/video/detail/reply/view.dart b/lib/pages/video/detail/reply/view.dart index dec634119..c3d577464 100644 --- a/lib/pages/video/detail/reply/view.dart +++ b/lib/pages/video/detail/reply/view.dart @@ -277,8 +277,7 @@ class _VideoReplyPanelState extends State callback: _videoReplyController.onReload, ), Error() => HttpError( - errMsg: - '如无法加载评论:\n1.关闭代理\n2.设置中关闭使用gRPC加载评论\n\n${loadingState.errMsg}', + errMsg: loadingState.errMsg, callback: _videoReplyController.onReload, ), LoadingState() => throw UnimplementedError(),