This commit is contained in:
wyf
2025-06-22 19:10:47 +08:00
parent 8c27f0b26c
commit c21896a408
2 changed files with 85 additions and 9 deletions

View File

@@ -39,6 +39,7 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
RxInt bindDeviceNum = 0.obs; //设备数量
RxMap deviceList = {}.obs; //设备列表
RxList deviceListForWeb = [].obs; //h5设备列表
RxMap<String, List<dynamic>> sleepReportData =
<String, List<dynamic>>{}.obs; //睡眠报告
RxList personnelList = [].obs; //人员信息列表
@@ -49,12 +50,13 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
var sleepDays = [].obs;
var homeSleepDays = [].obs;
var selectedDayIndex = (6).obs;
var selectDevcie = ''.obs;
var selectPerson = {}.obs;
bool initDeviceFlag = false;
Future<ApiResponse> getDeviceNum() async {
try {
ApiResponse apiResponse = ApiResponse(code: -1, msg: "设备.设备列表请求失败".tr);
@@ -159,6 +161,68 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
return ApiResponse(code: -1, msg: "未知错误".tr); // Default return statement
}
Future<ApiResponse> getDeviceListForWeb(
{String? key, String? group, int? bindType}) async {
try {
ApiResponse apiResponse = ApiResponse(code: -1, msg: "设备.设备列表请求失败".tr);
String serviceAddress = ServiceConstant.service_address;
String serviceName = ServiceConstant.server_service;
String serviceApi = ServiceConstant.device_list;
// 初始URL
String queryUrl = "$serviceAddress$serviceName$serviceApi";
// 用Map统一管理query参数
Map<String, String> queryParams = {};
if (key != null && key.isNotEmpty) {
queryParams['key'] = key;
}
if (group != null && group.isNotEmpty) {
queryParams['group'] = group;
}
if (bindType != null) {
queryParams['bindType'] = bindType.toString();
}
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
queryParams['lang'] = language;
}
// 拼接完整URL
if (queryParams.isNotEmpty) {
queryUrl += '?' + Uri(queryParameters: queryParams).query;
}
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) {
deviceListForWeb.value = 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
}
Future<ApiResponse> deleteDevice(Map<String, dynamic> device) async {
try {
ApiResponse apiResponse = ApiResponse(code: -1, msg: "请求失败".tr);
@@ -428,6 +492,7 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
},
);
}
Future<void> getHomeSleeps(String? mac) async {
String serviceAddress = ServiceConstant.service_address;
String serviceName = ServiceConstant.server_service;