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