Skip to content

Commit 58fa412

Browse files
authored
refactor: 重构成绩推送逻辑,提升通知触达准确性 (#285)
1 parent 21d651b commit 58fa412

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

api/generate/academic.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ export async function getApiV1JwchAcademicScores(options?: {
6060
term: string;
6161
exam_type: string;
6262
elective_type: string;
63+
classroom: string;
6364
}[];
6465
}>('/api/v1/jwch/academic/scores', {
6566
method: 'GET',

lib/notification.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,11 +142,11 @@ export class NotificationManager {
142142
private static async calMarkDigest(semester: string): Promise<string[]> {
143143
let result: string[] = [];
144144

145-
// 由于只需要知道课程信息,而课程信息在选课结束后就会提供(只是没成绩),所以缓存时间直接给 14
145+
// 由于只需要知道课程信息,而课程信息在选课结束后就会提供(只是没成绩),所以缓存时间直接给 7
146146
const data = await fetchWithCache(
147147
[GRADE_LIST_KEY],
148148
() => getApiV1JwchAcademicScores(),
149-
{ staleTime: 14 * EXPIRE_ONE_DAY }, // 缓存14
149+
{ staleTime: 7 * EXPIRE_ONE_DAY }, // 缓存 7
150150
);
151151

152152
// 如果有数据,则提取需要考试的考场信息,聚合成一个数组
@@ -156,7 +156,7 @@ export class NotificationManager {
156156
// 过滤出当前学期的课程
157157
const filteredData = data.data.data.filter(item => item.term === semester);
158158
for (const item of filteredData) {
159-
result.push(await md5([item.name, item.term, item.teacher, item.elective_type].join('|'), 32));
159+
result.push(await md5([item.name, item.term, item.teacher, item.elective_type, item.classroom].join('|'), 32));
160160
}
161161
}
162162

0 commit comments

Comments
 (0)