更新睡眠报告时区显示问题。

This commit is contained in:
wyf
2026-02-03 11:59:21 +08:00
parent 144de2c965
commit 3ef22a36c0
9 changed files with 392 additions and 80 deletions

View File

@@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:math';
import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
@@ -104,21 +105,49 @@ class MyUtils {
return formattedDate;
}
// static String hidePhoneNumber(String phoneNumber) {
// if (phoneNumber.length != 11) {
// // 检查手机号是否为11位
// throw Exception("手机号格式不正确");
// }
// // 将中间四位替换为星号
// return phoneNumber.replaceRange(3, 7, '****');
// }
static String hidePhoneNumber(String phoneNumber) {
if (phoneNumber.length != 11) {
// 检查手机号是否为11位
throw Exception("手机号格式不正确");
if (phoneNumber.isEmpty) {
return phoneNumber;
}
// 将中间四位替换为星号
return phoneNumber.replaceRange(3, 7, '****');
// 提取所有数字
final digits = phoneNumber.replaceAll(RegExp(r'[^\d]'), '');
if (digits.isEmpty) {
return phoneNumber;
}
// 显示最后4位如果长度足够
final visibleDigits = min(4, digits.length);
final hiddenCount = digits.length - visibleDigits;
// 构建结果:隐藏部分 + 可见部分
final result =
'*' * hiddenCount + digits.substring(digits.length - visibleDigits);
return result;
}
static double initialScrollOffset = 0.0;
// 判断手机号格式是否正确的方法
// static bool isValidPhoneNumber(String phoneNumber) {
// final RegExp phoneRegExp = RegExp(r'^1[3-9]\d{9}$');
// return phoneRegExp.hasMatch(phoneNumber);
// }
static bool isValidPhoneNumber(String phoneNumber) {
final RegExp phoneRegExp = RegExp(r'^1[3-9]\d{9}$');
return phoneRegExp.hasMatch(phoneNumber);
// 匹配大多数国家的手机号(去掉空格和特殊字符后)
final RegExp phoneRegExp = RegExp(r'^\+?[1-9]\d{1,14}$');
return phoneRegExp.hasMatch(phoneNumber.replaceAll(RegExp(r'\s+'), ''));
}
static bool isValidEmail(String email) {