Browse Source

添加eventbus的刷新用户信息

liukai 3 months ago
parent
commit
ca25672669

+ 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;

+ 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),
+      ),
     );
   }
 

+ 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);
+  }
+
 }

+ 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);
+  }
+
 }