friend_home_binding.dart
1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'package:doublefeel_flutter/app/modules/home/controllers/today_controller.dart';
import 'package:doublefeel_flutter/core/network/api/health_api.dart';
import 'package:doublefeel_flutter/core/network/api/user_api.dart';
import 'package:doublefeel_flutter/core/services/health_kit_upload_service.dart';
import 'package:doublefeel_flutter/core/services/user_state_service.dart';
import 'package:doublefeel_flutter/app/apple_health_upload/apple_health_upload_tool.dart';
import 'package:get/get.dart';
/// 跳转到好友主页时需要传入的参数。
class FriendHomeArguments {
const FriendHomeArguments({
required this.userId,
this.name,
this.avatarUrl,
});
final int userId;
final String? name;
final String? avatarUrl;
}
class FriendHomeBinding extends Bindings {
@override
void dependencies() {
final args = Get.arguments as FriendHomeArguments;
Get.lazyPut<TodayController>(
() => TodayController(
Get.find<UserApi>(),
Get.find<HealthApi>(),
Get.find<UserStateService>(),
Get.find<HealthKitUploadService>(),
Get.find<AppleHealthUploadTool>(),
friendUserId: args.userId, // 好友 userId,驱动 isFriend = true
),
tag: 'friend_${args.userId}', // 动态 tag,支持多个好友同时在路由栈中
);
}
}