feat: update StartTask component and add documentation
This commit is contained in:
@@ -7,6 +7,7 @@ import { useTimer } from "@/components/composables/useTimer";
|
||||
import {
|
||||
continueSession,
|
||||
endSession,
|
||||
getSessionDetail,
|
||||
pauseSession,
|
||||
startOrContinueStudySession,
|
||||
} from "@/api/studySessions";
|
||||
@@ -269,7 +270,10 @@ const toDate = (value: unknown): Date | null => {
|
||||
}
|
||||
|
||||
if (typeof value === "string") {
|
||||
const normalized = value.includes("T") ? value : value.replace(" ", "T");
|
||||
// 去掉末尾的 'Z':后端 LocalDateTime 无时区,序列化时不应带 Z
|
||||
// (旧版序列化器曾错误添加字面量 Z,此处做兼容处理)
|
||||
const clean = value.endsWith("Z") ? value.slice(0, -1) : value;
|
||||
const normalized = clean.includes("T") ? clean : clean.replace(" ", "T");
|
||||
const date = new Date(normalized);
|
||||
return Number.isNaN(date.getTime()) ? null : date;
|
||||
}
|
||||
@@ -338,7 +342,23 @@ const stopTimer = async () => {
|
||||
const res = await pauseSession(taskInfo.value.sessionNum);
|
||||
if (res.code === 200) {
|
||||
ElMessage.success("任务暂停");
|
||||
taskInfo.value.sessionState = "PAUSED";
|
||||
// 重新获取会话数据,同步后端计算后的时间字段
|
||||
try {
|
||||
const detail = await getSessionDetail(taskInfo.value.sessionNum);
|
||||
if (detail?.data) {
|
||||
const d = detail.data;
|
||||
taskInfo.value.sessionState = d.sessionState ?? "PAUSED";
|
||||
taskInfo.value.actualTime = d.actualTime ?? 0;
|
||||
taskInfo.value.effectiveTime = d.effectiveTime ?? 0;
|
||||
taskInfo.value.effectivenessRatio = d.effectivenessRatio ?? 0;
|
||||
taskInfo.value.startTime = d.startTime ?? taskInfo.value.startTime;
|
||||
taskInfo.value.endTime = d.endTime ?? "";
|
||||
taskInfo.value.lastStartTime = d.lastStartTime ?? "";
|
||||
taskInfo.value.pointerPosition = d.pointerPosition ?? 0;
|
||||
}
|
||||
} catch {
|
||||
taskInfo.value.sessionState = "PAUSED";
|
||||
}
|
||||
}
|
||||
clear();
|
||||
clearBreakState();
|
||||
|
||||
Reference in New Issue
Block a user