Преглед на файлове

Merge branch 'dev' of http://git.wmzhubo.com/guadoutech/YYHome into dev

glglove преди 3 месеца
родител
ревизия
4cbca569c3
променени са 33 файла, в които са добавени 114 реда и са изтрити 105 реда
  1. 1 1
      app/android/app/src/main/res/drawable-v21/launch_background.xml
  2. BIN
      app/android/app/src/main/res/drawable-xhdpi/yy_business_top_logo.webp
  3. BIN
      app/android/app/src/main/res/drawable-xhdpi/yyhome_splash.png
  4. BIN
      app/android/app/src/main/res/drawable-xxhdpi/yy_business_top_logo.webp
  5. BIN
      app/android/app/src/main/res/drawable-xxhdpi/yyhome_splash.png
  6. 1 1
      app/android/app/src/main/res/drawable/launch_background.xml
  7. 1 6
      app/android/app/src/main/res/drawable/shape_page_bg.xml
  8. 9 25
      app/lib/modules/splash/page/splash_page.dart
  9. 1 1
      packages/cpt_auth/lib/modules/select_estate/select_estate_page.dart
  10. 29 33
      packages/cpt_auth/lib/modules/sign_up/sign_up_page.dart
  11. 1 0
      packages/cpt_facility/lib/modules/booking/facility_booking_page.dart
  12. 6 6
      packages/cpt_main/lib/modules/feedback/feedback_page.dart
  13. 11 7
      packages/cpt_main/lib/modules/home/home_page.dart
  14. 1 1
      packages/cpt_main/lib/modules/home/home_state.dart
  15. 21 1
      packages/cpt_main/lib/modules/main/main_view_model.dart
  16. 0 1
      packages/cpt_main/lib/modules/visitor/item_visitor.dart
  17. 6 6
      packages/cpt_main/lib/modules/visitor/visitor_page.dart
  18. 4 1
      packages/cpt_profile/lib/modules/setting/setting_page.dart
  19. 7 0
      packages/cpt_profile/lib/modules/setting/setting_view_model.dart
  20. BIN
      packages/cs_resources/assets/main/feedback_history.webp
  21. BIN
      packages/cs_resources/assets/main/feedback_in_progress.webp
  22. BIN
      packages/cs_resources/assets/main/feedback_send.webp
  23. BIN
      packages/cs_resources/assets/main/visitor_active.webp
  24. BIN
      packages/cs_resources/assets/main/visitor_history.webp
  25. BIN
      packages/cs_resources/assets/main/visitor_now.webp
  26. BIN
      packages/cs_resources/assets/yy_business_top_logo.webp
  27. BIN
      packages/cs_resources/assets/yy_home_splash.png
  28. 1 15
      packages/cs_resources/lib/generated/assets.dart
  29. 1 0
      packages/cs_resources/lib/generated/intl/messages_en.dart
  30. 10 0
      packages/cs_resources/lib/generated/l10n.dart
  31. 1 0
      packages/cs_resources/lib/l10n/intl_en.arb
  32. 1 0
      packages/cs_resources/lib/l10n/intl_zh_CN.arb
  33. 1 0
      packages/cs_resources/lib/l10n/intl_zh_HK.arb

+ 1 - 1
app/android/app/src/main/res/drawable-v21/launch_background.xml

@@ -5,7 +5,7 @@
     <item >
         <bitmap
             android:gravity="center"
-            android:src="@drawable/yy_business_top_logo"/>
+            android:src="@drawable/yyhome_splash"/>
     </item>
 
 </layer-list>

BIN
app/android/app/src/main/res/drawable-xhdpi/yy_business_top_logo.webp


BIN
app/android/app/src/main/res/drawable-xhdpi/yyhome_splash.png


BIN
app/android/app/src/main/res/drawable-xxhdpi/yy_business_top_logo.webp


BIN
app/android/app/src/main/res/drawable-xxhdpi/yyhome_splash.png


+ 1 - 1
app/android/app/src/main/res/drawable/launch_background.xml

@@ -5,7 +5,7 @@
     <item >
         <bitmap
             android:gravity="center"
-            android:src="@drawable/yy_business_top_logo"/>
+            android:src="@drawable/yyhome_splash"/>
     </item>
 
 </layer-list>

+ 1 - 6
app/android/app/src/main/res/drawable/shape_page_bg.xml

@@ -2,11 +2,6 @@
 <shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
 
-    <gradient
-        android:startColor="#091D44"
-        android:centerColor="#245A8A"
-        android:endColor="#7F7CEC"
-        android:type="linear"
-        android:angle="270" />
+    <solid android:color="#FFFFFF" /> <!-- 设置为纯白色 -->
 
 </shape>

+ 9 - 25
app/lib/modules/splash/page/splash_page.dart

@@ -1,12 +1,10 @@
+import 'package:app/main.dart';
 import 'package:app/router/page/app_page_router.dart';
+import 'package:cs_resources/theme/app_colors_theme.dart';
 import 'package:flutter/material.dart';
 import 'package:hooks_riverpod/hooks_riverpod.dart';
 import 'package:cs_resources/generated/assets.dart';
-import 'package:router/componentRouter/app_service.dart';
-import 'package:router/path/router_path.dart';
 import 'package:shared/utils/size_config.dart';
-import 'package:widgets/dialog/custom_error_widget.dart';
-import 'package:widgets/ext/ex_widget.dart';
 import 'package:widgets/my_load_image.dart';
 import 'package:auto_route/annotations.dart';
 import '../vm/splash_view_model.dart';
@@ -23,27 +21,13 @@ class SplashPage extends HookConsumerWidget {
    final viewModel = ref.watch(splashViewModelProvider.notifier)..setContext(context);
 
     return Scaffold(
-      body: Container(
-        decoration: const BoxDecoration(
-          gradient: LinearGradient(
-            colors: [
-              Color(0xFF091D44),
-              Color(0xFF245A8A),
-              Color(0xFF7F7CEC),
-            ],
-            begin: Alignment.topCenter,
-            end: Alignment.bottomCenter,
-          ),
-        ),
-        child:  Center(
-          child: const MyAssetImage(
-            Assets.assetsYyBusinessTopLogo,
-            width: 166,
-            height: 67.5,
-            fit: BoxFit.contain,
-          ).onTap((){
-            context.router.pushNamed(RouterPath.main);
-          }),
+      backgroundColor: context.appColors.backgroundWhite,
+      body: const Center(
+        child: MyAssetImage(
+          Assets.assetsYyHomeSplash,
+          width: 84.5,
+          height: 100,
+          fit: BoxFit.contain,
         ),
       ),
     );

+ 1 - 1
packages/cpt_auth/lib/modules/select_estate/select_estate_page.dart

@@ -63,7 +63,7 @@ class SelectEstatePage extends HookConsumerWidget with WidgetsBindingObserver {
         padding: const EdgeInsets.symmetric(horizontal: 38),
         width: double.infinity,
         child: VisibilityDetector(
-          key: Key('select-estate-page'),
+          key: const Key('select-estate-page'),
           onVisibilityChanged: (VisibilityInfo info) {
             // 检测页面是否可见
             isVisible = info.visibleFraction > 0;

+ 29 - 33
packages/cpt_auth/lib/modules/sign_up/sign_up_page.dart

@@ -1,4 +1,3 @@
-
 import 'package:cpt_auth/modules/sign_up/sign_up_state.dart';
 import 'package:cs_resources/generated/assets.dart';
 import 'package:cs_resources/generated/l10n.dart';
@@ -124,7 +123,6 @@ class SignUpPage extends HookConsumerWidget {
                     context,
                     state,
                     "phone",
-                    marginTop: 15,
                     textInputType: TextInputType.number,
                     textInputAction: TextInputAction.next,
                     errorText: state.phoneErrorText,
@@ -134,7 +132,7 @@ class SignUpPage extends HookConsumerWidget {
                     },
                   ).expanded(),
                 ],
-              ),
+              ).marginOnly(top: 15),
 
               // 表单 - 重置密码
               _buildInputLayout(
@@ -151,15 +149,15 @@ class SignUpPage extends HookConsumerWidget {
                   splashColor: Colors.transparent,
                   icon: state.pwdVisibility
                       ? const MyAssetImage(
-                    Assets.authPasswordHide,
-                    width: 22.5,
-                    height: 16.5,
-                  )
+                          Assets.authPasswordHide,
+                          width: 22.5,
+                          height: 16.5,
+                        )
                       : const MyAssetImage(
-                    Assets.authPasswordShow,
-                    width: 22.5,
-                    height: 16.5,
-                  ),
+                          Assets.authPasswordShow,
+                          width: 22.5,
+                          height: 16.5,
+                        ),
                   onPressed: () {
                     viewModel.switchPwdVisibility();
                   },
@@ -184,15 +182,15 @@ class SignUpPage extends HookConsumerWidget {
                   splashColor: Colors.transparent,
                   icon: state.confirmPwdVisibility
                       ? const MyAssetImage(
-                    Assets.authPasswordHide,
-                    width: 22.5,
-                    height: 16.5,
-                  )
+                          Assets.authPasswordHide,
+                          width: 22.5,
+                          height: 16.5,
+                        )
                       : const MyAssetImage(
-                    Assets.authPasswordShow,
-                    width: 22.5,
-                    height: 16.5,
-                  ),
+                          Assets.authPasswordShow,
+                          width: 22.5,
+                          height: 16.5,
+                        ),
                   onPressed: () {
                     viewModel.switchConfirmPwdVisibility();
                   },
@@ -244,7 +242,6 @@ class SignUpPage extends HookConsumerWidget {
                   ),
                 ],
               ).marginOnly(bottom: 35),
-
             ],
           ),
         ),
@@ -254,18 +251,18 @@ class SignUpPage extends HookConsumerWidget {
 
   /// 输入框
   Widget _buildInputLayout(
-      BuildContext context,
-      SignUpState state,
-      String key, {
-        double marginTop = 0,
-        bool? showRightIcon = false, //是否展示右侧的布局
-        Widget? rightWidget, //右侧的布局
-        TextInputType textInputType = TextInputType.text,
-        String? errorText,
-        bool obscureText = false,
-        TextInputAction textInputAction = TextInputAction.done,
-        Function? onSubmit,
-      }) {
+    BuildContext context,
+    SignUpState state,
+    String key, {
+    double marginTop = 0,
+    bool? showRightIcon = false, //是否展示右侧的布局
+    Widget? rightWidget, //右侧的布局
+    TextInputType textInputType = TextInputType.text,
+    String? errorText,
+    bool obscureText = false,
+    TextInputAction textInputAction = TextInputAction.done,
+    Function? onSubmit,
+  }) {
     return IgnoreKeyboardDismiss(
       child: MyTextField(
         key,
@@ -300,5 +297,4 @@ class SignUpPage extends HookConsumerWidget {
       ),
     );
   }
-
 }

+ 1 - 0
packages/cpt_facility/lib/modules/booking/facility_booking_page.dart

@@ -121,6 +121,7 @@ class FacilityBookingPage extends HookConsumerWidget {
                 child: MyTextView(
                   S.current.quota_left_msg(state.data?.remainQuota ?? 0, state.data?.quotaResetOn ?? "-"),
                   marginTop: 7,
+                  marginLeft: 10,
                   marginBottom: 15,
                   textColor: context.appColors.textBlack,
                   fontSize: 12,

+ 6 - 6
packages/cpt_main/lib/modules/feedback/feedback_page.dart

@@ -44,8 +44,8 @@ class FeedbackPage extends StatelessWidget {
                     _buildFeedbackCategory(
                       context,
                       Assets.mainFeedbackSend,
-                      45,
-                      51.5,
+                      70,
+                      70,
                       S.current.sent,
                       tabsRouter.activeIndex == 0,
                     ).onTap(
@@ -56,8 +56,8 @@ class FeedbackPage extends StatelessWidget {
                     _buildFeedbackCategory(
                       context,
                       Assets.mainFeedbackInProgress,
-                      48,
-                      46.5,
+                      70,
+                      70,
                       S.current.in_progress,
                       tabsRouter.activeIndex == 1,
                     ).onTap(
@@ -68,8 +68,8 @@ class FeedbackPage extends StatelessWidget {
                     _buildFeedbackCategory(
                       context,
                       Assets.mainFeedbackHistory,
-                      38,
-                      45.5,
+                      70,
+                      70,
                       S.current.history,
                       tabsRouter.activeIndex == 2,
                     ).onTap(

+ 11 - 7
packages/cpt_main/lib/modules/home/home_page.dart

@@ -223,14 +223,18 @@ class HomePage extends HookConsumerWidget {
   //Banner的布局
   Widget _buildBannerImage() {
     return SliverToBoxAdapter(
-      child: Center(
-        child: MyLoadImage(
-          "https://t11.baidu.com/it/u=1326770860,192430039&fm=30&app=106&f=JPEG?w=640&h=427&s=33B5BFAA6A165BCA182937620300D077",
-          width: 345,
-          height: 152.5,
-          cornerRadius: 5,
+      child: Container(
+        width: double.infinity,
+        margin: const EdgeInsets.only(top: 21, left: 15, right: 15),
+        child: AspectRatio(
+          aspectRatio: 345/152.5,
+          child: MyLoadImage(
+            "https://t11.baidu.com/it/u=1326770860,192430039&fm=30&app=106&f=JPEG?w=640&h=427&s=33B5BFAA6A165BCA182937620300D077",
+            width: double.infinity,
+            cornerRadius: 5,
+          ),
         ),
-      ).marginOnly(top: 21),
+      ),
     );
   }
 

+ 1 - 1
packages/cpt_main/lib/modules/home/home_state.dart

@@ -52,7 +52,7 @@ class HomeState {
       'margin_right': 6.0,
     },
     {
-      'category_name': S.current.publish,
+      'category_name': S.current.notice,
       'category_icon': Assets.mainHomePublishNews,
       'icon_width': 40.5,
       'icon_height': 42.5,

+ 21 - 1
packages/cpt_main/lib/modules/main/main_view_model.dart

@@ -1,6 +1,9 @@
+import 'package:plugin_basic/constants/app_constant.dart';
 import 'package:plugin_basic/provider/user_config/user_config_service.dart';
 import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
 import 'package:riverpod_annotation/riverpod_annotation.dart';
+import 'package:shared/utils/event_bus.dart';
+import 'package:shared/utils/log_utils.dart';
 import 'main_state.dart';
 
 part 'main_view_model.g.dart';
@@ -11,7 +14,10 @@ class MainViewModel extends _$MainViewModel with DioCancelableMixin {
   MainState build() {
     final state = MainState();
 
-    registerCancellation();
+    registerEventBus();
+    registerCancellation(callback: () {
+      unregisterEventBus();
+    });
 
     return state;
   }
@@ -21,4 +27,18 @@ class MainViewModel extends _$MainViewModel with DioCancelableMixin {
     UserConfigService.getInstance().refreshUserInfo();
   }
 
+  // EventBus 的事件接收
+  Subscription? subscribe;
+
+  void registerEventBus() {
+    subscribe = bus.on(AppConstant.eventProfileRefresh, (arg) {
+      Log.d("收到消息刷新用户信息");
+      fetchUserInfo();
+    });
+  }
+
+  void unregisterEventBus() {
+    bus.off(AppConstant.eventProfileRefresh, subscribe);
+  }
+
 }

+ 0 - 1
packages/cpt_main/lib/modules/visitor/item_visitor.dart

@@ -38,7 +38,6 @@ class VisitorItem extends StatelessWidget {
           MyTextView(
             item.name ?? "",
             fontSize: 16,
-            marginTop: 19,
             marginBottom: 5,
             textColor: context.appColors.textBlack,
             isFontMedium: true,

+ 6 - 6
packages/cpt_main/lib/modules/visitor/visitor_page.dart

@@ -49,8 +49,8 @@ class VisitorPage extends HookConsumerWidget {
                     _buildVisitorCategory(
                       context,
                       Assets.mainVisitorNow,
-                      54.5,
-                      48,
+                      70,
+                      70,
                       S.current.visitor_now,
                       tabsRouter.activeIndex == 0,
                     ).onTap(
@@ -61,8 +61,8 @@ class VisitorPage extends HookConsumerWidget {
                     _buildVisitorCategory(
                       context,
                       Assets.mainVisitorActive,
-                      36.5,
-                      48,
+                      70,
+                      70,
                       S.current.visitor_active,
                       tabsRouter.activeIndex == 1,
                     ).onTap(
@@ -73,8 +73,8 @@ class VisitorPage extends HookConsumerWidget {
                     _buildVisitorCategory(
                       context,
                       Assets.mainVisitorHistory,
-                      38,
-                      45.5,
+                      70,
+                      70,
                       S.current.history,
                       tabsRouter.activeIndex == 2,
                     ).onTap(

+ 4 - 1
packages/cpt_profile/lib/modules/setting/setting_page.dart

@@ -73,7 +73,10 @@ class SettingPage extends HookConsumerWidget {
             SettingItemContainer(title: S.current.account_deactivation).onTap(viewModel.doDeleteAccount),
 
             //评价我们
-            SettingItemContainer(title: S.current.rate_us),
+            SettingItemContainer(title: S.current.rate_us).onTap((){
+              //跳转到应用商城
+              viewModel.rateUs();
+            }),
 
             //版本号
             SettingItemContainer(

+ 7 - 0
packages/cpt_profile/lib/modules/setting/setting_view_model.dart

@@ -9,6 +9,7 @@ import 'package:plugin_platform/engine/sp/sp_util.dart';
 import 'package:plugin_platform/engine/toast/toast_engine.dart';
 import 'package:riverpod_annotation/riverpod_annotation.dart';
 import 'package:router/componentRouter/component_service_manager.dart';
+import 'package:shared/utils/event_bus.dart';
 import 'package:widgets/dialog/app_default_dialog.dart';
 
 part 'setting_view_model.g.dart';
@@ -62,4 +63,10 @@ class SettingViewModel extends _$SettingViewModel {
       },
     ));
   }
+
+  //评价我们,跳转到各平台的应用商城
+  void rateUs() {
+    bus.emit(AppConstant.eventProfileRefresh, true);
+  }
+
 }

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


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


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


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


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


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


BIN
packages/cs_resources/assets/yy_business_top_logo.webp


BIN
packages/cs_resources/assets/yy_home_splash.png


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

@@ -2,8 +2,8 @@
 class Assets {
   Assets._();
 
-  static const String assetsYyBusinessTopLogo = 'assets/yy_business_top_logo.webp';
   static const String assetsYyHomeLogo = 'assets/yy_home_logo.webp';
+  static const String assetsYyHomeSplash = 'assets/yy_home_splash.png';
   static const String authChooseEstateBuilding = 'assets/auth/choose_estate_building.webp';
   static const String authCountrySg = 'assets/auth/country_sg.webp';
   static const String authForgotInputEmailPhoneImg = 'assets/auth/forgot_input_email_phone_img.webp';
@@ -59,7 +59,6 @@ class Assets {
   static const String communityPhone = 'assets/community/phone.png';
   static const String communityShare = 'assets/community/share.webp';
   static const String communityWhatsAPP = 'assets/community/WhatsAPP.png';
-  static const String constantsColorConstants = 'lib/constants/color_constants.dart';
   static const String facilityActiveIcon = 'assets/facility/active_icon.webp';
   static const String facilityAddCardAmerican = 'assets/facility/add_card_american.webp';
   static const String facilityAddCardMaster = 'assets/facility/add_card_master.webp';
@@ -90,16 +89,6 @@ class Assets {
   static const String formOvernight = 'assets/form/overnight.webp';
   static const String formRenovation = 'assets/form/renovation.webp';
   static const String formSubmitIcon = 'assets/form/submit_icon.webp';
-  static const String generatedAssets = 'lib/generated/assets.dart';
-  static const String generatedL10n = 'lib/generated/l10n.dart';
-  static const String intlMessagesAll = 'lib/generated/intl/messages_all.dart';
-  static const String intlMessagesEn = 'lib/generated/intl/messages_en.dart';
-  static const String intlMessagesZhCN = 'lib/generated/intl/messages_zh_CN.dart';
-  static const String intlMessagesZhHK = 'lib/generated/intl/messages_zh_HK.dart';
-  static const String l10nIntlEn = 'lib/l10n/intl_en.arb';
-  static const String l10nIntlZhCN = 'lib/l10n/intl_zh_CN.arb';
-  static const String l10nIntlZhHK = 'lib/l10n/intl_zh_HK.arb';
-  static const String l10nMergeArb = 'lib/l10n/merge_arb';
   static const String mainAccountDeactivationImg = 'assets/main/account_deactivation_img.webp';
   static const String mainFeedbackHistory = 'assets/main/feedback_history.webp';
   static const String mainFeedbackInProgress = 'assets/main/feedback_in_progress.webp';
@@ -257,8 +246,5 @@ class Assets {
   static const String serviceServiceIcon9 = 'assets/service/service_icon_9.png';
   static const String serviceServiceScoreNo = 'assets/service/service_score_no.png';
   static const String serviceServiceScoreYes = 'assets/service/service_score_yes.png';
-  static const String themeAppColorsTheme = 'lib/theme/app_colors_theme.dart';
-  static const String themeThemeConfig = 'lib/theme/theme_config.dart';
-  static const String themeThemeNotifier = 'lib/theme/theme_notifier.dart';
 
 }

+ 1 - 0
packages/cs_resources/lib/generated/intl/messages_en.dart

@@ -269,6 +269,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("NOTES TO MANAGEMENT"),
         "notes_to_recipient":
             MessageLookupByLibrary.simpleMessage("Notes to Recipient"),
+        "notice": MessageLookupByLibrary.simpleMessage("Notice"),
         "notice_board": MessageLookupByLibrary.simpleMessage("Notice Board"),
         "notification": MessageLookupByLibrary.simpleMessage("Notification"),
         "nric_fin": MessageLookupByLibrary.simpleMessage("NRIC/FIN"),

+ 10 - 0
packages/cs_resources/lib/generated/l10n.dart

@@ -2870,6 +2870,16 @@ class S {
     );
   }
 
+  /// `Notice`
+  String get notice {
+    return Intl.message(
+      'Notice',
+      name: 'notice',
+      desc: '',
+      args: [],
+    );
+  }
+
   /// `Other`
   String get other {
     return Intl.message(

+ 1 - 0
packages/cs_resources/lib/l10n/intl_en.arb

@@ -281,5 +281,6 @@
   "manage": "Manage",
   "parking_fee_payment": "Parking Fee Payment",
   "property_payment": "Property Payment",
+  "notice": "Notice",
   "other": "Other"
 }

+ 1 - 0
packages/cs_resources/lib/l10n/intl_zh_CN.arb

@@ -281,5 +281,6 @@
   "manage": "管理",
   "parking_fee_payment": "停车费",
   "property_payment": "物业费",
+  "notice": "公告",
   "other": "其他"
 }

+ 1 - 0
packages/cs_resources/lib/l10n/intl_zh_HK.arb

@@ -267,5 +267,6 @@
   "manage": "管理",
   "parking_fee_payment": "停车费",
   "property_payment": "物业费",
+  "notice": "公告",
   "other": "其他"
 }