diff --git a/lib/http/member.dart b/lib/http/member.dart index c5d8c429..56fa4572 100644 --- a/lib/http/member.dart +++ b/lib/http/member.dart @@ -106,10 +106,13 @@ class MemberHttp { 'data': MemberArchiveDataModel.fromJson(res.data['data']) }; } else { + Map errMap = { + -352: '风控校验失败,请检查登录状态', + }; return { 'status': false, 'data': [], - 'msg': res.data['message'], + 'msg': errMap[res.data['code']] ?? res.data['message'], }; } } @@ -128,10 +131,13 @@ class MemberHttp { 'data': DynamicsDataModel.fromJson(res.data['data']), }; } else { + Map errMap = { + -352: '风控校验失败,请检查登录状态', + }; return { 'status': false, 'data': [], - 'msg': res.data['message'], + 'msg': errMap[res.data['code']] ?? res.data['message'], }; } } diff --git a/lib/models/member/archive.dart b/lib/models/member/archive.dart index 5d2ea77e..d735ab7c 100644 --- a/lib/models/member/archive.dart +++ b/lib/models/member/archive.dart @@ -142,7 +142,7 @@ class Stat { Stat.fromJson(Map json) { view = json["play"]; - danmaku = json['comment']; + danmaku = json['video_review']; } } diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index fd3be063..44d6da04 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -218,14 +218,12 @@ class BangumiIntroController extends GetxController { addIds: addMediaIdsNew.join(','), delIds: delMediaIdsNew.join(',')); if (result['status']) { - if (result['data']['prompt']) { - addMediaIdsNew = []; - delMediaIdsNew = []; - Get.back(); - // 重新获取收藏状态 - queryHasFavVideo(); - SmartDialog.showToast('✅ 操作成功'); - } + addMediaIdsNew = []; + delMediaIdsNew = []; + // 重新获取收藏状态 + queryHasFavVideo(); + SmartDialog.showToast('✅ 操作成功'); + Get.back(); } } diff --git a/lib/pages/fav_detail/controller.dart b/lib/pages/fav_detail/controller.dart index 817d1a08..2959a18a 100644 --- a/lib/pages/fav_detail/controller.dart +++ b/lib/pages/fav_detail/controller.dart @@ -60,16 +60,14 @@ class FavDetailController extends GetxController { var result = await VideoHttp.favVideo( aid: id, addIds: '', delIds: mediaId.toString()); if (result['status']) { - if (result['data']['prompt']) { - List dataList = favList; - for (var i in dataList) { - if (i.id == id) { - dataList.remove(i); - break; - } + List dataList = favList; + for (var i in dataList) { + if (i.id == id) { + dataList.remove(i); + break; } - SmartDialog.showToast('取消收藏'); } + SmartDialog.showToast('取消收藏'); } } diff --git a/lib/pages/fav_detail/view.dart b/lib/pages/fav_detail/view.dart index bc1e805f..b4b41ab2 100644 --- a/lib/pages/fav_detail/view.dart +++ b/lib/pages/fav_detail/view.dart @@ -29,6 +29,7 @@ class _FavDetailPageState extends State { @override void initState() { super.initState(); + mediaId = Get.parameters['mediaId']!; _futureBuilderFuture = _favDetailController.queryUserFavFolderDetail(); mediaId = Get.parameters['mediaId']!; titleStreamC = StreamController(); diff --git a/lib/pages/fav_search/controller.dart b/lib/pages/fav_search/controller.dart index 1f5e8d9a..5fb8efa8 100644 --- a/lib/pages/fav_search/controller.dart +++ b/lib/pages/fav_search/controller.dart @@ -80,16 +80,14 @@ class FavSearchController extends GetxController { var result = await VideoHttp.favVideo( aid: id, addIds: '', delIds: mediaId.toString()); if (result['status']) { - if (result['data']['prompt']) { - List dataList = favList; - for (var i in dataList) { - if (i.id == id) { - dataList.remove(i); - break; - } + List dataList = favList; + for (var i in dataList) { + if (i.id == id) { + dataList.remove(i); + break; } - SmartDialog.showToast('取消收藏'); } + SmartDialog.showToast('取消收藏'); } } } diff --git a/lib/pages/member_archive/view.dart b/lib/pages/member_archive/view.dart index f28d9638..591cb3ec 100644 --- a/lib/pages/member_archive/view.dart +++ b/lib/pages/member_archive/view.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:PiliPalaX/common/widgets/video_card_h.dart'; import 'package:PiliPalaX/utils/utils.dart'; +import '../../common/widgets/http_error.dart'; import 'controller.dart'; class MemberArchivePage extends StatefulWidget { @@ -86,10 +87,16 @@ class _MemberArchivePageState extends State { : const SliverToBoxAdapter(), ); } else { - return const SliverToBoxAdapter(); + return HttpError( + errMsg: snapshot.data['msg'], + fn: () {}, + ); } } else { - return const SliverToBoxAdapter(); + return HttpError( + errMsg: snapshot.data['msg'], + fn: () {}, + ); } } else { return const SliverToBoxAdapter(); diff --git a/lib/pages/member_dynamics/view.dart b/lib/pages/member_dynamics/view.dart index 77863126..e054a08d 100644 --- a/lib/pages/member_dynamics/view.dart +++ b/lib/pages/member_dynamics/view.dart @@ -4,6 +4,7 @@ import 'package:get/get.dart'; import 'package:PiliPalaX/pages/member_dynamics/index.dart'; import 'package:PiliPalaX/utils/utils.dart'; +import '../../common/widgets/http_error.dart'; import '../dynamics/widgets/dynamic_panel.dart'; class MemberDynamicsPage extends StatefulWidget { @@ -80,10 +81,16 @@ class _MemberDynamicsPageState extends State { : const SliverToBoxAdapter(), ); } else { - return const SliverToBoxAdapter(); + return HttpError( + errMsg: snapshot.data['msg'], + fn: () {}, + ); } } else { - return const SliverToBoxAdapter(); + return HttpError( + errMsg: snapshot.data['msg'], + fn: () {}, + ); } } else { return const SliverToBoxAdapter(); diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index e68e3da4..9471e965 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -480,7 +480,7 @@ class VideoIntroController extends GetxController { final ReleatedController releatedCtr = Get.find(tag: heroTag); videoDetailCtr.bvid = bvid; - videoDetailCtr.oid.value = aid; + videoDetailCtr.oid.value = aid ?? IdUtils.bv2av(bvid); videoDetailCtr.cid.value = cid; videoDetailCtr.danmakuCid.value = cid; videoDetailCtr.queryVideoUrl(); diff --git a/lib/pages/video/detail/reply/widgets/reply_item.dart b/lib/pages/video/detail/reply/widgets/reply_item.dart index e2072250..ee194d29 100644 --- a/lib/pages/video/detail/reply/widgets/reply_item.dart +++ b/lib/pages/video/detail/reply/widgets/reply_item.dart @@ -620,26 +620,34 @@ InlineSpan buildContent( ..onTap = () async { final String title = content.jumpUrl[matchStr]['title']; if (appUrlSchema == '') { - final String redirectUrl = - await UrlUtils.parseRedirectUrl(matchStr); - final String pathSegment = Uri.parse(redirectUrl).path; - final String lastPathSegment = - pathSegment.split('/').last; - if (lastPathSegment.startsWith('BV')) { + if (matchStr.startsWith('BV')) { UrlUtils.matchUrlPush( - lastPathSegment, + matchStr, title, - redirectUrl, + '', ); } else { - Get.toNamed( - '/webview', - parameters: { - 'url': redirectUrl, - 'type': 'url', - 'pageTitle': title - }, - ); + final String redirectUrl = + await UrlUtils.parseRedirectUrl(matchStr); + final String pathSegment = Uri.parse(redirectUrl).path; + final String lastPathSegment = + pathSegment.split('/').last; + if (lastPathSegment.startsWith('BV')) { + UrlUtils.matchUrlPush( + lastPathSegment, + title, + redirectUrl, + ); + } else { + Get.toNamed( + '/webview', + parameters: { + 'url': redirectUrl, + 'type': 'url', + 'pageTitle': title + }, + ); + } } } else { if (appUrlSchema.startsWith('bilibili://search')) {