增加前端分支
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
const BASE_URL = 'http://127.0.0.1:12345';
|
||||
|
||||
async function request(path, params = {}) {
|
||||
const url = new URL(BASE_URL + path);
|
||||
Object.keys(params).forEach(key => {
|
||||
if (params[key] !== undefined && params[key] !== null && params[key] !== '') {
|
||||
url.searchParams.append(key, params[key]);
|
||||
}
|
||||
});
|
||||
|
||||
try {
|
||||
const res = await fetch(url.toString());
|
||||
if (!res.ok) throw new Error('HTTP ' + res.status);
|
||||
const data = await res.json();
|
||||
return data;
|
||||
} catch (e) {
|
||||
console.error('请求失败:', url.toString(), e);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
const API = {
|
||||
getStudentsByAgeRange: (n, m, minAge, maxAge) =>
|
||||
request('/basic-information', { n, m, min_age: minAge, max_age: maxAge }),
|
||||
|
||||
getClassInfo: (classId) =>
|
||||
request('/basic-information/' + classId),
|
||||
|
||||
getAllClassStats: () =>
|
||||
request('/class-stats'),
|
||||
|
||||
getStudentsByScore: (n, m, score) =>
|
||||
request('/scores', { n, m, score }),
|
||||
|
||||
getNoPassStudents: (n, m, failCount) =>
|
||||
request('/scores_no_pass', { n, m, fail_count: failCount }),
|
||||
|
||||
getClassExamAvg: (n, m) =>
|
||||
request('/scores_avg', { n, m }),
|
||||
|
||||
getSalaryTop: (m = 5) =>
|
||||
request('/salary_top', { m }),
|
||||
|
||||
getTimeSize: (n, m) =>
|
||||
request('/time_size', { n, m }),
|
||||
|
||||
getClassAvgTimeSize: (n, m) =>
|
||||
request('/class_avg_time_size', { n, m })
|
||||
};
|
||||
Reference in New Issue
Block a user