更新短信第二次登录报错的问题

This commit is contained in:
wyf
2025-06-18 09:20:11 +08:00
parent f3f3e4f73f
commit 81689d2fe8
4 changed files with 94 additions and 26 deletions

View File

@@ -117,9 +117,9 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
}); });
} }
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (homeController.sleepDays.value.isNotEmpty) { if (homeController.homeSleepDays.value.isNotEmpty) {
homeController.selectedDayIndex.value = homeController.selectedDayIndex.value =
homeController.sleepDays.value.length - 1; homeController.homeSleepDays.value.length - 1;
} }
}); });
Get.until((route) => Get.until((route) =>
@@ -347,9 +347,9 @@ class _MHTBindDeviceSuccessState extends State<MHTBindDeviceSuccess> {
}); });
} }
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (homeController.sleepDays.value.isNotEmpty) { if (homeController.homeSleepDays.value.isNotEmpty) {
homeController.selectedDayIndex.value = homeController.selectedDayIndex.value =
homeController.sleepDays.value.length - 1; homeController.homeSleepDays.value.length - 1;
} }
}); });
Get.until((route) => Get.until((route) =>

View File

@@ -47,6 +47,8 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
String wifiMac = ""; String wifiMac = "";
var sleepDays = [].obs; var sleepDays = [].obs;
var homeSleepDays = [].obs;
var selectedDayIndex = (6).obs; var selectedDayIndex = (6).obs;
@@ -426,4 +428,71 @@ class MHTHomeController extends GetControllerEx<MHTHomeModel> {
}, },
); );
} }
Future<void> getHomeSleeps(String? mac) async {
String serviceAddress = ServiceConstant.service_address;
String serviceName = ServiceConstant.server_service;
String serviceApi = ServiceConstant.sleep_report;
String queryUrl = "$serviceAddress$serviceName$serviceApi";
// 当前时间的毫秒时间戳
int timestamp = DateTime.now().millisecondsSinceEpoch;
// 拼接参数
List<String> queryParams = [];
if (mac != null && mac.isNotEmpty) {
queryParams.add("mac=$mac");
}
queryParams.add("time=$timestamp");
if (queryParams.isNotEmpty) {
queryUrl += "?${queryParams.join("&")}";
}
await requestWithLog(
logTitle: "请求睡眠信息列表",
method: MyHttpMethod.get,
queryUrl: queryUrl,
onSuccess: (res) {
if (res.data != null && res.data is List) {
List<dynamic> rawList = res.data;
List<Map<String, dynamic>> processedList =
rawList.map<Map<String, dynamic>>((item) {
Map<String, dynamic> map = Map<String, dynamic>.from(item);
// 取出 time
String? timeStr = map['time'];
int? timeMillis = timeStr != null ? int.tryParse(timeStr) : null;
if (timeMillis != null) {
DateTime dateTime =
DateTime.fromMillisecondsSinceEpoch(timeMillis);
// 格式化 week 和 date
String week = MyUtils.formatDateTimeWeek(dateTime);
String date = MyUtils.formatDateTimeDay(dateTime);
// 添加到 map 中
map['week'] = week;
map['date'] = date;
}
return map;
}).toList();
// 赋值给 sleepDays
homeSleepDays.value = processedList;
} else {
// 为空时直接赋空数组
homeSleepDays.value = [];
}
// 更新UI
updateAll();
},
onFailure: (res) {
EasyDartModule.logger.warning("请求睡眠信息列表失败: ${res.msg}");
},
);
}
} }

View File

@@ -9,7 +9,6 @@ import 'package:vbvs_app/common/util/MyUtils.dart';
import 'package:vbvs_app/component/NullDataComponentWidget.dart'; import 'package:vbvs_app/component/NullDataComponentWidget.dart';
import 'package:vbvs_app/component/tool/ClickableContainer.dart'; import 'package:vbvs_app/component/tool/ClickableContainer.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart'; import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/controller/home/home_controller.dart';
import 'package:vbvs_app/controller/main_bottom/global_controller.dart'; import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
import 'package:vbvs_app/controller/user_info_controller.dart'; import 'package:vbvs_app/controller/user_info_controller.dart';
import 'package:vbvs_app/controller/weather/weather_controller.dart'; import 'package:vbvs_app/controller/weather/weather_controller.dart';
@@ -67,9 +66,9 @@ class _NewHomePageState extends State<NewHomePage> {
}); });
} }
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
if (homeController.sleepDays.value.isNotEmpty) { if (homeController.homeSleepDays.value.isNotEmpty) {
homeController.selectedDayIndex.value = homeController.selectedDayIndex.value =
homeController.sleepDays.value.length - 1; homeController.homeSleepDays.value.length - 1;
} }
}); });
} }
@@ -315,7 +314,7 @@ class _NewHomePageState extends State<NewHomePage> {
homeController.selectDevcie.value = homeController.selectDevcie.value =
list[0]["mac"]; list[0]["mac"];
deviceController deviceController
.getSleeps(formFieldController.value); .getHomeSleeps(formFieldController.value);
homeController.updateAll(); homeController.updateAll();
}); });
} }
@@ -429,7 +428,7 @@ class _NewHomePageState extends State<NewHomePage> {
print("$val"); print("$val");
if (val == null) { if (val == null) {
homeController homeController
.sleepDays .homeSleepDays
.value = []; .value = [];
} else { } else {
homeController homeController
@@ -438,7 +437,7 @@ class _NewHomePageState extends State<NewHomePage> {
formFieldController formFieldController
.value!; .value!;
deviceController deviceController
.getSleeps( .getHomeSleeps(
formFieldController formFieldController
.value); .value);
homeController homeController
@@ -532,11 +531,11 @@ class _NewHomePageState extends State<NewHomePage> {
), ),
), ),
if (homeController if (homeController
.sleepDays.value.length == .homeSleepDays.value.length ==
0) 0)
Expanded(child: NullDataWidget()), Expanded(child: NullDataWidget()),
if (homeController if (homeController
.sleepDays.value.length != .homeSleepDays.value.length !=
0) 0)
Container( Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
@@ -556,11 +555,11 @@ class _NewHomePageState extends State<NewHomePage> {
children: [ children: [
...List.generate( ...List.generate(
homeController homeController
.sleepDays .homeSleepDays
.value .value
.length, (index) { .length, (index) {
var day = homeController var day = homeController
.sleepDays[index]; .homeSleepDays[index];
bool isSelected = bool isSelected =
homeController homeController
.selectedDayIndex .selectedDayIndex

View File

@@ -21,16 +21,16 @@ class LoginModel {
//版本id //版本id
int? loginStyle = 1; //1.密码登录 2.短信登录(登录类型: 1:手机号/邮箱+验证码 2:微信一键登录 3:手机号+密码) int? loginStyle = 1; //1.密码登录 2.短信登录(登录类型: 1:手机号/邮箱+验证码 2:微信一键登录 3:手机号+密码)
String? account = '17649984946'; //账户 // String? account = '17649984946'; //账户
// String? account = '13953240733'; //账户 // String? account = '13953240733'; //账户
String? password = '123wyf..'; //密码 // String? password = '123wyf..'; //密码
// String? account = '15255134931'; //账户 // String? account = '15255134931'; //账户
// String? password = 'mht123,.'; //密码 // String? password = 'mht123,.'; //密码
// String? account = '18607922869'; //账户 // String? account = '18607922869'; //账户
// String? password = '373068'; //密码 // String? password = '373068'; //密码
// String? account = ''; //账户 String? account = ''; //账户
// String? password = ''; //密码 String? password = ''; //密码
String? phone; //手机号 String? phone; //手机号
String? code; //验证码 String? code; //验证码
@@ -136,7 +136,7 @@ class MHTLoginController extends GetControllerEx<LoginModel> {
} }
var data = { var data = {
"type": type, "type": type,
"userName": model.account, "userName": account,
"password": password, "password": password,
}; };
String serviceAddress = ServiceConstant.service_address; String serviceAddress = ServiceConstant.service_address;
@@ -173,13 +173,13 @@ class MHTLoginController extends GetControllerEx<LoginModel> {
Future<String> getCode(BuildContext context) async { Future<String> getCode(BuildContext context) async {
String message = ""; String message = "";
if (registerController.model.register_agree == null || // if (registerController.model.register_agree == null ||
registerController.model.register_agree != true) { // registerController.model.register_agree != true) {
message = "需要同意协议".tr; // message = "需要同意协议".tr;
TopSlideNotification.show(context, // TopSlideNotification.show(context,
text: message, textColor: themeController.currentColor.sc9); // text: message, textColor: themeController.currentColor.sc9);
return message; // return message;
} // }
if (model.phone == null || model.phone!.isEmpty) { if (model.phone == null || model.phone!.isEmpty) {
message = "请输入手机号".tr; message = "请输入手机号".tr;
TopSlideNotification.show(context, TopSlideNotification.show(context,