Bläddra i källkod

首页的修改与相关调试

liukai 1 vecka sedan
förälder
incheckning
96a1f70ceb
27 ändrade filer med 303 tillägg och 270 borttagningar
  1. 2 2
      packages/cpt_facility/lib/modules/facility/active/item_facility_active.dart
  2. 2 2
      packages/cpt_facility/lib/modules/facility/history/item_facility_history.dart
  3. 229 184
      packages/cpt_main/lib/modules/home/home_page.dart
  4. 0 12
      packages/cpt_main/lib/modules/home/home_state.dart
  5. 24 9
      packages/cpt_main/lib/modules/home/item_home_category.dart
  6. 7 36
      packages/cpt_main/lib/modules/home/item_home_last_news.dart
  7. 8 1
      packages/cpt_main/lib/modules/home/item_home_last_trans.dart
  8. 10 10
      packages/cpt_main/lib/modules/home/item_home_property_news.dart
  9. 1 1
      packages/cpt_main/lib/modules/main/main_page.dart
  10. 5 0
      packages/cpt_main/lib/modules/main/main_state.dart
  11. 2 2
      packages/cpt_payment/lib/modules/payment/history/item_history_list.dart
  12. BIN
      packages/cs_resources/assets/main/home_botice_board_icon.webp
  13. BIN
      packages/cs_resources/assets/main/home_community_icon.webp
  14. BIN
      packages/cs_resources/assets/main/home_facility_icon.webp
  15. BIN
      packages/cs_resources/assets/main/home_forms_icon.webp
  16. BIN
      packages/cs_resources/assets/main/home_info_news.webp
  17. BIN
      packages/cs_resources/assets/main/home_internal_news.webp
  18. BIN
      packages/cs_resources/assets/main/home_notification_icon.webp
  19. BIN
      packages/cs_resources/assets/main/home_payment_icon.webp
  20. BIN
      packages/cs_resources/assets/main/home_property_icon.webp
  21. BIN
      packages/cs_resources/assets/main/home_property_news.webp
  22. BIN
      packages/cs_resources/assets/main/home_publish_news.webp
  23. BIN
      packages/cs_resources/assets/main/home_rewards_icon.webp
  24. BIN
      packages/cs_resources/assets/main/home_service_icon.webp
  25. BIN
      packages/cs_resources/assets/main/home_top_img_bg.webp
  26. 1 0
      packages/cs_resources/lib/generated/assets.dart
  27. 12 11
      packages/cs_resources/lib/theme/app_colors_theme.dart

+ 2 - 2
packages/cpt_facility/lib/modules/facility/active/item_facility_active.dart

@@ -87,7 +87,7 @@ class FacilityActiveItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,
@@ -100,7 +100,7 @@ class FacilityActiveItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,

+ 2 - 2
packages/cpt_facility/lib/modules/facility/history/item_facility_history.dart

@@ -87,7 +87,7 @@ class FacilityHistoryItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,
@@ -100,7 +100,7 @@ class FacilityHistoryItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,

+ 229 - 184
packages/cpt_main/lib/modules/home/home_page.dart

@@ -2,8 +2,10 @@ import 'package:cpt_main/modules/home/home_state.dart';
 import 'package:cs_resources/generated/assets.dart';
 import 'package:cs_resources/generated/l10n.dart';
 import 'package:cs_resources/theme/app_colors_theme.dart';
+import 'package:cs_resources/theme/theme_config.dart';
 import 'package:domain/entity/home_list_entity.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
 import 'package:flutter/src/widgets/framework.dart';
 import 'package:flutter_hooks/flutter_hooks.dart';
 import 'package:hooks_riverpod/hooks_riverpod.dart';
@@ -47,114 +49,168 @@ class HomePage extends HookConsumerWidget {
       };
     }, []);
 
-    return Scaffold(
-      //根据当前时间生成欢迎文本
-      appBar: MyAppBar.appBar(context, _formatNowGreetingText(ref),
-          showBackButton: false,
-          backgroundColor: context.appColors.backgroundWhite,
-          actions: [
-            Center(
-                    child: Stack(
-              clipBehavior: Clip.none, // 不裁剪超出边界的内容
-              alignment: Alignment.topLeft,
-              children: <Widget>[
-                // 通知图标
-                MyAssetImage(
-                  Assets.mainHomeNotificationIcon,
-                  width: 19,
-                  height: 20,
-                  color: context.appColors.imageDarkModelWhite,
-                ),
-
-                //未读消息
-                Positioned(
-                  left: 0,
-                  top: 0,
-                  child: Transform.translate(
-                    offset: const Offset(-10, -5),
-                    child: MyTextView(
-                      "99",
-                      boxWidth: 20.0,
-                      textColor: Colors.white,
-                      fontSize: 10,
-                      isFontLight: true,
-                      backgroundColor: context.appColors.redDefault,
-                      cornerRadius: 8,
-                      paddingTop: 2,
-                      paddingBottom: 2,
-                      textAlign: TextAlign.center,
-                    ),
-                  ),
-                ),
-              ],
-            ).onTap(viewModel.gotoNotificationPage))
-                .marginOnly(right: 15),
-          ],
-          showBottomDivider: true),
-      backgroundColor: context.appColors.backgroundDefault,
-      body: EasyRefresh(
-        controller: viewModel.refreshController,
-        onRefresh: viewModel.onRefresh,
-        child: CustomScrollView(
-          scrollDirection: Axis.vertical,
-          slivers: [
-            //支付与奖励
-            _buildPaymentAndRewardsWidget(context, ref),
-
-            //间距
-            _buildSliverSpace(20),
-
-            //九宫选项组 (固定)
-            _buildCategoryWidget(context, ref),
-
-            //轮播图片 (动态)
-            _buildBannerImage(ref, bannerIndex),
-
-            //最新的新闻(动态)
-            _buildLastNews(context, ref),
-
-            //最新的交易
-            SliverToBoxAdapter(
-              child: MyTextView(
-                marginTop: 14,
-                marginLeft: 15,
-                marginBottom: 14,
-                S.current.latest_transactions,
-                textColor: context.appColors.textPrimary,
-                fontSize: 16,
-                isFontMedium: true,
+    return AnnotatedRegion<SystemUiOverlayStyle>(
+        value: MediaQuery.of(context).platformBrightness == Brightness.dark
+            ? ThemeConfig.systemUiOverlayStyleDarkTheme
+            : ThemeConfig.systemUiOverlayStyleLightThemeWhite,
+        child: Scaffold(
+          backgroundColor: context.appColors.backgroundDefault,
+          body: Stack(
+            children: [
+              // 固定顶部的背景图片
+              const Positioned(
+                top: 0,
+                left: 0,
+                right: 0,
+                child: MyAssetImage(
+                  Assets.mainHomeTopImgBg,
+                  width: double.infinity,
+                  fit: BoxFit.cover,
+                  height: 325,
+                ), // 替换为你的图片路径
               ),
-            ),
 
-            //最新交易列表 (动态)
-            _buildLastTransaction(context, state),
-
-            //房产新闻
-            SliverToBoxAdapter(
-              child: MyTextView(
-                marginTop: 14,
-                marginLeft: 15,
-                marginBottom: 14,
-                onClick: viewModel.gotoPropertyNewsPage,
-                S.current.property_news,
-                textColor: context.appColors.textPrimary,
-                fontSize: 16,
-                isFontMedium: true,
+              Positioned(
+                top: 58,
+                left: 0,
+                right: 0,
+                child: Row(
+                  crossAxisAlignment: CrossAxisAlignment.center,
+                  children: [
+                    MyTextView(
+                      _formatNowGreetingText(ref),
+                      marginLeft: 17,
+                      textColor: context.appColors.textBlack,
+                      isFontBold: true,
+                      fontSize: 20,
+                    ).expanded(),
+
+                    //通知角标
+                    Center(
+                            child: Stack(
+                      clipBehavior: Clip.none, // 不裁剪超出边界的内容
+                      alignment: Alignment.topLeft,
+                      children: <Widget>[
+                        // 通知图标
+                        MyAssetImage(
+                          Assets.mainHomeNotificationIcon,
+                          width: 17,
+                          height: 19,
+                          color: context.appColors.imageDarkModelWhite,
+                        ),
+
+                        //未读消息
+                        Positioned(
+                          left: 0,
+                          top: 0,
+                          child: Transform.translate(
+                            offset: const Offset(-10, -5),
+                            child: MyTextView(
+                              "99",
+                              boxWidth: 20.0,
+                              textColor: Colors.white,
+                              fontSize: 10,
+                              isFontLight: true,
+                              backgroundColor: context.appColors.redDefault,
+                              cornerRadius: 8,
+                              paddingTop: 2,
+                              paddingBottom: 2,
+                              textAlign: TextAlign.center,
+                            ),
+                          ),
+                        ),
+                      ],
+                    ).onTap(viewModel.gotoNotificationPage))
+                        .marginOnly(right: 17),
+                  ],
+                ), // 替换为你的图片路径
               ),
-            ),
-
-            //房产新闻列表 (动态)
-            _buildPropertyNews(context, ref),
 
-            //管理员介绍 (固定)
-            _buildManagementGuides(context, ref),
-
-            //间距
-            _buildSliverSpace(15),
-          ],
-        ),
-      ),
-    );
+              Positioned(
+                top: 100,
+                left: 0,
+                right: 0,
+                bottom: 0,
+                child: EasyRefresh(
+                  controller: viewModel.refreshController,
+                  onRefresh: viewModel.onRefresh,
+                  child: CustomScrollView(
+                    scrollDirection: Axis.vertical,
+                    slivers: [
+                      //支付与奖励
+                      _buildPaymentAndRewardsWidget(context, ref),
+
+                      //间距
+                      _buildSliverSpace(20),
+
+                      //九宫选项组 (固定)
+                      _buildCategoryWidget(context, ref),
+
+                      //轮播图片 (动态)
+                      _buildBannerImage(ref, bannerIndex),
+
+                      //最新的新闻(动态)
+                      _buildLastNews(context, ref),
+
+                      //最新的交易
+                      SliverToBoxAdapter(
+                        child: MyTextView(
+                          marginTop: 32,
+                          marginLeft: 15,
+                          marginBottom: 14,
+                          S.current.latest_transactions,
+                          textColor: context.appColors.textBlack,
+                          fontSize: 16,
+                          isFontMedium: true,
+                        ),
+                      ),
+
+                      //最新交易列表 (动态)
+                      _buildLastTransaction(context, state),
+
+                      //房产新闻
+                      SliverToBoxAdapter(
+                        child: Row(
+                          children: [
+                            MyTextView(
+                              marginTop: 30,
+                              marginLeft: 15,
+                              marginBottom: 14,
+                              S.current.property_news,
+                              textColor: context.appColors.textBlack,
+                              fontSize: 16,
+                              isFontMedium: true,
+                            ).expanded(),
+                            MyTextView(
+                              marginTop: 30,
+                              marginLeft: 15,
+                              marginRight: 15,
+                              marginBottom: 14,
+                              onClick: viewModel.gotoPropertyNewsPage,
+                              S.current.all,
+                              textColor: context.appColors.textBlack,
+                              fontSize: 15,
+                              isFontMedium: true,
+                            )
+                          ],
+                        ),
+                      ),
+
+                      //房产新闻列表 (动态)
+                      _buildPropertyNews(context, ref),
+
+                      //管理员介绍 (固定)
+                      _buildManagementGuides(context, ref),
+
+                      //间距
+                      _buildSliverSpace(15),
+                    ],
+                  ),
+                ),
+              ),
+            ],
+          ),
+        ));
   }
 
   //顶部的支付与奖励的布局
@@ -162,66 +218,67 @@ class HomePage extends HookConsumerWidget {
     final viewModel = ref.read(homeViewModelProvider.notifier);
 
     return SliverToBoxAdapter(
-      child: Container(
-        color: context.appColors.whiteBG,
-        width: double.infinity,
-        height: 45,
-        child: Column(
-          children: [
-            Row(
-              children: [
-                Row(
-                  mainAxisSize: MainAxisSize.max,
-                  mainAxisAlignment: MainAxisAlignment.center,
-                  children: [
-                    MyAssetImage(
-                      Assets.mainHomePaymentIcon,
-                      width: 16.5,
-                      height: 18,
-                      color: context.appColors.imageDarkModelWhite,
-                    ).marginOnly(left: 20),
-                    MyTextView(
-                      S.current.payment,
-                      textColor: context.appColors.textBlack,
-                      fontSize: 15,
-                      isFontMedium: true,
-                    ).paddingOnly(left: 13, right: 13).expanded(),
-                    const MyAssetImage(Assets.mainHomeMoreIcon, width: 6, height: 8.5).marginOnly(right: 15),
-                  ],
-                ).onTap(viewModel.gotoPaymentPage).expanded(),
-                Container(color: context.appColors.dividerDefault, width: 0.5, height: double.infinity),
-                Row(
-                  mainAxisSize: MainAxisSize.max,
-                  mainAxisAlignment: MainAxisAlignment.center,
-                  children: [
-                    MyAssetImage(
-                      Assets.mainHomeRewardsIcon,
-                      width: 16.5,
-                      height: 17,
-                      color: context.appColors.imageDarkModelWhite,
-                    ).marginOnly(left: 20),
-                    MyTextView(
-                      S.current.rewards,
-                      textColor: context.appColors.textBlack,
-                      fontSize: 15,
-                      isFontMedium: true,
-                    ).paddingOnly(left: 13, right: 4).expanded(),
-                    MyTextView(
-                      "9568",
-                      textColor: context.appColors.textBlack,
-                      fontSize: 15,
-                      isFontBold: true,
-                    ).paddingOnly(left: 1, right: 4),
-                    const MyAssetImage(Assets.mainHomeMoreIcon, width: 6, height: 8.5).marginOnly(right: 15),
-                  ],
-                ).onTap(viewModel.gotoRewardsPage).expanded(),
-              ],
-            ).expanded(),
-            //底部分割线
-            Container(color: context.appColors.dividerDefault, height: 0.5, width: double.infinity),
-          ],
-        ),
-      ),
+      child: Row(
+        children: [
+          Row(
+            mainAxisSize: MainAxisSize.max,
+            mainAxisAlignment: MainAxisAlignment.center,
+            children: [
+              const MyAssetImage(
+                Assets.mainHomePaymentIcon,
+                width: 24.5,
+                height: 24.5,
+              ).marginOnly(left: 10),
+              MyTextView(
+                S.current.payment,
+                textColor: context.appColors.textBlack,
+                fontSize: 14,
+                isFontRegular: true,
+              ).paddingOnly(left: 8, right: 8).expanded(),
+              const MyAssetImage(Assets.mainHomeMoreIcon, width: 6, height: 8.5).marginOnly(right: 15),
+            ],
+          )
+              .constrained(height: 46)
+              .decorated(
+                color: const Color(0xFFE0E3FF).withOpacity(0.5),
+                borderRadius: BorderRadius.circular(9.0),
+              )
+              .onTap(viewModel.gotoPaymentPage)
+              .expanded(),
+          const SizedBox(width: 14.5),
+          Row(
+            mainAxisSize: MainAxisSize.max,
+            mainAxisAlignment: MainAxisAlignment.center,
+            children: [
+              const MyAssetImage(
+                Assets.mainHomeRewardsIcon,
+                width: 24.5,
+                height: 24.5,
+              ).marginOnly(left: 10),
+              MyTextView(
+                S.current.rewards,
+                textColor: context.appColors.textBlack,
+                fontSize: 14,
+                isFontRegular: true,
+              ).paddingOnly(left: 8, right: 4).expanded(),
+              MyTextView(
+                "9568",
+                textColor: context.appColors.textBlack,
+                fontSize: 14,
+                isFontBold: true,
+              ).paddingOnly(left: 1, right: 4),
+              const MyAssetImage(Assets.mainHomeMoreIcon, width: 6, height: 8.5).marginOnly(right: 8),
+            ],
+          )
+              .constrained(height: 46)
+              .decorated(
+                color: const Color(0xFFE0E3FF).withOpacity(0.5),
+                borderRadius: BorderRadius.circular(9.0),
+              )
+              .onTap(viewModel.gotoRewardsPage)
+              .expanded(),
+        ],
+      ).paddingOnly(left: 15, right: 15, top: 10),
     );
   }
 
@@ -239,9 +296,8 @@ class HomePage extends HookConsumerWidget {
     return SliverGrid(
       gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
         crossAxisCount: 3, // 三列
-        mainAxisSpacing: 15.0, // 主轴(上下)的间距
+        mainAxisSpacing: 0.0, // 主轴(上下)的间距
         crossAxisSpacing: 0.0, // 交叉轴(左右)的间距
-        childAspectRatio: 10 / 8, // 子组件的宽高比
       ),
       delegate: SliverChildBuilderDelegate(
         (BuildContext context, int index) {
@@ -264,7 +320,7 @@ class HomePage extends HookConsumerWidget {
     return SliverToBoxAdapter(
       child: Container(
         width: double.infinity,
-        margin: const EdgeInsets.only(top: 21, left: 15, right: 15),
+        margin: const EdgeInsets.only(top: 30, left: 15, right: 15),
         child: state.homeIndex != null && state.homeIndex!.banners.isNotEmpty
             ? Stack(
                 alignment: Alignment.bottomCenter, // 设置 Stack 的对齐方式为底部中心
@@ -342,11 +398,11 @@ class HomePage extends HookConsumerWidget {
         MyTextView(
           S.current.latest_news,
           fontSize: 16,
-          marginTop: 14,
+          marginTop: 30,
           marginBottom: 14,
           isFontMedium: true,
           onClick: viewModel.gotoLastNewsPage,
-          textColor: context.appColors.textPrimary,
+          textColor: context.appColors.textBlack,
         ),
         Row(
           mainAxisAlignment: MainAxisAlignment.spaceAround, // 均匀排布
@@ -412,27 +468,16 @@ class HomePage extends HookConsumerWidget {
     );
   }
 
-  //房产新闻的列表
+  //房产新闻的列表
   Widget _buildPropertyNews(BuildContext context, WidgetRef ref) {
     final state = ref.watch(homeViewModelProvider);
     final propertyNewsList = state.homeIndex?.propertyNews ?? [];
 
-    // 计算行数和每行的元素
-    int totalItems = propertyNewsList.length;
-    int firstRowCount = (totalItems + 1) ~/ 2; // 第1行的数量 (奇数时多一个)
-    int secondRowCount = totalItems ~/ 2; // 第2行的数量
-
     return SliverList(
       delegate: SliverChildListDelegate(
         [
           // 第一个水平滑动列表
-          _buildPropertyNewsHorizontalList(propertyNewsList.sublist(0, firstRowCount)),
-
-          const SizedBox(height: 10),
-
-          // 第二个水平滑动列表
-          if (secondRowCount > 0) // 只有在有第二行内容时才显示
-            _buildPropertyNewsHorizontalList(propertyNewsList.sublist(firstRowCount, firstRowCount + secondRowCount)),
+          _buildPropertyNewsHorizontalList(propertyNewsList),
         ],
       ),
     );
@@ -464,11 +509,11 @@ class HomePage extends HookConsumerWidget {
         MyTextView(
           S.current.strata_management_guides,
           fontSize: 16,
-          marginTop: 14,
+          marginTop: 30,
           marginBottom: 14,
           onClick: viewModel.gotoManageGuidePage,
           isFontMedium: true,
-          textColor: context.appColors.textPrimary,
+          textColor: context.appColors.textBlack,
         ),
         SingleChildScrollView(
           scrollDirection: Axis.horizontal,

+ 0 - 12
packages/cpt_main/lib/modules/home/home_state.dart

@@ -43,30 +43,18 @@ class HomeState {
               {
                 'category_name': S.current.property,
                 'category_icon': Assets.mainHomePropertyNews,
-                'icon_width': 38.5,
-                'icon_height': 39.5,
-                'margin_right': 13.0,
               },
               {
                 'category_name': S.current.internal,
                 'category_icon': Assets.mainHomeInternalNews,
-                'icon_width': 33.5,
-                'icon_height': 41.0,
-                'margin_right': 11.0,
               },
               {
                 'category_name': S.current.info,
                 'category_icon': Assets.mainHomeInfoNews,
-                'icon_width': 44.0,
-                'icon_height': 42.0,
-                'margin_right': 6.0,
               },
               {
                 'category_name': S.current.notice,
                 'category_icon': Assets.mainHomePublishNews,
-                'icon_width': 40.5,
-                'icon_height': 42.5,
-                'margin_right': 11.0,
               }
             ];
 

+ 24 - 9
packages/cpt_main/lib/modules/home/item_home_category.dart

@@ -1,11 +1,10 @@
-import 'package:cpt_main/modules/feedback/create/feedback_create_page.dart';
-import 'package:cpt_main/modules/feedback/feedback_page.dart';
 import 'package:cs_resources/theme/app_colors_theme.dart';
 import 'package:flutter/material.dart';
 import 'package:widgets/ext/ex_widget.dart';
 import 'package:widgets/my_load_image.dart';
 import 'package:widgets/my_text_view.dart';
 
+
 class HomeCategoryItem extends StatelessWidget {
   final Map<String, dynamic> category;
 
@@ -13,13 +12,29 @@ class HomeCategoryItem extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return Column(
-      mainAxisAlignment: MainAxisAlignment.spaceBetween,
-      crossAxisAlignment: CrossAxisAlignment.center,
-      children: <Widget>[
-        MyAssetImage(category['category_icon'], width: 70, height: 70),
-        MyTextView(category['category_name'], fontSize: 15, isFontMedium: true, textColor: context.appColors.textBlack),
-      ],
+    // 使用 LayoutBuilder 获取当前可用宽度
+    return LayoutBuilder(
+      builder: (BuildContext context, BoxConstraints constraints) {
+        double itemWidth = constraints.maxWidth; // 获取可用宽度
+        return Column(
+          mainAxisAlignment: MainAxisAlignment.spaceBetween,
+          crossAxisAlignment: CrossAxisAlignment.center,
+          children: <Widget>[
+            MyAssetImage(
+              category['category_icon'],
+              width: itemWidth, // 动态设置宽度
+              height: itemWidth * (101.5 / 124.5), // 按照比例动态设置高度
+            ),
+            MyTextView(
+              category['category_name'],
+              fontSize: 14,
+              isFontRegular: true,
+              textColor: context.appColors.textBlack,
+            ),
+          ],
+        );
+      },
     );
   }
 }
+

+ 7 - 36
packages/cpt_main/lib/modules/home/item_home_last_news.dart

@@ -14,49 +14,20 @@ class LastNewsItem extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     return Column(
-      crossAxisAlignment: CrossAxisAlignment.start,
-      mainAxisAlignment: MainAxisAlignment.start,
       children: [
+        MyAssetImage(
+          lastNews['category_icon'],
+          width: 80,
+          height: 80,
+        ),
         MyTextView(
           lastNews['category_name'],
-          marginLeft: 9,
           marginTop: 9,
           fontSize: 14,
           isFontMedium: true,
-          textColor: context.appColors.tabTextUnSelectedPrimary,
-        ),
-        const Spacer(),
-        Row(
-          mainAxisAlignment: MainAxisAlignment.end, // 对齐到右侧
-          children: [
-            Padding(
-              padding: EdgeInsets.only(right: lastNews['margin_right']), // 控制边距
-              child: MyAssetImage(
-                lastNews['category_icon'],
-                width: (lastNews['icon_width'] as num).toDouble(),
-                height: (lastNews['icon_height'] as num).toDouble(),
-                fit: BoxFit.cover, // 调整 fit 参数
-              ),
-            ),
-          ],
+          textColor: context.appColors.textBlack,
         ),
       ],
-      // ),
-    )
-        .decorated(
-          color: context.appColors.whiteBG,
-          borderRadius: BorderRadius.circular(5.0), // 5个圆角
-          boxShadow: [
-            BoxShadow(
-              color: const Color(0xFF656565).withOpacity(0.1), // 阴影颜色,并且设置透明度
-              offset: const Offset(0, 1.5), // 阴影的偏移量
-              blurRadius: 2.5, // 模糊半径
-              spreadRadius: 1.5, // 扩散半径
-            ),
-          ],
-        )
-        .marginOnly(right: 5)
-        .constrained(width: 86.5, height: 78.5)
-        .onTap(onItemTap);
+    ).marginOnly(right: 5).onTap(onItemTap);
   }
 }

+ 8 - 1
packages/cpt_main/lib/modules/home/item_home_last_trans.dart

@@ -28,10 +28,17 @@ class LastTransItem extends StatelessWidget {
               textColor: context.appColors.textBlack,
               isFontMedium: true,
             ),
+
             MyTextView(
               lastTrans.price ?? "",
               fontSize: 15,
               marginTop: 5,
+              backgroundColor: context.appColors.lightBlueBg,
+              cornerRadius: 6.5,
+              paddingLeft: 12,
+              paddingRight: 12,
+              paddingTop: 3,
+              paddingBottom: 3,
               textColor: context.appColors.textBlack,
               isFontMedium: true,
             ),
@@ -42,7 +49,7 @@ class LastTransItem extends StatelessWidget {
           padding: const EdgeInsets.symmetric(horizontal: 5),
           height: 45,
           decoration: BoxDecoration(
-            color: context.appColors.lightPurpleBg,
+            color: context.appColors.lightBlueDarkBg,
             borderRadius: BorderRadius.circular(5.0), // 5个圆角
           ),
           child: Column(

+ 10 - 10
packages/cpt_main/lib/modules/home/item_home_property_news.dart

@@ -14,23 +14,23 @@ class PropertyNews extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return Row(
-      crossAxisAlignment: CrossAxisAlignment.center,
-      mainAxisAlignment: MainAxisAlignment.start,
+    return Column(
+      crossAxisAlignment: CrossAxisAlignment.start,
       children: [
         MyLoadImage(
           news?.coverImage,
-          width: 80,
-          height: 80,
+          width: 164.5,
+          height: 105,
         ),
         MyTextView(
           news?.title ?? "",
-          fontSize: 15,
-          marginLeft: 12.5,
-          marginRight: 12.5,
+          fontSize: 14,
+          marginLeft: 14,
+          marginRight: 14,
+          marginTop: 15.5,
           maxLines: 4,
           textColor: context.appColors.textBlack,
-          isFontMedium: true,
+          isFontRegular: true,
         ).expanded(),
       ],
     )
@@ -47,6 +47,6 @@ class PropertyNews extends StatelessWidget {
           ],
         )
         .marginOnly(right: 10)
-        .constrained(height: 80, width: 270);
+        .constrained(height: 202.5, width: 165);
   }
 }

+ 1 - 1
packages/cpt_main/lib/modules/main/main_page.dart

@@ -59,7 +59,7 @@ class MainPage extends HookConsumerWidget {
           currentIndex: tabsRouter.activeIndex,
           onTap: tabsRouter.setActiveIndex,
           unselectedLabelStyle: const TextStyle(color: AppColorsTheme.color666666, fontWeight: FontWeight.w400),
-          selectedLabelStyle: TextStyle(color: context.appColors.textPrimary, fontWeight: FontWeight.w400),
+          selectedLabelStyle:  TextStyle(color: context.appColors.textPrimary, fontWeight: FontWeight.w400),
           unselectedFontSize: 12,
           selectedFontSize: 12,
           items: () {

+ 5 - 0
packages/cpt_main/lib/modules/main/main_state.dart

@@ -1,6 +1,7 @@
 import 'package:cpt_main/modules/feedback/feedback_page.dart';
 import 'package:cs_resources/generated/assets.dart';
 import 'package:cs_resources/generated/l10n.dart';
+import 'package:cs_resources/theme/app_colors_theme.dart';
 import 'package:flutter/material.dart';
 import 'package:widgets/ext/ex_widget.dart';
 import 'package:widgets/my_load_image.dart';
@@ -19,6 +20,7 @@ class MainState {
         Assets.mainTabHomeSelected,
         width: 20,
         height: 20,
+        color: AppColorsTheme.colorPrimary,
       ).marginOnly(bottom: 4),
       const MyAssetImage(
         //暗色
@@ -38,6 +40,7 @@ class MainState {
         Assets.mainTabVisitorSelected,
         width: 20,
         height: 20,
+        color: AppColorsTheme.colorPrimary,
       ).marginOnly(bottom: 4),
       const MyAssetImage(
         Assets.mainTabVisitorSelected,
@@ -56,6 +59,7 @@ class MainState {
         Assets.mainTabFeedbackSelected,
         width: 20,
         height: 20,
+        color: AppColorsTheme.colorPrimary,
       ).marginOnly(bottom: 4),
       const MyAssetImage(
         Assets.mainTabFeedbackSelected,
@@ -74,6 +78,7 @@ class MainState {
         Assets.mainTabMeSelected,
         width: 20,
         height: 20,
+        color: AppColorsTheme.colorPrimary,
       ).marginOnly(bottom: 4),
       const MyAssetImage(
         Assets.mainTabMeSelected,

+ 2 - 2
packages/cpt_payment/lib/modules/payment/history/item_history_list.dart

@@ -84,7 +84,7 @@ class HistoryListItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,
@@ -97,7 +97,7 @@ class HistoryListItem extends StatelessWidget {
                     textColor: context.appColors.textPrimary,
                     fontSize: 13,
                     isFontRegular: true,
-                    backgroundColor: context.appColors.lightPurpleBg,
+                    backgroundColor: context.appColors.lightBlueDarkBg,
                     cornerRadius: 3,
                     paddingLeft: 7,
                     marginRight: 6,

BIN
packages/cs_resources/assets/main/home_botice_board_icon.webp


BIN
packages/cs_resources/assets/main/home_community_icon.webp


BIN
packages/cs_resources/assets/main/home_facility_icon.webp


BIN
packages/cs_resources/assets/main/home_forms_icon.webp


BIN
packages/cs_resources/assets/main/home_info_news.webp


BIN
packages/cs_resources/assets/main/home_internal_news.webp


BIN
packages/cs_resources/assets/main/home_notification_icon.webp


BIN
packages/cs_resources/assets/main/home_payment_icon.webp


BIN
packages/cs_resources/assets/main/home_property_icon.webp


BIN
packages/cs_resources/assets/main/home_property_news.webp


BIN
packages/cs_resources/assets/main/home_publish_news.webp


BIN
packages/cs_resources/assets/main/home_rewards_icon.webp


BIN
packages/cs_resources/assets/main/home_service_icon.webp


BIN
packages/cs_resources/assets/main/home_top_img_bg.webp


+ 1 - 0
packages/cs_resources/lib/generated/assets.dart

@@ -122,6 +122,7 @@ class Assets {
   static const String mainHomePublishNews = 'assets/main/home_publish_news.webp';
   static const String mainHomeRewardsIcon = 'assets/main/home_rewards_icon.webp';
   static const String mainHomeServiceIcon = 'assets/main/home_service_icon.webp';
+  static const String mainHomeTopImgBg = 'assets/main/home_top_img_bg.webp';
   static const String mainIntroductionGuide = 'assets/main/introduction_guide.webp';
   static const String mainLatestInfo = 'assets/main/latest_info.webp';
   static const String mainLatestInternal = 'assets/main/latest_internal.webp';

+ 12 - 11
packages/cs_resources/lib/theme/app_colors_theme.dart

@@ -15,7 +15,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
   static const colorPrimary = Color(0xFF01B5EB);
   static const _colorPrimary = Color(0xFF01B5EB);
   static const _colorFF5E75 = Color(0xFFFF5E75);
-  static const _colorFCFCFC = Color(0xFFFCFCFC);
+  static const _color06FBFD = Color(0xFFF6FBFD);
   static const _colorD7DBE7 = Color(0xffD7DBE7);
   static const _colorBDBDBD = Color(0xFFBDBDBD);
   static const _colorF2F2F2 = Color(0xFFF2F2F2);
@@ -26,8 +26,8 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
   static const _color999999 = Color(0xFF999999);
   static const _colorF2F3F6 = Color(0xFFF2F3F6);
   static const _colorDCDCDC = Color(0xFFDCDCDC);
-  static const _colorEFF3FF = Color(0xFFEFF3FF);
-  static const _colorDFF0FF = Color(0xFFDFF0FF);
+  static const _colorE5F8FF = Color(0xFFE5F8FF);
+  static const _colorEFFAFF = Color(0xFFEFFAFF);
   static const _color1B61CA = Color(0X4D1B61CA);
   static const _color8B96BA = Color(0xFF8B96BA);
   static const _colorB4C5FF = Color(0xFFB4C5FF);
@@ -37,6 +37,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
   static const _color0DBE1E= Color(0xFF0DBE1E);
   static const _color05CC67= Color(0xFF05CC67);
   static const _colorB8BFD9= Color(0x4DB8BFD9);
+  static const _color063148= Color(0XFF063148);
 
   //暗色主题的一些自定义颜色值
   static const _darkBlackBg = Color(0xFF0F0F0F);
@@ -71,7 +72,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
   final Color whiteSecondBG; //按钮的白色色背景
   final Color redDefault; //App标准红色
   final Color dividerDefault; //分割线默认颜色
-  final Color lightPurpleBg; //淡紫色背景
+  final Color lightBlueDarkBg; //淡紫色背景
   final Color lightBlueBg; //淡蓝色背景
   final Color tabTextSelectedDefault; //Tab文本,选中主题蓝,黑暗模式为白色
   final Color tabTextUnSelectedDefault; //Tab文本,未选中 亮色为黑色,黑暗模式为灰色
@@ -113,7 +114,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
     required this.whiteSecondBG,
     required this.redDefault,
     required this.dividerDefault,
-    required this.lightPurpleBg,
+    required this.lightBlueDarkBg,
     required this.lightBlueBg,
     required this.tabLightBlueShadow,
     required this.tabTextSelectedDefault,
@@ -133,7 +134,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
   // 浅色主题工厂方法
   factory AppColorsTheme.light() {
     return const AppColorsTheme._internal(
-      backgroundDefault: _colorFCFCFC,
+      backgroundDefault: _color06FBFD,
       backgroundDark: _colorF2F3F6,
       backgroundWhite: Colors.white,
       btnBgDefault: _colorPrimary,
@@ -143,7 +144,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
       authFiledText: Colors.black,
       authFiledBG: _colorF2F2F2,
       textPrimary: _colorPrimary,
-      textBlack: Colors.black,
+      textBlack: _color063148,
       textWhite: Colors.white,
       textDarkGray: color666666,
       orangeBG: _colorFE6C00,
@@ -157,8 +158,8 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
       whiteSecondBG: Colors.white,
       redDefault: _colorFF5E75,
       dividerDefault: _colorDCDCDC,
-      lightPurpleBg: _colorEFF3FF,
-      lightBlueBg: _colorDFF0FF,
+      lightBlueDarkBg: _colorE5F8FF,
+      lightBlueBg: _colorEFFAFF,
       tabLightBlueShadow: _color1B61CA,
       tabTextSelectedDefault: _colorPrimary,
       tabTextUnSelectedDefault: Colors.black,
@@ -202,7 +203,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
       whiteSecondBG: _darkBlackItemLight,
       redDefault: _darkBlackItem,
       dividerDefault: _darkBlackItemDivider,
-      lightPurpleBg: _darkBlackItemLight,
+      lightBlueDarkBg: _darkBlackItemLight,
       lightBlueBg: _darkBlackItem,
       tabLightBlueShadow: _color1B61CA,
       tabTextSelectedDefault: _colorPrimary,
@@ -256,7 +257,7 @@ class AppColorsTheme extends ThemeExtension<AppColorsTheme> {
       whiteSecondBG: Color.lerp(whiteSecondBG, other.whiteSecondBG, t)!,
       redDefault: Color.lerp(redDefault, other.redDefault, t)!,
       dividerDefault: Color.lerp(dividerDefault, other.dividerDefault, t)!,
-      lightPurpleBg: Color.lerp(lightPurpleBg, other.lightPurpleBg, t)!,
+      lightBlueDarkBg: Color.lerp(lightBlueDarkBg, other.lightBlueDarkBg, t)!,
       lightBlueBg: Color.lerp(lightBlueBg, other.lightBlueBg, t)!,
       tabTextSelectedDefault: Color.lerp(tabTextSelectedDefault, other.tabTextSelectedDefault, t)!,
       tabLightBlueShadow: Color.lerp(tabLightBlueShadow, other.tabLightBlueShadow, t)!,