From 4a18988613fdf54a283c6cd6444611a15de315b2 Mon Sep 17 00:00:00 2001 From: anfe <448468458@qq.com> Date: Mon, 29 Apr 2024 10:45:49 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E9=91=AB=E6=B3=93?= =?UTF-8?q?=E4=BD=B3=E6=B6=88=E6=81=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/images/news_not_read.png | Bin 0 -> 10213 bytes star_lock/images/news_read.png | Bin 0 -> 11273 bytes star_lock/ios/Podfile.lock | 2 +- star_lock/lib/flavors.dart | 4 +- .../lockMain/xhj/lockMain_xhj_page.dart | 3 +- .../messageList/messageList_xhj_page.dart | 235 ++++++++++++++++++ star_lock/lib/tools/titleAppBar.dart | 12 +- 7 files changed, 249 insertions(+), 7 deletions(-) create mode 100644 star_lock/images/news_not_read.png create mode 100644 star_lock/images/news_read.png create mode 100644 star_lock/lib/mine/message/messageList/messageList_xhj_page.dart diff --git a/star_lock/images/news_not_read.png b/star_lock/images/news_not_read.png new file mode 100644 index 0000000000000000000000000000000000000000..be7a87793505bbbc784a895cfcec74e5f698f797 GIT binary patch literal 10213 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 literal 0 HcmV?d00001 diff --git a/star_lock/images/news_read.png b/star_lock/images/news_read.png new file mode 100644 index 0000000000000000000000000000000000000000..95dc3cb6a5c9369bd07993fb3e6b6095ffd0448b GIT binary patch literal 11273 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 pageView( widget: SafeArea( bottom: false, - child: MessageListPage( + child: MessageListXHJPage( showAppBar: false, ), ), diff --git a/star_lock/lib/mine/message/messageList/messageList_xhj_page.dart b/star_lock/lib/mine/message/messageList/messageList_xhj_page.dart new file mode 100644 index 00000000..9d89898a --- /dev/null +++ b/star_lock/lib/mine/message/messageList/messageList_xhj_page.dart @@ -0,0 +1,235 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/tools/noData.dart'; + +import '../../../appRouters.dart'; +import '../../../app_settings/app_colors.dart'; +import '../../../tools/EasyRefreshTool.dart'; +import '../../../tools/dateTool.dart'; +import '../../../tools/showTipView.dart'; +import '../../../tools/storage.dart'; +import '../../../tools/titleAppBar.dart'; +import '../../../translations/trans_lib.dart'; +import 'messageList_entity.dart'; +import 'messageList_logic.dart'; +import 'package:flutter_slidable/flutter_slidable.dart'; + +class MessageListXHJPage extends StatefulWidget { + MessageListXHJPage({Key? key, this.showAppBar = true}) : super(key: key); + bool showAppBar; + + @override + State createState() => _MessageListXHJPageState(); +} + +class _MessageListXHJPageState extends State + with TickerProviderStateMixin { + final logic = Get.put(MessageListLogic()); + final state = Get.find().state; + + void getHttpData() { + logic.messageListDataRequest().then((MessageListEntity value) { + setState(() {}); + }); + } + + @override + void initState() { + super.initState(); + + getHttpData(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: widget.showAppBar + ? TitleAppBar( + barTitle: TranslationLoader.lanKeys!.message!.tr, + haveBack: true, + actionsList: [ + TextButton( + child: Text( + "清空".tr, + style: TextStyle(color: Colors.white, fontSize: 24.sp), + ), + onPressed: () async { + var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); + if (isDemoMode == false) { + ShowTipView().showIosTipWithContentDialog("是否清空?".tr, + () async { + logic.deletAllMessageDataRequest(); + }); + } else { + logic.showToast("演示模式".tr); + } + }, + ), + ], + backgroundColor: AppColors.mainColor) + : null, + body: Column( + children: [ + Container( + width: 1.sw, + height: 0.2.sw, + margin: EdgeInsets.symmetric(horizontal: 15.w), + padding: EdgeInsets.symmetric(horizontal: 25.w), + decoration: BoxDecoration( + image: const DecorationImage( + image: AssetImage('images/xhj_main_bg.jpg'), + fit: BoxFit.cover, + ), + borderRadius: BorderRadius.circular(20.r), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + offset: const Offset(0, 0), + blurRadius: 10.r, + spreadRadius: 0, + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + '智能分析', + style: TextStyle( + color: AppColors.blackColor, + fontSize: 28.sp, + fontWeight: FontWeight.w600, + ), + ), + Text( + '精准识别设备事件,过滤无效信息', + style: TextStyle( + color: AppColors.blackColor.withOpacity(0.6), + fontSize: 20.sp, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + ), + Expanded( + child: EasyRefreshTool(onRefresh: () { + logic.pageNo = 1; + getHttpData(); + }, onLoad: () { + getHttpData(); + }, child: Obx(() { + return state.itemDataList.isEmpty + ? NoData() + : SlidableAutoCloseBehavior( + child: ListView.builder( + itemCount: state.itemDataList.length, + padding: EdgeInsets.only(top: 20.h), + itemBuilder: (c, index) { + MessageItemEntity messageItemEntity = + state.itemDataList[index]; + return Slidable( + key: ValueKey(messageItemEntity.id), + endActionPane: ActionPane( + extentRatio: 0.2, + motion: const ScrollMotion(), + children: [ + SlidableAction( + onPressed: (BuildContext context) { + logic.deletMessageDataRequest( + messageItemEntity.id!, () { + logic.pageNo = 1; + getHttpData(); + }); + }, + backgroundColor: Colors.red, + foregroundColor: Colors.white, + label: '删除'.tr, + padding: + EdgeInsets.only(left: 5.w, right: 5.w), + ), + ], + ), + child: _messageListItem(messageItemEntity, () { + Get.toNamed(Routers.messageDetailPage, + arguments: { + "messageItemEntity": messageItemEntity + }); + }), + ); + }), + ); + })), + ), + ], + ), + ); + } + + Widget _messageListItem( + MessageItemEntity messageItemEntity, Function() action) { + bool isNotRead = messageItemEntity.readAt! == 0; + return GestureDetector( + onTap: action, + child: Container( + margin: EdgeInsets.symmetric(vertical: 12.h, horizontal: 15.w), + padding: EdgeInsets.symmetric(vertical: 20.h, horizontal: 20.w), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(20.w), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.15), + offset: const Offset(0, 0), + blurRadius: 10.r, + spreadRadius: 0, + ), + ], + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Image.asset( + isNotRead ? 'images/news_not_read.png' : 'images/news_read.png', + width: 48.r, + height: 48.r), + SizedBox(width: 15.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + messageItemEntity.data!, + maxLines: 1, + overflow: TextOverflow.ellipsis, + textAlign: TextAlign.start, + style: TextStyle( + fontSize: 22.sp, + color: messageItemEntity.readAt! == 0 + ? AppColors.blackColor + : AppColors.placeholderTextColor), + ), + SizedBox( + height: 5.h, + ), + Text( + DateTool().dateToYMDHNString( + messageItemEntity.createdAt!.toString()), + style: TextStyle( + fontSize: 18.sp, + color: messageItemEntity.readAt! == 0 + ? AppColors.blackColor + : AppColors.placeholderTextColor)), + ], + ), + ), + ], + ), + ), + ); + } +} diff --git a/star_lock/lib/tools/titleAppBar.dart b/star_lock/lib/tools/titleAppBar.dart index 0f5b3b8a..5d59fec9 100644 --- a/star_lock/lib/tools/titleAppBar.dart +++ b/star_lock/lib/tools/titleAppBar.dart @@ -1,6 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:star_lock/app_settings/app_colors.dart'; +import 'package:star_lock/flavors.dart'; class TitleAppBar extends AppBar { @override @@ -38,6 +40,8 @@ class TitleAppBar extends AppBar { class _TitleAppBarState extends State { @override Widget build(BuildContext context) { + Color defaultColor = F.sw( + defaultCall: () => Colors.white, xhjCall: () => AppColors.blackColor); return AppBar( elevation: 0, leading: widget.haveOtherLeftWidget! @@ -45,7 +49,7 @@ class _TitleAppBarState extends State { : (widget.haveBack ?? false ? IconButton( icon: Icon(Icons.arrow_back_ios, - color: widget.iconColor ?? Colors.white), + color: widget.iconColor ?? defaultColor), onPressed: () { if (widget.backAction != null) { widget.backAction!(); @@ -57,12 +61,14 @@ class _TitleAppBarState extends State { } }) : Container()), - backgroundColor: widget.backgroundColor ?? Colors.white, + backgroundColor: F.sw( + defaultCall: () => widget.backgroundColor ?? defaultColor, + xhjCall: () => Colors.white), title: widget.haveTitleWidget! ? widget.titleWidget : Text(widget.barTitle ?? '', style: TextStyle( - color: widget.titleColor ?? Colors.white, + color: widget.titleColor ?? defaultColor, fontSize: 28.sp, fontWeight: FontWeight.w600)), centerTitle: true,