diff --git a/lib/common/widgets/video_card_h.dart b/lib/common/widgets/video_card_h.dart index 7d825f14..9da58416 100644 --- a/lib/common/widgets/video_card_h.dart +++ b/lib/common/widgets/video_card_h.dart @@ -151,6 +151,7 @@ class VideoContent extends StatelessWidget { ), ] else ...[ RichText( + maxLines: 2, text: TextSpan( children: [ for (var i in videoItem.title) ...[ diff --git a/lib/http/user.dart b/lib/http/user.dart index 6d4e8100..b38050e0 100644 --- a/lib/http/user.dart +++ b/lib/http/user.dart @@ -54,7 +54,7 @@ class UserHttp { FavFolderData data = FavFolderData.fromJson(res.data['data']); return {'status': true, 'data': data}; } else { - return {'status': false, 'data': [], 'msg': res.data['message']}; + return {'status': false, 'data': [], 'msg': '账号未登录'}; } } diff --git a/lib/models/search/result.dart b/lib/models/search/result.dart index ea26fb0c..9e2d9cbd 100644 --- a/lib/models/search/result.dart +++ b/lib/models/search/result.dart @@ -53,6 +53,7 @@ class SearchVideoItemModel { int? aid; String? bvid; List? title; + // List? titleList; String? description; String? pic; // String? play; @@ -78,6 +79,7 @@ class SearchVideoItemModel { arcurl = json['arcurl']; aid = json['aid']; bvid = json['bvid']; + // title = json['title'].replaceAll(RegExp(r'<.*?>'), ''); title = Em.regTitle(json['title']); description = json['description']; pic = 'https:${json['pic']}'; diff --git a/lib/pages/fav/controller.dart b/lib/pages/fav/controller.dart index 0321ea39..80162297 100644 --- a/lib/pages/fav/controller.dart +++ b/lib/pages/fav/controller.dart @@ -10,9 +10,11 @@ class FavController extends GetxController { var res = await await UserHttp.userfavFolder( pn: 1, ps: 10, - mid: GStrorage.user.get(UserBoxKey.userMid), + mid: GStrorage.user.get(UserBoxKey.userMid) ?? 0, ); - favFolderData.value = res['data']; + if (res['status']) { + favFolderData.value = res['data']; + } return res; } } diff --git a/lib/pages/fav/view.dart b/lib/pages/fav/view.dart index 3f23f451..7a6b147c 100644 --- a/lib/pages/fav/view.dart +++ b/lib/pages/fav/view.dart @@ -59,14 +59,19 @@ class _FavPageState extends State { ), ); } else { - return HttpError( - errMsg: data['msg'], - fn: () => setState(() {}), + return CustomScrollView( + physics: const NeverScrollableScrollPhysics(), + slivers: [ + HttpError( + errMsg: data['msg'], + fn: () => setState(() {}), + ), + ], ); } } else { // 骨架屏 - return Text('请求中'); + return const Text('请求中'); } }, ), diff --git a/lib/pages/media/controller.dart b/lib/pages/media/controller.dart index 6b0d5b77..79336c98 100644 --- a/lib/pages/media/controller.dart +++ b/lib/pages/media/controller.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/user.dart'; @@ -13,7 +14,9 @@ class MediaController extends GetxController { { 'icon': Icons.file_download_outlined, 'title': '离线缓存', - 'onTap': () {}, + 'onTap': () { + SmartDialog.showToast('功能开发中'); + }, }, { 'icon': Icons.history, diff --git a/lib/pages/searchPanel/widgets/media_bangumi_panel.dart b/lib/pages/searchPanel/widgets/media_bangumi_panel.dart index 66d78169..f7d73e73 100644 --- a/lib/pages/searchPanel/widgets/media_bangumi_panel.dart +++ b/lib/pages/searchPanel/widgets/media_bangumi_panel.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; +import 'package:pilipala/utils/utils.dart'; Widget searchMbangumiPanel(BuildContext context, ctr, list) { return ListView.builder( @@ -26,6 +27,7 @@ Widget searchMbangumiPanel(BuildContext context, ctr, list) { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + const SizedBox(height: 4), RichText( text: TextSpan( style: TextStyle( @@ -53,8 +55,15 @@ Widget searchMbangumiPanel(BuildContext context, ctr, list) { const SizedBox(height: 12), Text('评分:${i.mediaScore['score'].toString()}'), const SizedBox(height: 2), - // Text(Utils.dateFormat(i.pubtime).toString()), - // const SizedBox(height: 2), + Row( + children: [ + Text(i.areas), + const SizedBox(width: 3), + const Text('·'), + const SizedBox(width: 3), + Text(Utils.dateFormat(i.pubtime).toString()), + ], + ), Row( children: [ Text(i.styles), @@ -66,7 +75,7 @@ Widget searchMbangumiPanel(BuildContext context, ctr, list) { ], ), // Text('声优:${i.cv}'), - const SizedBox(height: 2), + const SizedBox(height: 6), Text(i.desc, overflow: TextOverflow.ellipsis, maxLines: 2), ], ), diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 7d072fc2..00685a17 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -57,7 +57,15 @@ class VideoIntroController extends GetxController { preRender = true; var args = Get.arguments['videoItem']; videoItem!['pic'] = args.pic; - videoItem!['title'] = args.title; + if (args.title is String) { + videoItem!['title'] = args.title; + } else { + String str = ''; + for (Map map in args.title) { + str += map['text']; + } + videoItem!['title'] = str; + } if (args.stat != null) { videoItem!['stat'] = args.stat; }