第二次提交

This commit is contained in:
cc
2026-01-18 20:21:14 +08:00
parent 4346601481
commit 289e706337
129 changed files with 4615 additions and 135 deletions

View File

@@ -0,0 +1,81 @@
import 'package:dio/dio.dart';
import 'package:maibu_satabot_v2/core/consts/http_api_consts.dart';
import 'package:maibu_satabot_v2/features/devices/data/datasources/device_http_datasource.dart';
import 'package:maibu_satabot_v2/features/devices/domain/entities/device_entity.dart';
class DeviceHttpDatasourceImpl implements DeviceHttpDatasource {
final Dio dio;
DeviceHttpDatasourceImpl(this.dio);
@override
Future<int> bindDevice(String deviceId, String deviceAlias) async {
var response = await dio.post(
HttpApiConsts.bindDevice,
data: {'deviceId': deviceId, 'deviceAlias': deviceAlias},
);
if (response.statusCode != 200) {
throw Exception('网络请求失败:${response.statusCode}');
}
final responseData = response.data;
if (responseData['code'] != 200 || responseData['data'] != true) {
throw Exception(responseData['msg'] ?? '业务异常');
}
return 1;
}
@override
Future<List<DeviceEntity>> getUserDevices(String username) async {
var response = await dio.get(
HttpApiConsts.getUserDevicesList,
queryParameters: {'tenantName': username},
);
if (response.statusCode != 200) {
throw Exception('网络请求失败:${response.statusCode}');
}
final responseData = response.data;
if (responseData['code'] != 200) {
throw Exception(responseData['msg'] ?? '业务异常');
}
if (responseData['total'] == 0) {
return [];
} else {
List<DeviceEntity> devices = [];
for (var item in responseData['rows']) {
devices.add(DeviceEntity.fromJson(item));
}
return devices;
}
}
@override
Future<int> switchDevice(String platform, String deviceId) async {
var response = await dio.post(
HttpApiConsts.switchDevice,
data: {'platform': platform, 'deviceId': deviceId},
);
if (response.statusCode != 200) {
throw Exception('网络请求失败:${response.statusCode}');
}
final responseData = response.data;
if (responseData['code'] != 200 || responseData['data'] != true) {
throw Exception(responseData['msg'] ?? '业务异常');
}
return 1;
}
@override
Future<int> unbindDevice(String deviceId) {
// TODO: implement unbindDevice
throw UnimplementedError();
}
}