初始化

This commit is contained in:
谢宇宁
2026-09-15 15:44:13 +07:00
commit a23ba685e9
1065 changed files with 101122 additions and 0 deletions
@@ -0,0 +1,187 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hgdj/extension/extensions.dart';
import 'package:hgdj/hj_model/message/message_dynamic_list.dart';
import 'package:hgdj/hj_page/user_center_page/user_center_page.dart';
import 'package:hgdj/hj_utils/date_time_util.dart';
import 'package:hgdj/hj_utils/screen.dart';
import 'package:hgdj/tools_base/widget/net_image_widget.dart';
import '../../../community/post_detail_page/post_detail_page.dart';
/// 点赞
class MessageThumbItem extends StatelessWidget {
final MessageDynamicList model;
const MessageThumbItem(this.model, {super.key});
@override
Widget build(BuildContext context) {
return GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () => Get.to(() => PostDetailPage(
argument: PostDetailPageArgument(id: model.objId, models: []))),
child: Container(
padding: EdgeInsets.symmetric(horizontal: 12, vertical: 12),
margin: EdgeInsets.only(bottom: 12),
decoration: BoxDecoration(
color: Color(0x0DFFFFFF),
borderRadius: BorderRadius.circular(12),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Text(
"#$lTypeText",
maxLines: 1,
style: TextStyle(
color: Colors.white,
fontSize: 12,
fontWeight: FontWeight.w500,
),
),
),
SizedBox(width: 12),
Text(
model.createdAt.utcToYMD(),
style: TextStyle(
color: Color(0xE5FFFFFF),
fontSize: 14,
),
),
],
),
7.sizeBoxH,
Text(
'${model.objName}',
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: Color(0x8CFFFFFF),
fontSize: 14,
),
),
6.sizeBoxH,
Row(
children: [
Text(
"${model.likeCount}人为你点赞",
style: TextStyle(
color: Color(0x59FFFFFF),
fontSize: 14,
),
),
],
),
],
),
),
);
}
String get lTypeText {
// video:对帖子点赞 comment:对评论点赞
switch (model.msgType) {
case 'like_msg':
return '帖子点赞';
case 'like_comment_msg':
return '评论点赞';
default:
return '';
}
}
}
class MessageCommentItem extends StatelessWidget {
final MessageDynamicList model;
const MessageCommentItem(this.model, {super.key});
@override
Widget build(BuildContext context) {
return InkWell(
enableFeedback: false,
onTap: () => Get.to(() => PostDetailPage(
argument: PostDetailPageArgument(id: model.objId, models: []))),
child: Container(
padding: EdgeInsets.symmetric(vertical: 18, horizontal: 12),
margin: EdgeInsets.only(bottom: 12),
decoration: BoxDecoration(
color: Color(0x0DFFFFFF),
borderRadius: BorderRadius.circular(12),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
InkWell(
enableFeedback: false,
onTap: () =>
Get.to(() => UserCenterPage(uid: model.sendUid ?? 0)),
child: NetworkImageLoader(
imageUrl: model.sendAvatar ?? '',
width: 40,
height: 40,
borderRadius: 20,
),
),
12.sizeBoxW,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 40,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
model.sendName ?? '',
style: TextStyle(
color: Color(0xFFFFFFFF),
fontSize: 14,
fontWeight: FontWeight.w500,
),
),
Spacer(),
Text(
DateTimeUtil.utc2iso(model.createdAt),
style: TextStyle(
color: Color(0xFF989898),
fontSize: 12,
),
),
],
),
),
11.sizeBoxH,
Text(
model.content ?? '',
maxLines: 2,
overflow: TextOverflow.ellipsis,
style: TextStyle(
color: Color(0xFF989898),
fontSize: 12,
),
),
],
),
),
8.sizeBoxW,
Container(
alignment: Alignment.bottomCenter,
height: 82,
child: NetworkImageLoader(
imageUrl: model.objCover ?? '',
height: 60,
width: 60,
borderRadius: 6,
),
)
],
),
),
);
}
}