From bda045eb9efd39090e9914490411207a1d9d9ebb Mon Sep 17 00:00:00 2001 From: Seven Tsui <16225583+youyouliangshao@user.noreply.gitee.com> Date: Wed, 17 Sep 2025 11:51:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/index/index.dart | 2 +- lib/pages/my/index.dart | 21 +++++++++++++++++++-- lib/pages/video/index.dart | 7 +++++++ lib/pages/video/module/recommend.dart | 17 +++++++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) diff --git a/lib/pages/index/index.dart b/lib/pages/index/index.dart index b546909..0052bb3 100644 --- a/lib/pages/index/index.dart +++ b/lib/pages/index/index.dart @@ -314,7 +314,7 @@ class _IndexPageState extends State with SingleTickerProviderStateMix child: Column( mainAxisSize: MainAxisSize.min, children: [ - Image.asset('assets/images/empty.png', width: 100), + Image.asset('assets/images/empty.png', width: 50, height: 50), const SizedBox(height: 8), Text( text, diff --git a/lib/pages/my/index.dart b/lib/pages/my/index.dart index 5c074bd..290c75b 100644 --- a/lib/pages/my/index.dart +++ b/lib/pages/my/index.dart @@ -6,6 +6,8 @@ import 'package:get/get_rx/src/rx_typedefs/rx_typedefs.dart'; import 'package:loopin/IM/controller/im_user_info_controller.dart'; import 'package:loopin/IM/im_service.dart'; import 'package:loopin/api/video_api.dart'; +import 'package:loopin/api/common_api.dart'; +import 'package:loopin/utils/index.dart'; import 'package:loopin/components/custom_sticky_header.dart'; import 'package:loopin/components/my_confirm.dart'; import 'package:loopin/components/network_or_asset_image.dart'; @@ -81,6 +83,7 @@ class MyPageState extends State with SingleTickerProviderStateMixin { late Callback tabListener; late Callback scrollListener; + late int vlogLikeCount = 0; // 点赞数量 RxBool isPinned = false.obs; // 是否吸顶 @@ -114,7 +117,7 @@ class MyPageState extends State with SingleTickerProviderStateMixin { } }; tabController.addListener(tabListener); - + getUserLikesCount(); // loadData(0); } @@ -128,6 +131,19 @@ class MyPageState extends State with SingleTickerProviderStateMixin { super.dispose(); } + // 获取用户的所有视频的点赞数量 + void getUserLikesCount() async { + try { + final resData = await Http.get(CommonApi.accountInfo); + if(resData != null && resData['code'] == 200){ + vlogLikeCount = resData['data']['vlogLikeCount']??0; + } + } catch (e) { + + } + + } + // 添加控制子列表滚动的方法 void scrollInnerList([double? offset]) async { if (isPinned.value) { @@ -802,7 +818,8 @@ class MyPageState extends State with SingleTickerProviderStateMixin { child: Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - Column(children: [Text('9999', style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold)), SizedBox(height: 3.0), Text('获赞')]), + // '已售${Utils.graceNumber(int.tryParse(vlogLikeCount?.toString() ?? '0') ?? 0)}', + Column(children: [Text('${Utils.graceNumber(vlogLikeCount)}', style: TextStyle(fontSize: 16.0, fontWeight: FontWeight.bold)), SizedBox(height: 3.0), Text('获赞')]), GestureDetector( onTap: () async { // 互相关注 diff --git a/lib/pages/video/index.dart b/lib/pages/video/index.dart index a69827f..42ae139 100644 --- a/lib/pages/video/index.dart +++ b/lib/pages/video/index.dart @@ -3,11 +3,13 @@ library; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:loopin/utils/common.dart'; import '../../IM/im_core.dart'; import '../../behavior/custom_scroll_behavior.dart'; import '../../components/keepalive_wrapper.dart'; import '../../controller/video_module_controller.dart'; + import './module/attention.dart'; // import './module/browse.dart'; // import './module/buying.dart'; @@ -114,6 +116,11 @@ class _VideoPageState extends State with SingleTickerProviderStateMix labelPadding: const EdgeInsets.symmetric(horizontal: 10.0), indicatorPadding: EdgeInsets.symmetric(horizontal: 15.0, vertical: 4.0), onTap: (index) { + // 除了第二个推荐tab,其他tab都校验登录状态 + if (!Common.isLogin() && index != 2) { + Get.toNamed('/login'); + return; + } // 同步索引 videoModuleController.updateVideoTabIndex(index); pageController.jumpToPage(index); diff --git a/lib/pages/video/module/recommend.dart b/lib/pages/video/module/recommend.dart index 335ec49..8d43c3a 100644 --- a/lib/pages/video/module/recommend.dart +++ b/lib/pages/video/module/recommend.dart @@ -8,6 +8,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; +import 'package:loopin/utils/common.dart'; import 'package:loopin/IM/controller/chat_controller.dart'; import 'package:loopin/IM/controller/im_user_info_controller.dart'; import 'package:loopin/IM/im_core.dart'; @@ -1170,6 +1171,10 @@ class _RecommendModuleState extends State { ), ), onTap: () async { + if (!Common.isLogin()) { + Get.toNamed('/login'); + return; + } final vlogerId = videoList[index]['memberId']; final doIFollowVloger = videoList[index]['doIFollowVloger']; // 未关注点击才去关注 @@ -1203,6 +1208,10 @@ class _RecommendModuleState extends State { ), onTap: () { logger.d('点击了点赞按钮${videoList[index]['doILikeThisVlog']}'); + if (!Common.isLogin()) { + Get.toNamed('/login'); + return; + } if (videoList[index]['doILikeThisVlog'] == true) { logger.d('点击了点赞按钮${videoList[index]['doILikeThisVlog']}'); doUnLikeVideo(videoList[index]); @@ -1227,6 +1236,10 @@ class _RecommendModuleState extends State { ], ), onTap: () { + if (!Common.isLogin()) { + Get.toNamed('/login'); + return; + } handleComment(index); }, ), @@ -1242,6 +1255,10 @@ class _RecommendModuleState extends State { ], ), onTap: () { + if (!Common.isLogin()) { + Get.toNamed('/login'); + return; + } handleShare(index); }, ),