修复点赞问题

pull/1/head
张萌 3 years ago
parent 6550a40a4a
commit 3a73097ea8

@ -48,6 +48,7 @@ class _ChatCardState extends State<ChatCard> {
} }
late bool _isLiked; late bool _isLiked;
late int _likeNum;
_renderImage() { _renderImage() {
if (widget.model.dynamicList.isEmpty) return SizedBox(); if (widget.model.dynamicList.isEmpty) return SizedBox();
@ -106,6 +107,13 @@ class _ChatCardState extends State<ChatCard> {
params: {'dynamicId': widget.model.id}); params: {'dynamicId': widget.model.id});
if (res.success) { if (res.success) {
_isLiked = !_isLiked; _isLiked = !_isLiked;
if (_isLiked) {
_likeNum += 1;
} else {
_likeNum -= 1;
}
BotToast.showText(text: _isLiked ? '点赞成功' : '取消点赞成功');
setState(() {}); setState(() {});
} else { } else {
BotToast.showText(text: res.msg); BotToast.showText(text: res.msg);
@ -162,6 +170,7 @@ class _ChatCardState extends State<ChatCard> {
@override @override
void initState() { void initState() {
_isLiked = widget.model.isLike; _isLiked = widget.model.isLike;
_likeNum = widget.model.likes;
super.initState(); super.initState();
} }

@ -7,8 +7,10 @@ import 'package:aku_new_community/provider/user_provider.dart';
import 'package:aku_new_community/ui/community/community_views/add_new_event_page.dart'; import 'package:aku_new_community/ui/community/community_views/add_new_event_page.dart';
import 'package:aku_new_community/utils/bee_date_util.dart'; import 'package:aku_new_community/utils/bee_date_util.dart';
import 'package:aku_new_community/utils/headers.dart'; import 'package:aku_new_community/utils/headers.dart';
import 'package:aku_new_community/utils/network/net_util.dart';
import 'package:aku_new_community/widget/picker/bee_image_preview.dart'; import 'package:aku_new_community/widget/picker/bee_image_preview.dart';
import 'package:aku_new_community/widget/views/bee_grid_image_view.dart'; import 'package:aku_new_community/widget/views/bee_grid_image_view.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:common_utils/common_utils.dart'; import 'package:common_utils/common_utils.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -43,6 +45,16 @@ class _ChatCardDetailState extends State<ChatCardDetail> {
return (userProvider.userInfoModel?.id ?? -1) == widget.model.createId; return (userProvider.userInfoModel?.id ?? -1) == widget.model.createId;
} }
late bool _isLiked;
late int _likeNum;
@override
void initState() {
_isLiked = widget.model.isLike;
_likeNum = widget.model.likes;
super.initState();
}
_renderImage() { _renderImage() {
if (widget.model.dynamicImgList.isEmpty) return SizedBox(); if (widget.model.dynamicImgList.isEmpty) return SizedBox();
if (widget.model.dynamicImgList.length == 1) if (widget.model.dynamicImgList.length == 1)
@ -140,11 +152,32 @@ class _ChatCardDetailState extends State<ChatCardDetail> {
Spacer(), Spacer(),
LikeButton( LikeButton(
size: 40.w, size: 40.w,
isLiked: _isLiked,
onTap: (isLiked) async {
var res = await NetUtil().get(SAASAPI.community.dynamicLike,
params: {'dynamicId': widget.model.id});
if (res.success) {
_isLiked = !_isLiked;
if (_isLiked) {
_likeNum += 1;
} else {
_likeNum -= 1;
}
BotToast.showText(text: _isLiked ? '点赞成功' : '取消点赞成功');
setState(() {});
} else {
BotToast.showText(text: res.msg);
}
},
likeBuilder: (bool isLiked) { likeBuilder: (bool isLiked) {
return Image.asset( return Image.asset(
isLiked ? Assets.icons.communityLikeIs.path : Assets.icons.communityLike.path,); isLiked
? Assets.icons.communityLikeIs.path
: Assets.icons.communityLike.path,
);
}, },
likeCount:widget.model.likes, likeCount: _likeNum,
), ),
// Image.asset( // Image.asset(
// Assets.icons.communityLikeIs.path, // Assets.icons.communityLikeIs.path,
@ -201,7 +234,6 @@ class _ChatCardDetailState extends State<ChatCardDetail> {
]).paddingOnly(bottom: 16.w); ]).paddingOnly(bottom: 16.w);
} }
// _renderLikeAndComment() { // _renderLikeAndComment() {
// if (widget.model!.likeNames!.isEmpty && // if (widget.model!.likeNames!.isEmpty &&
// widget.model!.gambitThemeCommentVoList!.isEmpty) return SizedBox(); // widget.model!.gambitThemeCommentVoList!.isEmpty) return SizedBox();

Loading…
Cancel
Save