diff --git a/Assets/.trae/rules/git-commit-message.md b/Assets/.trae/rules/git-commit-message.md new file mode 100644 index 0000000..f8be550 --- /dev/null +++ b/Assets/.trae/rules/git-commit-message.md @@ -0,0 +1,5 @@ +--- +alwaysApply: true +scene: git_message +--- +使用中文编写提交信息 diff --git a/Assets/Res/language/language.json b/Assets/Res/language/language.json index a33c46f..fade446 100644 --- a/Assets/Res/language/language.json +++ b/Assets/Res/language/language.json @@ -1498,6 +1498,11 @@ "key": "100300", "zh": "今日消杀分布", "en": "Today elimination distribution" + }, + { + "key": "100301", + "zh": "反馈内容不能为空", + "en": "Feedback content cannot be empty" } diff --git a/Assets/Res/ui/selfpage/selfpage.prefab b/Assets/Res/ui/selfpage/selfpage.prefab index 21ec736..e09deac 100644 --- a/Assets/Res/ui/selfpage/selfpage.prefab +++ b/Assets/Res/ui/selfpage/selfpage.prefab @@ -1817,7 +1817,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 1} m_AnchorMax: {x: 0.5, y: 1} m_AnchoredPosition: {x: 0, y: -226} - m_SizeDelta: {x: 165, y: 165} + m_SizeDelta: {x: 180, y: 180} m_Pivot: {x: 0.5, y: 1} --- !u!222 &8950144054270730730 CanvasRenderer: diff --git a/Assets/Scripts/UI/Pages/HomePage/HomePageSchedule.cs b/Assets/Scripts/UI/Pages/HomePage/HomePageSchedule.cs index 73b6f5e..f5be187 100644 --- a/Assets/Scripts/UI/Pages/HomePage/HomePageSchedule.cs +++ b/Assets/Scripts/UI/Pages/HomePage/HomePageSchedule.cs @@ -64,6 +64,11 @@ namespace Kill.UI.Pages if (tasks == null || tasks.Length == 0) return null; + // 昨天的标志位(用于跨天任务判断) + byte yesterdayFlag = (byte)((todayFlag == ScheduleTask.REPEAT_MONDAY) + ? ScheduleTask.REPEAT_SUNDAY + : (todayFlag >> 1)); + ScheduleTask? nearestTask = null; int nearestTimeDiff = int.MaxValue; int currentTime = DateTime.Now.Hour * 60 + DateTime.Now.Minute; @@ -74,19 +79,23 @@ namespace Kill.UI.Pages if (!task.Enabled) continue; + int taskTime = task.StartHour * 60 + task.StartMinute; + int endTime = task.EndHour * 60 + task.EndMinute; + bool isCrossDay = endTime <= taskTime; + // 检查是否是今天的任务: // 1. Repeat == 0 表示仅一次,认为是当天的任务 - // 2. Repeat & todayFlag != 0 表示今天有重复 - bool isTodayTask = task.Repeat == 0 || (task.Repeat & todayFlag) != 0; + // 2. Repeat & todayFlag != 0 表示今天有重复(任务从今天开始) + // 3. 跨天任务:昨天开始、今天仍未结束,也视为今天任务 + bool isTodayTask = task.Repeat == 0 + || (task.Repeat & todayFlag) != 0 + || (isCrossDay && currentTime < endTime && (task.Repeat & yesterdayFlag) != 0); if (!isTodayTask) continue; - int taskTime = task.StartHour * 60 + task.StartMinute; - int endTime = task.EndHour * 60 + task.EndMinute; - - // 跳过已结束的任务 - if (currentTime >= endTime) + // 跳过已结束的任务(非跨天任务 && 当前时间已过结束时间) + if (!isCrossDay && currentTime >= endTime) continue; int timeDiff = taskTime - currentTime; @@ -114,7 +123,13 @@ namespace Kill.UI.Pages // 判断任务是未来还是进行中 int currentTime = DateTime.Now.Hour * 60 + DateTime.Now.Minute; int taskTime = task.StartHour * 60 + task.StartMinute; - bool isFutureTask = taskTime > currentTime; + int endTime = task.EndHour * 60 + task.EndMinute; + bool isCrossDay = endTime <= taskTime; + + // 跨天任务:如果 startTime > currentTime 但 currentTime < endTime, + // 说明任务昨天已开始、今天仍在运行,应视为进行中而非未开始 + bool isFutureTask = taskTime > currentTime + && !(isCrossDay && currentTime < endTime); if (scheduleText != null) { diff --git a/Assets/Scripts/UI/Pages/SelfPage/FeedbackPage.cs b/Assets/Scripts/UI/Pages/SelfPage/FeedbackPage.cs index 4b2d315..ed6bc8a 100644 --- a/Assets/Scripts/UI/Pages/SelfPage/FeedbackPage.cs +++ b/Assets/Scripts/UI/Pages/SelfPage/FeedbackPage.cs @@ -158,13 +158,23 @@ namespace Kill.UI.Pages /// public async void SubmitFeedback() { + if(issueInput.text==null||issueInput.text=="") + { + ToastUI.Show("100301"); + return; + } LoadingUI.Show(); // 准备表单数据 List formData = new List(); // 添加文本字段 - formData.Add(new MultipartFormDataSection("device_ble_mac",DataManager.Instance.selectedDevice.ble_mac)); + if(DataManager.Instance.selectedDevice!=null&&DataManager.Instance.selectedDevice.ble_mac!="") + { + formData.Add(new MultipartFormDataSection("device_ble_mac",DataManager.Instance.selectedDevice.ble_mac)); + } + else + formData.Add(new MultipartFormDataSection("device_ble_mac"," ")); formData.Add(new MultipartFormDataSection("phone_model",SystemInfo.deviceModel)); formData.Add(new MultipartFormDataSection("os_version",SystemInfo.operatingSystem)); formData.Add(new MultipartFormDataSection("app_version",Application.version)); diff --git a/Assets/Scripts/UI/Pages/SelfPage/SelfPage.cs b/Assets/Scripts/UI/Pages/SelfPage/SelfPage.cs index 2f97dfb..1f806fa 100644 --- a/Assets/Scripts/UI/Pages/SelfPage/SelfPage.cs +++ b/Assets/Scripts/UI/Pages/SelfPage/SelfPage.cs @@ -65,7 +65,6 @@ namespace Kill.UI.Pages public async Task RefreshAsync() { userInfo = DataManager.Instance.userInfo; - avatarImage.gameObject.SetActive(false); nicknameText.text = userInfo.username; emailText.text = userInfo.email; if (!string.IsNullOrEmpty(userInfo.avatar))