Compare commits

...

2 Commits

Author SHA1 Message Date
zyc
df50fbb8cd Merge pull request 'fix: auto repair bugs #51' (#1) from fix/auto-20260227-163852 into main
Merge PR #1 (approved via Log Center)
2026-02-27 16:46:10 +08:00
repair-agent
eb494a1b95 fix: auto repair bugs #51 2026-02-27 16:45:38 +08:00

View File

@ -45,6 +45,15 @@ class DeviceRemoteDataSourceImpl implements DeviceRemoteDataSource {
DeviceRemoteDataSourceImpl(this._apiClient);
/// Normalize spirit field: if API returns a Map (nested object), extract its 'id'.
Map<String, dynamic> _normalizeSpiritField(Map<String, dynamic> json) {
final spirit = json['spirit'];
if (spirit is Map<String, dynamic>) {
json['spirit'] = spirit['id'];
}
return json;
}
@override
Future<Map<String, dynamic>> queryByMac(String mac) async {
final data = await _apiClient.get(
@ -65,6 +74,10 @@ class DeviceRemoteDataSourceImpl implements DeviceRemoteDataSource {
final body = <String, dynamic>{'sn': sn};
if (spiritId != null) body['spirit_id'] = spiritId;
final data = await _apiClient.post('/devices/bind/', data: body);
if (data is Map<String, dynamic>) {
_normalizeSpiritField(data);
return data['id'] as int;
}
return data as int;
}