一次大的提交
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
import 'package:maibu_satabot_v2/core/error/failure.dart';
|
||||
import '../models/device_run_param_model.dart';
|
||||
|
||||
abstract class DeviceRunParamRemoteDataSource {
|
||||
Future<Either<Failure, DeviceRunParamModel>> getByDeviceId(String deviceId);
|
||||
Future<Either<Failure, bool>> save(Map<String, dynamic> params);
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:fpdart/fpdart.dart';
|
||||
import 'package:maibu_satabot_v2/core/consts/http_api_consts.dart';
|
||||
import 'package:maibu_satabot_v2/core/error/failure.dart';
|
||||
import '../../domain/entities/device_run_param_entity.dart';
|
||||
import '../models/device_run_param_model.dart';
|
||||
import 'device_run_param_remote_datasource.dart';
|
||||
|
||||
class DeviceRunParamRemoteDataSourceImpl
|
||||
implements DeviceRunParamRemoteDataSource {
|
||||
DeviceRunParamRemoteDataSourceImpl(this._dio);
|
||||
|
||||
final Dio _dio;
|
||||
|
||||
@override
|
||||
Future<Either<Failure, DeviceRunParamModel>> getByDeviceId(
|
||||
String deviceId,
|
||||
) async {
|
||||
try {
|
||||
final response = await _dio.get(
|
||||
HttpApiConsts.deviceRunParamSelect,
|
||||
queryParameters: {'deviceId': deviceId},
|
||||
);
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
final body = response.data as Map<String, dynamic>;
|
||||
final code = body['code'];
|
||||
if (code != null && code.toString() == '200') {
|
||||
final data = body['data'] as Map<String, dynamic>? ?? {};
|
||||
return right(DeviceRunParamModel.fromJson(data));
|
||||
} else {
|
||||
return left(Failure(body['msg'] ?? '获取设备运行参数失败'));
|
||||
}
|
||||
} else {
|
||||
return left(Failure('HTTP错误: ${response.statusCode}'));
|
||||
}
|
||||
} catch (e) {
|
||||
return left(Failure('获取设备运行参数异常: $e'));
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<Failure, bool>> save(Map<String, dynamic> params) async {
|
||||
try {
|
||||
final response = await _dio.post(
|
||||
HttpApiConsts.deviceRunParamSave,
|
||||
data: params,
|
||||
);
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
final body = response.data as Map<String, dynamic>;
|
||||
final code = body['code'];
|
||||
if (code != null && code.toString() == '200') {
|
||||
return right(true);
|
||||
} else {
|
||||
return left(Failure(body['msg'] ?? '保存设备运行参数失败'));
|
||||
}
|
||||
} else {
|
||||
return left(Failure('HTTP错误: ${response.statusCode}'));
|
||||
}
|
||||
} catch (e) {
|
||||
return left(Failure('保存设备运行参数异常: $e'));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user