27 lines
1.0 KiB
Dart
27 lines
1.0 KiB
Dart
import 'package:fpdart/fpdart.dart';
|
||
import 'package:maibu_satabot_v2/core/domain/usecases/base_usecase.dart';
|
||
import 'package:maibu_satabot_v2/features/devices/domain/errors/device_failure.dart'; // 必须导入
|
||
import 'package:maibu_satabot_v2/features/my/repository/my_repository.dart';
|
||
|
||
// 1. 泛型严格匹配:BaseUseCase<成功类型int, 参数类型UpdateNameParams>
|
||
class UpdateNameUsecase implements BaseUseCase<int, UpdateNameParams> {
|
||
final MyRepository myRepository;
|
||
|
||
UpdateNameUsecase(this.myRepository);
|
||
|
||
// 2. 核心修复:返回值类型从 dynamic 改为 Either<DeviceFailure, int>
|
||
// 严格覆盖 BaseUseCase 的 call 方法
|
||
@override
|
||
Future<Either<DeviceFailure, int>> call(UpdateNameParams params) async {
|
||
// 3. 调用仓库方法(返回值已匹配 Either<DeviceFailure, int>)
|
||
return await myRepository.updateName(params.nickName);
|
||
}
|
||
}
|
||
|
||
// 参数类保持不变(不可变,语义清晰)
|
||
class UpdateNameParams {
|
||
final String nickName;
|
||
|
||
const UpdateNameParams(this.nickName);
|
||
}
|