101 lines
3.4 KiB
Dart
101 lines
3.4 KiB
Dart
import 'dart:convert';
|
|
import 'dart:ui';
|
|
|
|
import 'package:EasyDartModule/EasyDartModule.dart';
|
|
import 'package:ef/ef.dart';
|
|
import 'package:json_annotation/json_annotation.dart';
|
|
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
|
import 'package:vbvs_app/common/color/app_uri_status.dart';
|
|
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
|
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
|
|
|
import 'package:vbvs_app/controller/mh_controller/device.dart';
|
|
import 'package:vbvs_app/model/api_response.dart';
|
|
|
|
part 'device_list_controller.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class DeviceListModel {
|
|
//设备列表
|
|
List<dynamic> deviceList = [];
|
|
List<dynamic> deviceListWyf = [];
|
|
|
|
@JsonKey(ignore: true)
|
|
String? keyword;
|
|
@JsonKey(ignore: true)
|
|
Color? color = Color(0xFFFFFFFF);
|
|
|
|
DeviceListModel();
|
|
static DeviceListModel fromJson(Map<String, dynamic> json) =>
|
|
_$DeviceListModelFromJson(json);
|
|
Map<String, dynamic> toJson() => _$DeviceListModelToJson(this);
|
|
}
|
|
|
|
class DeviceListController extends GetControllerEx<DeviceListModel> {
|
|
DeviceListController() {
|
|
attr = GetModel(DeviceListModel()).obs;
|
|
}
|
|
|
|
// @override
|
|
// void onInit() {
|
|
// super.onInit();
|
|
// model.keyword = "";
|
|
// getDeviceList(); // 正确的初始化数据调用
|
|
// }
|
|
|
|
// getDeviceList({int time = 1}) async {
|
|
// String search = (model.keyword != null && model.keyword!.isNotEmpty)
|
|
// ? "?key=${model.keyword}"
|
|
// : "";
|
|
// var data = await ApiService.request.get("/api/device/info/list$search");
|
|
// if (data.data["data"] != null) {
|
|
// try {
|
|
// List<dynamic> tmp = data.data["data"] as List<dynamic>;
|
|
// model.deviceList = tmp.map((obj) => DeviceModel.fromJson(obj)).toList();
|
|
// model.deviceListWyf = tmp;
|
|
// } catch (e) {
|
|
// print(e);
|
|
// }
|
|
// } else {
|
|
// model.deviceList = [];
|
|
// model.deviceListWyf = [];
|
|
// }
|
|
// updateAll();
|
|
// }
|
|
|
|
getDeviceList() async {
|
|
try {
|
|
String search = (model.keyword != null && model.keyword!.isNotEmpty)
|
|
? "?key=${model.keyword}"
|
|
: "";
|
|
ApiResponse apiResponse = ApiResponse(code: -1, msg: "设备.设备列表请求失败".tr);
|
|
String serviceAddress = ServiceConstant.service_address;
|
|
String serviceName = ServiceConstant.server_service;
|
|
String serviceApi = ServiceConstant.device_list;
|
|
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}$search";
|
|
var response = await EasyDartModule.dio.get(queryUrl);
|
|
if (response != null) {
|
|
var responseData =
|
|
response.data is String ? jsonDecode(response.data) : response.data;
|
|
ApiResponse res =
|
|
ApiResponse.fromJson(responseData, (object) => object);
|
|
MyUtils.formatResponse(res, "设备.设备列表请求成功".tr, "设备.设备列表请求失败".tr);
|
|
if (res.code == HttpStatusCodes.ok) {
|
|
// bindDeviceNum.value = res.total!;
|
|
model.deviceList =res.data;
|
|
|
|
updateAll();
|
|
return res;
|
|
}
|
|
} else {
|
|
return ApiResponse(code: -1, msg: "服务器.失败".tr);
|
|
}
|
|
return apiResponse;
|
|
} catch (e) {
|
|
EasyDartModule.logger.info("设备请求列表: $e");
|
|
DailyLogUtils.writeLog("设备请求列表: $e");
|
|
}
|
|
return ApiResponse(code: -1, msg: "未知错误".tr); // Default return statement
|
|
}
|
|
}
|