配置后端对接
This commit is contained in:
211
src/services/api.js
Normal file
211
src/services/api.js
Normal file
@@ -0,0 +1,211 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// Student API
|
||||
export const studentAPI = {
|
||||
// Get current logged-in student
|
||||
getCurrentStudent: () => request.get('/api/students/me'),
|
||||
|
||||
// Get student list
|
||||
getList: (params) => request.get('/api/students', { params }),
|
||||
|
||||
// Get student detail
|
||||
getDetail: (id) => request.get(`/api/students/${id}`),
|
||||
|
||||
// Create student
|
||||
create: (data) => request.post('/api/students', data),
|
||||
|
||||
// Update student
|
||||
update: (id, data) => request.put(`/api/students/${id}`, data),
|
||||
|
||||
// Get student progress
|
||||
getProgress: (id) => request.get(`/api/students/${id}/progress`),
|
||||
};
|
||||
|
||||
// Course API
|
||||
export const courseAPI = {
|
||||
// Get course list
|
||||
getList: (params) => request.get('/api/courses', { params }),
|
||||
|
||||
// Get course detail
|
||||
getDetail: (id) => request.get(`/api/courses/${id}`),
|
||||
|
||||
// Create course
|
||||
create: (data) => request.post('/api/courses', data),
|
||||
|
||||
// Update course
|
||||
update: (id, data) => request.put(`/api/courses/${id}`, data),
|
||||
|
||||
// Enroll student in course
|
||||
enroll: (courseId, studentId) =>
|
||||
request.post(`/api/courses/${courseId}/enroll`, { studentId }),
|
||||
|
||||
// Update enrollment progress
|
||||
updateEnrollment: (courseId, enrollmentId, data) =>
|
||||
request.put(`/api/courses/${courseId}/enrollment/${enrollmentId}`, data),
|
||||
|
||||
// Get course students
|
||||
getStudents: (id) => request.get(`/api/courses/${id}/students`),
|
||||
};
|
||||
|
||||
// Job API
|
||||
export const jobAPI = {
|
||||
// Get job list
|
||||
getList: (params) => request.get('/api/jobs', { params }),
|
||||
|
||||
// Get job detail
|
||||
getDetail: (id) => request.get(`/api/jobs/${id}`),
|
||||
|
||||
// Create job
|
||||
create: (data) => request.post('/api/jobs', data),
|
||||
|
||||
// Update job
|
||||
update: (id, data) => request.put(`/api/jobs/${id}`, data),
|
||||
|
||||
// Get recommended jobs for student
|
||||
getRecommended: (studentId) => request.get(`/api/jobs/recommend/${studentId}`),
|
||||
};
|
||||
|
||||
// Company API
|
||||
export const companyAPI = {
|
||||
// Get company list
|
||||
getList: (params) => request.get('/api/companies', { params }),
|
||||
|
||||
// Get company detail
|
||||
getDetail: (id) => request.get(`/api/companies/${id}`),
|
||||
|
||||
// Create company
|
||||
create: (data) => request.post('/api/companies', data),
|
||||
|
||||
// Update company
|
||||
update: (id, data) => request.put(`/api/companies/${id}`, data),
|
||||
|
||||
// Get company jobs
|
||||
getJobs: (id) => request.get(`/api/companies/${id}/jobs`),
|
||||
};
|
||||
|
||||
// Resume API
|
||||
export const resumeAPI = {
|
||||
// Get resume list
|
||||
getList: (params) => request.get('/api/resumes', { params }),
|
||||
|
||||
// Get resume detail
|
||||
getDetail: (id) => request.get(`/api/resumes/${id}`),
|
||||
|
||||
// Create resume
|
||||
create: (data) => request.post('/api/resumes', data),
|
||||
|
||||
// Update resume
|
||||
update: (id, data) => request.put(`/api/resumes/${id}`, data),
|
||||
|
||||
// Delete resume
|
||||
delete: (id) => request.delete(`/api/resumes/${id}`),
|
||||
|
||||
// Get student's active resume
|
||||
getStudentActive: (studentId) =>
|
||||
request.get(`/api/resumes/student/${studentId}/active`),
|
||||
};
|
||||
|
||||
// Interview API
|
||||
export const interviewAPI = {
|
||||
// Get interview list
|
||||
getList: (params) => request.get('/api/interviews', { params }),
|
||||
|
||||
// Get interview detail
|
||||
getDetail: (id) => request.get(`/api/interviews/${id}`),
|
||||
|
||||
// Schedule interview
|
||||
schedule: (data) => request.post('/api/interviews', data),
|
||||
|
||||
// Update interview
|
||||
update: (id, data) => request.put(`/api/interviews/${id}`, data),
|
||||
|
||||
// Cancel interview
|
||||
cancel: (id, reason) =>
|
||||
request.post(`/api/interviews/${id}/cancel`, { reason }),
|
||||
|
||||
// Submit feedback
|
||||
submitFeedback: (id, data) =>
|
||||
request.post(`/api/interviews/${id}/feedback`, data),
|
||||
|
||||
// Get student interview history
|
||||
getStudentHistory: (studentId) =>
|
||||
request.get(`/api/interviews/student/${studentId}/history`),
|
||||
};
|
||||
|
||||
// Class API
|
||||
export const classAPI = {
|
||||
// Get class list
|
||||
getList: (params) => request.get('/api/classes', { params }),
|
||||
|
||||
// Get class detail
|
||||
getDetail: (id) => request.get(`/api/classes/${id}`),
|
||||
|
||||
// Create class
|
||||
create: (data) => request.post('/api/classes', data),
|
||||
|
||||
// Update class
|
||||
update: (id, data) => request.put(`/api/classes/${id}`, data),
|
||||
|
||||
// Get class students
|
||||
getStudents: (id) => request.get(`/api/classes/${id}/students`),
|
||||
|
||||
// Add student to class
|
||||
addStudent: (classId, studentId) =>
|
||||
request.post(`/api/classes/${classId}/students`, { studentId }),
|
||||
|
||||
// Remove student from class
|
||||
removeStudent: (classId, studentId) =>
|
||||
request.delete(`/api/classes/${classId}/students/${studentId}`),
|
||||
|
||||
// Get class statistics
|
||||
getStats: (id) => request.get(`/api/classes/${id}/stats`),
|
||||
};
|
||||
|
||||
// Learning Stage API
|
||||
export const stageAPI = {
|
||||
// Get all stages
|
||||
getList: () => request.get('/api/stages'),
|
||||
|
||||
// Get stage detail
|
||||
getDetail: (id) => request.get(`/api/stages/${id}`),
|
||||
|
||||
// Create stage
|
||||
create: (data) => request.post('/api/stages', data),
|
||||
|
||||
// Update stage
|
||||
update: (id, data) => request.put(`/api/stages/${id}`, data),
|
||||
|
||||
// Delete stage
|
||||
delete: (id) => request.delete(`/api/stages/${id}`),
|
||||
|
||||
// Get stage courses
|
||||
getCourses: (id) => request.get(`/api/stages/${id}/courses`),
|
||||
|
||||
// Get stage students
|
||||
getStudents: (id) => request.get(`/api/stages/${id}/students`),
|
||||
|
||||
// Advance student to next stage
|
||||
advanceStudent: (stageId, studentId) =>
|
||||
request.post(`/api/stages/${stageId}/advance/${studentId}`),
|
||||
};
|
||||
|
||||
// Auth API
|
||||
export const authAPI = {
|
||||
// Login
|
||||
login: (data) => request.post('/api/auth/login', data),
|
||||
|
||||
// Register
|
||||
register: (data) => request.post('/api/auth/register', data),
|
||||
|
||||
// Logout
|
||||
logout: () => request.post('/api/auth/logout'),
|
||||
|
||||
// Get current user
|
||||
getCurrentUser: () => request.get('/api/auth/me'),
|
||||
};
|
||||
|
||||
// Health Check
|
||||
export const healthAPI = {
|
||||
check: () => request.get('/health'),
|
||||
checkDB: () => request.get('/health/db'),
|
||||
};
|
||||
Reference in New Issue
Block a user