# Conflicts:
#	lib/widget/picker/bee_city_picker.dart
pull/1/head
张萌 3 years ago
commit 7f6d97c230

@ -1297,10 +1297,6 @@ class $AssetsImagesGen {
AssetGenImage get wxpay => const AssetGenImage('assets/images/wxpay.png'); AssetGenImage get wxpay => const AssetGenImage('assets/images/wxpay.png');
} }
class $AssetsJsonGen {
const $AssetsJsonGen();
}
class $AssetsNewIconGen { class $AssetsNewIconGen {
const $AssetsNewIconGen(); const $AssetsNewIconGen();
@ -1533,7 +1529,6 @@ class Assets {
static const $AssetsHomeGen home = $AssetsHomeGen(); static const $AssetsHomeGen home = $AssetsHomeGen();
static const $AssetsIconsGen icons = $AssetsIconsGen(); static const $AssetsIconsGen icons = $AssetsIconsGen();
static const $AssetsImagesGen images = $AssetsImagesGen(); static const $AssetsImagesGen images = $AssetsImagesGen();
static const $AssetsJsonGen json = $AssetsJsonGen();
static const $AssetsNewIconGen newIcon = $AssetsNewIconGen(); static const $AssetsNewIconGen newIcon = $AssetsNewIconGen();
static const $AssetsStaticGen static = $AssetsStaticGen(); static const $AssetsStaticGen static = $AssetsStaticGen();
static const $AssetsTabGen tab = $AssetsTabGen(); static const $AssetsTabGen tab = $AssetsTabGen();

@ -7,8 +7,9 @@ part 'reply_list_model.g.dart';
@JsonSerializable() @JsonSerializable()
class ReplyListModel { class ReplyListModel {
final int id; final int id;
final int type;
final int status; final int status;
final String content; final String? content;
final int sendId; final int sendId;
final String sendName; final String sendName;
final String sendDate; final String sendDate;
@ -26,6 +27,7 @@ class ReplyListModel {
const ReplyListModel({ const ReplyListModel({
required this.id, required this.id,
required this.type,
required this.status, required this.status,
required this.content, required this.content,
required this.sendId, required this.sendId,

@ -9,8 +9,9 @@ part of 'reply_list_model.dart';
ReplyListModel _$ReplyListModelFromJson(Map<String, dynamic> json) => ReplyListModel _$ReplyListModelFromJson(Map<String, dynamic> json) =>
ReplyListModel( ReplyListModel(
id: json['id'] as int, id: json['id'] as int,
type: json['type'] as int,
status: json['status'] as int, status: json['status'] as int,
content: json['content'] as String, content: json['content'] !=null? json['content'] as String:'',
sendId: json['sendId'] as int, sendId: json['sendId'] as int,
sendName: json['sendName'] as String, sendName: json['sendName'] as String,
sendDate: json['sendDate'] as String, sendDate: json['sendDate'] as String,

@ -47,6 +47,8 @@ class _MessageCenterPageState extends State<MessageCenterPage>
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BeeScaffold( return BeeScaffold(
bgColor: Colors.white,
bodyColor: Color(0xFFF9F9F9),
title: '消息', title: '消息',
actions: [ actions: [
MaterialButton( MaterialButton(
@ -65,21 +67,28 @@ class _MessageCenterPageState extends State<MessageCenterPage>
padding: EdgeInsets.symmetric(horizontal: 32.w), padding: EdgeInsets.symmetric(horizontal: 32.w),
), ),
], ],
appBarBottom: BeeTabBar( appBarBottom:
TabBar(
controller: _tabController, controller: _tabController,
tabs: _tabs, indicatorColor: Color(0xffffc40c),
tabs: _tabs.map((e) => Tab(text: e)).toList(),
indicatorPadding: EdgeInsets.only(bottom: 15.w,left: 35.w,right: 35.w),
), ),
body: TabBarView( body:
children: [ Padding(
ReplayView( padding: EdgeInsets.only(top: 10.w),
controller: _controllers[0], child: TabBarView(
), children: [
ThumbsUpView( ReplayView(
controller: _controllers[1], controller: _controllers[0],
), ),
AnnounceView(), ThumbsUpView(
], controller: _controllers[1],
controller: _tabController, ),
AnnounceView(),
],
controller: _tabController,
),
), ),
); );
} }

@ -38,7 +38,9 @@ class _ReplayViewState extends State<ReplayView> {
itemBuilder: (context, index) { itemBuilder: (context, index) {
return ReplyCard(model: items[index]); return ReplyCard(model: items[index]);
}, },
separatorBuilder: (_, __) =>1.w.heightBox, separatorBuilder: (_, __) =>Container(
color: Color(0xFFF0F0F0),height: 2.w,
),
itemCount: items.length); itemCount: items.length);
}); });
} }

@ -42,7 +42,13 @@ class ReplyCard extends StatelessWidget {
children: [ children: [
model.sendName.text.size(26.sp).black.bold.make(), model.sendName.text.size(26.sp).black.bold.make(),
5.heightBox, 5.heightBox,
model.content.text model.content==null?''.text
.size(26.sp)
.color(ktextSubColor)
.maxLines(1)
.ellipsis
.make():
(model.content!).text
.size(26.sp) .size(26.sp)
.color(ktextSubColor) .color(ktextSubColor)
.maxLines(1) .maxLines(1)

@ -1,5 +1,6 @@
import 'package:aku_new_community/base/base_style.dart'; import 'package:aku_new_community/base/base_style.dart';
import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/gen/assets.gen.dart';
import 'package:aku_new_community/models/message/reply_list_model.dart';
import 'package:aku_new_community/models/message/thumbs_up_list_model.dart'; import 'package:aku_new_community/models/message/thumbs_up_list_model.dart';
import 'package:aku_new_community/pages/message_center_page/message_func.dart'; import 'package:aku_new_community/pages/message_center_page/message_func.dart';
import 'package:aku_new_community/widget/beeImageNetwork.dart'; import 'package:aku_new_community/widget/beeImageNetwork.dart';
@ -8,7 +9,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:velocity_x/velocity_x.dart'; import 'package:velocity_x/velocity_x.dart';
class ThumbsUpCard extends StatelessWidget { class ThumbsUpCard extends StatelessWidget {
final ThumbsUpListModel model; final ReplyListModel model;
const ThumbsUpCard({Key? key, required this.model}) : super(key: key); const ThumbsUpCard({Key? key, required this.model}) : super(key: key);
@ -36,8 +37,10 @@ class ThumbsUpCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
model.sendName.text.size(26.sp).black.bold.make(), model.sendName.text.size(26.sp).black.bold.make(),
5.heightBox,
Assets.icons.communityLikeIs Assets.icons.communityLikeIs
.image(width: 28.w, height: 28.w, fit: BoxFit.contain), .image(width: 28.w, height: 28.w, fit: BoxFit.contain),
5.heightBox,
model.sendDate.text.size(24.sp).color(ktextSubColor).make(), model.sendDate.text.size(24.sp).color(ktextSubColor).make(),
], ],
), ),

@ -300,134 +300,134 @@ class _EventDetailPageState extends State<EventDetailPage> {
} }
Widget _commentWidget(CommentListModel model, int rootIndex) { Widget _commentWidget(CommentListModel model, int rootIndex) {
return Container( return GestureDetector(
// key: UniqueKey(), onTap: () {
color: Colors.white, _rootId = model.id;
padding: EdgeInsets.symmetric(vertical: 32.w, horizontal: 32.w), _parentId = model.id;
width: double.infinity, _focusNode.requestFocus();
child: Column( _currentCommentIndex = rootIndex;
crossAxisAlignment: CrossAxisAlignment.start, },
children: [ child: Container(
[ // key: UniqueKey(),
Material( color: Colors.white,
color: Color(0xFFF5F5F5), padding: EdgeInsets.symmetric(vertical: 32.w, horizontal: 32.w),
borderRadius: BorderRadius.circular(48.w), width: double.infinity,
clipBehavior: Clip.antiAlias, child: Column(
child: FadeInImage.assetNetwork( crossAxisAlignment: CrossAxisAlignment.start,
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP, children: [
image: SAASAPI.image(ImgModel.first(model.avatarImgList)), [
height: 96.w, Material(
width: 96.w, color: Color(0xFFF5F5F5),
fit: BoxFit.cover, borderRadius: BorderRadius.circular(48.w),
imageErrorBuilder: (context, error, stackTrace) { clipBehavior: Clip.antiAlias,
return Image.asset( child: FadeInImage.assetNetwork(
R.ASSETS_IMAGES_PLACEHOLDER_WEBP, placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
height: 86.w, image: SAASAPI.image(ImgModel.first(model.avatarImgList)),
width: 86.w, height: 96.w,
); width: 96.w,
}, fit: BoxFit.cover,
), imageErrorBuilder: (context, error, stackTrace) {
), return Image.asset(
20.wb, R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
Column( height: 86.w,
crossAxisAlignment: CrossAxisAlignment.start, width: 86.w,
children: [ );
Text( },
model.createName,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: Colors.black.withOpacity(0.85),
fontSize: 30.sp,
fontWeight: FontWeight.w500),
), ),
12.hb, ),
BeeDateUtil(DateUtil.getDateTime(model.createDate)) 20.wb,
.timeAgoWithHm Column(
.text crossAxisAlignment: CrossAxisAlignment.start,
.size(24.sp) children: [
.color(Color(0xFF999999)) Text(
.make(), model.createName,
], maxLines: 1,
), overflow: TextOverflow.ellipsis,
Spacer(), style: TextStyle(
CommunityPopButton( color: Colors.black.withOpacity(0.85),
isMyself: _isMyself, fontSize: 30.sp,
onSelect: (value) async { fontWeight: FontWeight.w500),
if (_isMyself) { ),
await CommunityFunc.deleteComment(model.id); 12.hb,
_refreshController.callRefresh(); BeeDateUtil(DateUtil.getDateTime(model.createDate))
} .timeAgoWithHm
}) .text
].row(), .size(24.sp)
40.hb, .color(Color(0xFF999999))
model.content.text.size(28.sp).color(ktextSubColor).make(), .make(),
30.hb, ],
GestureDetector( ),
onTap: () async { Spacer(),
var res = CommunityPopButton(
await NetUtil().get(SAASAPI.community.commentLike, params: { isMyself: _isMyself,
'commentId': model.id, onSelect: (value) async {
}); if (_isMyself) {
if (res.success) { await CommunityFunc.deleteComment(model.id);
_likes[rootIndex] = !_likes[rootIndex]; _refreshController.callRefresh();
setState(() {}); }
} })
}, ].row(),
child: Row( 40.hb,
children: [ model.content.text.size(28.sp).color(ktextSubColor).make(),
Spacer(), 30.hb,
GestureDetector( GestureDetector(
onTap: () async { onTap: () async {
var base = await NetUtil().get( var res =
SAASAPI.community.commentLike, await NetUtil().get(SAASAPI.community.commentLike, params: {
params: {'commentId': model.id}); 'commentId': model.id,
if (base.success) { });
_likes[rootIndex] = !_likes[rootIndex]; if (res.success) {
if (_likes[rootIndex]) { _likes[rootIndex] = !_likes[rootIndex];
_likeNums[rootIndex] += 1; setState(() {});
}
},
child: Row(
children: [
Spacer(),
GestureDetector(
onTap: () async {
var base = await NetUtil().get(
SAASAPI.community.commentLike,
params: {'commentId': model.id});
if (base.success) {
_likes[rootIndex] = !_likes[rootIndex];
if (_likes[rootIndex]) {
_likeNums[rootIndex] += 1;
} else {
_likeNums[rootIndex] -= 1;
}
BotToast.showText(
text: _likes[rootIndex] ? '点赞成功' : '取消点赞成功');
} else { } else {
_likeNums[rootIndex] -= 1; BotToast.showText(text: base.msg);
} }
BotToast.showText(
text: _likes[rootIndex] ? '点赞成功' : '取消点赞成功');
} else {
BotToast.showText(text: base.msg);
}
setState(() {}); setState(() {});
}, },
child: Material( child: Material(
color: Colors.transparent, color: Colors.transparent,
child: Row( child: Row(
children: [ children: [
Image.asset( Image.asset(
R.ASSETS_ICONS_COMMUNITY_LIKE_PNG, R.ASSETS_ICONS_COMMUNITY_LIKE_PNG,
width: 32.w, width: 32.w,
height: 32.w, height: 32.w,
color: !_likes[rootIndex] color: !_likes[rootIndex]
? Colors.black.withOpacity(0.45) ? Colors.black.withOpacity(0.45)
: kPrimaryColor, : kPrimaryColor,
), ),
5.wb, 5.wb,
'${_likeNums[rootIndex]}' '${_likeNums[rootIndex]}'
.text .text
.size(24.sp) .size(24.sp)
.color(Color(0xFF999999)) .color(Color(0xFF999999))
.make(), .make(),
], ],
),
), ),
), ),
), 32.wb,
32.wb, Row(
GestureDetector(
onTap: () {
_rootId = model.id;
_parentId = model.id;
_focusNode.requestFocus();
_currentCommentIndex = rootIndex;
},
child: Row(
children: [ children: [
Image.asset( Image.asset(
R.ASSETS_ICONS_COMMUNITY_COMMENT_PNG, R.ASSETS_ICONS_COMMUNITY_COMMENT_PNG,
@ -436,46 +436,46 @@ class _EventDetailPageState extends State<EventDetailPage> {
), ),
], ],
), ),
), 5.wb,
5.wb, '${model.commentNum}'
'${model.commentNum}' .text
.text .size(24.sp)
.size(24.sp) .color(Color(0xFF999999))
.color(Color(0xFF999999)) .make(),
.make(), ],
], ),
), ),
), 40.hb,
40.hb, model.commentTwoList.isEmpty
model.commentTwoList.isEmpty ? SizedBox.shrink()
? SizedBox.shrink() : Container(
: Container( alignment: Alignment.topLeft,
alignment: Alignment.topLeft, decoration: BoxDecoration(
decoration: BoxDecoration( color: Colors.black.withOpacity(0.06),
color: Colors.black.withOpacity(0.06), borderRadius: BorderRadius.circular(16.w)),
borderRadius: BorderRadius.circular(16.w)), margin: EdgeInsets.only(left: 125.w),
margin: EdgeInsets.only(left: 125.w), width: 600.w,
width: 600.w, padding:
padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w),
EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w), child: Column(
child: Column( crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
children: <Widget>[ ...List.generate(
...List.generate( model.commentTwoList.length < 3
model.commentTwoList.length < 3 ? model.commentTwoList.length
? model.commentTwoList.length : 3,
: 3, (index) => _subCommentWidget(
(index) => _subCommentWidget( model.commentTwoList[index],
model.commentTwoList[index], model.createId,
model.createId, model.id,
model.id, rootIndex)),
rootIndex)), if (model.commentTwoList.length > 3)
if (model.commentTwoList.length > 3) _foldComment(model, rootIndex)
_foldComment(model, rootIndex) ].sepWidget(separate: 24.hb),
].sepWidget(separate: 24.hb), ),
), ),
), ],
], ),
), ),
); );
} }

@ -73,6 +73,7 @@ class BeeScaffold extends StatelessWidget {
actions: actions, actions: actions,
bottom: appBarBottom, bottom: appBarBottom,
titleSpacing: titleSpacing, titleSpacing: titleSpacing,
); );
return AnnotatedRegion<SystemUiOverlayStyle>( return AnnotatedRegion<SystemUiOverlayStyle>(

@ -145,7 +145,11 @@ class _BeeCityPickerState extends State<BeeCityPicker> {
: districts : districts
.map((e) => Center( .map((e) => Center(
child: Padding( child: Padding(
padding: EdgeInsets.only(left: 20.w, right: 20.w,top: 10.w,bottom: 10.w), padding: EdgeInsets.only(
left: 20.w,
right: 20.w,
top: 10.w,
bottom: 10.w),
child: Text(e.name, textAlign: TextAlign.center), child: Text(e.name, textAlign: TextAlign.center),
), ),
)) ))

Loading…
Cancel
Save