diff --git a/lib/community/community_child_page.dart b/lib/community/community_child_page.dart index d37c22f9..886387e7 100644 --- a/lib/community/community_child_page.dart +++ b/lib/community/community_child_page.dart @@ -26,6 +26,7 @@ class _CommunityChildPage extends State { RefreshController refreshController = RefreshController(); ApiService apiService; int pageNum = 0; + String userId; List comments = []; @@ -44,6 +45,7 @@ class _CommunityChildPage extends State { queryCommunity() async { if (apiService == null) { SharedPreferences value = await SharedPreferences.getInstance(); + userId = value.getString('userId'); apiService = ApiService( Dio(), context: context, @@ -104,16 +106,17 @@ class _CommunityChildPage extends State { child: CommunityDynamic( comments[position], 0, + userId: userId, isList: true, - exitFull: () { - setState(() {}); - }, + exitFull: (){setState(() { + _onRefresh(); + });}, ), onTap: () { Navigator.of(context).pushNamed( '/router/community_details', arguments: { - "comment": comments[position], + "comment": comments[position],"userId":userId, }, ); }, diff --git a/lib/community/community_details.dart b/lib/community/community_details.dart index 90f541c6..4b9b3789 100644 --- a/lib/community/community_details.dart +++ b/lib/community/community_details.dart @@ -1,20 +1,15 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; -import 'package:huixiang/community/community_view/community_comment.dart'; import 'package:huixiang/community/community_view/community_dynamic.dart'; import 'package:huixiang/generated/l10n.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:huixiang/retrofit/data/activity.dart'; import 'package:huixiang/retrofit/data/article.dart'; import 'package:huixiang/retrofit/data/base_data.dart'; import 'package:huixiang/retrofit/data/comunity_comment.dart'; import 'package:huixiang/retrofit/data/member_comment_list.dart'; import 'package:huixiang/retrofit/data/page.dart'; import 'package:huixiang/retrofit/retrofit_api.dart'; -import 'package:huixiang/utils/font_weight.dart'; -import 'package:huixiang/view_widget/comment_menu.dart'; -import 'package:huixiang/view_widget/login_tips_dialog.dart'; import 'package:huixiang/view_widget/my_appbar.dart'; import 'package:huixiang/view_widget/tips_dialog.dart'; import 'package:huixiang/web/web_view/comment_list.dart'; @@ -125,6 +120,7 @@ class _CommunityDetails extends State with WidgetsBindingObser exitFull: () { setState(() {}); }, + userId:widget.arguments["userId"], itemCount: 3, isDetails: true, heightFun: (height) { @@ -140,7 +136,7 @@ class _CommunityDetails extends State with WidgetsBindingObser ), CommentList( commentKey, - "${comunity?.likes ?? comunity?.likes ?? "0"}", + comunity?.likes ?? comunity?.likes.toString() ?? 0, comunity.id, isKeyBoardShow, _reply, diff --git a/lib/community/community_view/community_dynamic.dart b/lib/community/community_view/community_dynamic.dart index 26dc7e55..e9ad6b2c 100644 --- a/lib/community/community_view/community_dynamic.dart +++ b/lib/community/community_view/community_dynamic.dart @@ -19,7 +19,6 @@ import 'package:image_pickers/image_pickers.dart'; import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:video_player/video_player.dart'; -import 'package:thumbnails/thumbnails.dart'; class CommunityDynamic extends StatefulWidget { final int itemCount; @@ -30,6 +29,7 @@ class CommunityDynamic extends StatefulWidget { final Function exitFull; final bool isList; final ComunityComment comment; + final String userId; CommunityDynamic( this.comment, @@ -40,6 +40,7 @@ class CommunityDynamic extends StatefulWidget { this.isDetails = false, this.removalDynamic, this.exitFull, + this.userId, this.isList = false, }) : super(key: key); @@ -58,6 +59,7 @@ class _CommunityDynamic extends State { ChewieController chewieAudioController; Chewie chewies; + @override void initState() { super.initState(); @@ -115,6 +117,7 @@ class _CommunityDynamic extends State { _vipFollow(followId) async { BaseData baseData = await apiService.follow(followId); if (baseData != null && baseData.isSuccess) { + widget.exitFull(); SmartDialog.showToast("关注成功", alignment: Alignment.center); } else { SmartDialog.showToast(baseData.msg, alignment: Alignment.center); @@ -184,15 +187,15 @@ class _CommunityDynamic extends State { Text( widget?.comment?.memberInfo?.nickname ?? "", style: TextStyle( - fontSize: 14.sp, - fontWeight: MyFontWeight.medium, + fontSize: 15.sp, + fontWeight: MyFontWeight.semi_bold, color: Color(0xFF1A1A1A), ), ), Text( widget?.comment?.createTime ?? "", style: TextStyle( - fontSize: 12.sp, + fontSize: 13.sp, fontWeight: MyFontWeight.regular, color: Color(0xFF808080), ), @@ -202,24 +205,30 @@ class _CommunityDynamic extends State { ], ), ), - GestureDetector( - onTap: () { - setState(() { - if (widget.commentType == 0) { - widget.comment.selfFollow = - !(widget.comment.selfFollow ?? false); - _vipFollow(widget.comment.memberInfo.mid); - } else { - showDeleteDialog(); - } - }); - }, - child: (widget.commentType == 0) - ? RoundButton( - padding: EdgeInsets.symmetric( - horizontal: 8, - vertical: 3, - ), + if(widget.comment.memberInfo.mid != widget.userId??"") + GestureDetector( + onTap: () { + setState(() { + if (widget.commentType == 0) { + widget.comment.selfFollow = + !(widget.comment.selfFollow ?? false); + _vipFollow(widget.comment.memberInfo.mid); + } else { + showDeleteDialog(); + } + }); + }, + child: (widget.commentType == 0 + ) + ? Container( + width: 56.w, + height: 21.h, + alignment: Alignment.center, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(11.w), + color: Color(0xFF32A060), + ), + child: RoundButton( backgroup: (widget.comment.selfFollow ?? false) ? Color(0xFFE6E6E6) : Color(0xFF32A060), @@ -237,15 +246,15 @@ class _CommunityDynamic extends State { color: (widget.comment.selfFollow ?? false) ? Color(0xFF808080) : Colors.white, - size: 14, + size: 15, ), - ) - : Icon( - Icons.close, - color: Colors.black, - size: 16, - ), - ), + )) + : Icon( + Icons.close, + color: Colors.black, + size: 16, + ), + ), ], ), SizedBox( @@ -258,7 +267,7 @@ class _CommunityDynamic extends State { style: TextStyle( color: Color(0xFF1A1A1A), fontWeight: MyFontWeight.regular, - fontSize: 14.sp, + fontSize: 15.sp, ), ), buildMedia(widget.comment.subjectInfo), @@ -285,11 +294,16 @@ class _CommunityDynamic extends State { leftImage: "assets/svg/pinglun.svg", iconSize: 16, ), - IconText( - "${widget.comment.likes ?? 0}", - space: 4.w, - leftImage: "assets/svg/xihuan.svg", - iconSize: 16, + GestureDetector( + onTap: (){ + + }, + child: IconText( + "${widget.comment.likes ?? 0}", + space: 4.w, + leftImage: "assets/svg/xihuan.svg", + iconSize: 16, + ), ), ], ), diff --git a/lib/home/home_view/featured_acticvity.dart b/lib/home/home_view/featured_acticvity.dart index 3d1b9736..0782343e 100644 --- a/lib/home/home_view/featured_acticvity.dart +++ b/lib/home/home_view/featured_acticvity.dart @@ -39,13 +39,12 @@ class _FeaturedActivity extends State { "searchKey": "", "type": 1, "state": 1 - }).catchError((error) { - }); + }).catchError((error) {}); if (baseData != null && baseData.isSuccess) { activityList = baseData.data.list; - if(activityList != null && activityList.length == 1) + if (activityList != null && activityList.length == 1) activityList.add(activityList[0]); - if(activityList != null && activityList.length == 2) + if (activityList != null && activityList.length == 2) activityList.add(activityList[1]); } } @@ -69,64 +68,66 @@ class _FeaturedActivity extends State { margin: EdgeInsets.symmetric(horizontal: 9.w), child: Row( children: [ - if(activityList != null && activityList.length > 0) - Container( - child: stackItem(18.sp,activityList[0]), - margin: EdgeInsets.symmetric(horizontal: 5.w), - width: (MediaQuery.of(context).size.width - 42) / 2, - height: 190.h, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(4), - color: Colors.red, - image: DecorationImage( - image: NetworkImage( - activityList[0].coverImg, + if (activityList != null && activityList.length > 0) + Container( + child: stackItem(18.sp, activityList[0]), + margin: EdgeInsets.symmetric(horizontal: 5.w), + width: (MediaQuery.of(context).size.width - 42) / 2, + height: 190.h, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: Colors.red, + image: DecorationImage( + image: NetworkImage( + activityList[0].coverImg, + ), + fit: BoxFit.cover, ), - fit: BoxFit.cover, ), ), - ), - if(activityList != null && activityList.length > 1) - Container( - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Container( - child: stackItem(12.sp,activityList[1]), - margin: EdgeInsets.symmetric(horizontal: 5.w), - width: (MediaQuery.of(context).size.width - 42) / 2, - height: 190.h / 2, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(4), - color: Colors.green, - image: DecorationImage( - image: NetworkImage( - activityList[1].coverImg, + if (activityList != null && activityList.length > 1) + Container( + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Container( + child: stackItem(12.sp, activityList[1]), + margin: EdgeInsets.symmetric(horizontal: 5.w), + width: (MediaQuery.of(context).size.width - 42) / 2, + height: 190.h / 2, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: Colors.green, + image: DecorationImage( + image: NetworkImage( + activityList[2].coverImg, + ), + fit: BoxFit.cover, ), - fit: BoxFit.cover, ), ), - ), - SizedBox(height: 5,), - Container( - child: stackItem(12.sp,activityList[2]), - margin: EdgeInsets.symmetric(horizontal: 5.w), - width: (MediaQuery.of(context).size.width - 42) / 2, - height: 190.h / 2, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(4), - color: Colors.blue, - image: DecorationImage( - image: NetworkImage( - activityList[2].coverImg, + SizedBox( + height: 5, + ), + Container( + child: stackItem(12.sp, activityList[2]), + margin: EdgeInsets.symmetric(horizontal: 5.w), + width: (MediaQuery.of(context).size.width - 42) / 2, + height: 190.h / 2, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(4), + color: Colors.blue, + image: DecorationImage( + image: NetworkImage( + activityList[2].coverImg, + ), + fit: BoxFit.cover, ), - fit: BoxFit.cover, ), - ), - ), - ], + ) + ], + ), ), - ), ], ), ), @@ -137,7 +138,7 @@ class _FeaturedActivity extends State { ); } - Widget stackItem(double textSize,Activity activity) { + Widget stackItem(double textSize, Activity activity) { return Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, @@ -149,6 +150,8 @@ class _FeaturedActivity extends State { children: [ Text( activity.mainTitle, + overflow: TextOverflow.ellipsis, + maxLines: 1, style: TextStyle( fontWeight: MyFontWeight.semi_bold, fontSize: textSize, @@ -181,7 +184,13 @@ class _FeaturedActivity extends State { borderRadius: BorderRadius.circular(20), ), alignment: Alignment.center, - child: Row( + child: + GestureDetector( + onTap: (){ + Navigator.of(context).pushNamed('/router/web_page', + arguments: {"activityId": activity.id}); + }, + child:Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ @@ -199,7 +208,7 @@ class _FeaturedActivity extends State { size: 12, ), ], - ), + )), ), ], ); diff --git a/lib/mine/fans_page.dart b/lib/mine/fans_page.dart index 6a25e159..860f1a10 100644 --- a/lib/mine/fans_page.dart +++ b/lib/mine/fans_page.dart @@ -167,6 +167,7 @@ class _FansPage extends State { Container( width: 56.w, height: 21.h, + alignment: Alignment.center, decoration: BoxDecoration( borderRadius: BorderRadius.circular(11.w), color: Color(0xFF32A060), @@ -178,10 +179,6 @@ class _FansPage extends State { }); }, child: RoundButton( - padding: EdgeInsets.symmetric( - horizontal: 8, - vertical: 3, - ), backgroup: (list?.isFollow ?? false) ? Color(0xFFE6E6E6) : Color(0xFF32A060), diff --git a/lib/mine/mine_view/community_follow.dart b/lib/mine/mine_view/community_follow.dart index 54b1c50b..adc7e022 100644 --- a/lib/mine/mine_view/community_follow.dart +++ b/lib/mine/mine_view/community_follow.dart @@ -84,8 +84,8 @@ class _CommunityFollow extends State indicatorSize: TabBarIndicatorSize.label, //指示器与文字等宽 tabs: [ - MyTab(text:"关注(${infoNumber?.follow??"0"})",), - MyTab(text: "粉丝(${infoNumber?.fans??"0"})"), + MyTab(text:"关注${infoNumber?.follow??"0"}",), + MyTab(text: "粉丝${infoNumber?.fans??"0"}"), ], ), ), diff --git a/lib/web/web_page.dart b/lib/web/web_page.dart index 2b45d671..438b4c40 100644 --- a/lib/web/web_page.dart +++ b/lib/web/web_page.dart @@ -271,7 +271,7 @@ class _WebPage extends State with WidgetsBindingObserver { /// 富文本的评论 CommentList( commentKey, - article?.likes ?? "${activity?.likes}" ?? "0", + article?.likes ?? activity?.likes ?? 0, article?.id ?? activity?.id, isKeyBoardShow, _reply, diff --git a/lib/web/web_view/comment_list.dart b/lib/web/web_view/comment_list.dart index db3c4c80..a5b5da8e 100644 --- a/lib/web/web_view/comment_list.dart +++ b/lib/web/web_view/comment_list.dart @@ -22,7 +22,7 @@ class CommentList extends StatefulWidget { final Function delCommentTips; final double fontSize; final String relationalId; - final String like; + final int like; CommentList(Key key, this.like, this.relationalId, this.isKeyBoardShow, this.reply, this.delCommentTips, this.fontSize)