90 lines
2.1 KiB
JavaScript
90 lines
2.1 KiB
JavaScript
/**
|
|
* 团课管理API
|
|
* 对应后端: /api/groupCourse/* 和 /api/coach/courses
|
|
*/
|
|
|
|
import request from '@/utils/request.js'
|
|
|
|
/**
|
|
* 获取当前教练自己教授的团课列表(教练专属)
|
|
* GET /api/coach/courses
|
|
* JWT令牌中自动携带教练身份,后端返回该教练的所有团课
|
|
*/
|
|
export function getCoachCourses() {
|
|
return request.get('/api/coach/courses')
|
|
}
|
|
|
|
/**
|
|
* 获取所有团课列表
|
|
* GET /api/groupCourse/list
|
|
*/
|
|
export function getCourseList(includeDeleted = false) {
|
|
return request.get('/api/groupCourse/list', { includeDeleted })
|
|
}
|
|
|
|
/**
|
|
* 分页获取团课
|
|
* POST /api/groupCourse/page
|
|
*/
|
|
export function getCoursePage(params, includeDeleted = false) {
|
|
return request.post('/api/groupCourse/page', params, { params: { includeDeleted } })
|
|
}
|
|
|
|
/**
|
|
* 多条件搜索团课
|
|
* POST /api/groupCourse/search
|
|
*/
|
|
export function searchCourses(params) {
|
|
return request.post('/api/groupCourse/search', params)
|
|
}
|
|
|
|
/**
|
|
* 根据ID获取团课详情
|
|
* GET /api/groupCourse/{id}
|
|
*/
|
|
export function getCourseById(id) {
|
|
return request.get(`/api/groupCourse/${id}`)
|
|
}
|
|
|
|
/**
|
|
* 根据ID获取团课完整信息(含类型和标签)
|
|
* GET /api/groupCourse/{id}/detail
|
|
*/
|
|
export function getCourseDetail(id) {
|
|
return request.get(`/api/groupCourse/${id}/detail`)
|
|
}
|
|
|
|
/**
|
|
* 获取团课类型列表
|
|
* GET /api/groupCourse/types
|
|
*/
|
|
export function getCourseTypes() {
|
|
return request.get('/api/groupCourse/types')
|
|
}
|
|
|
|
/**
|
|
* 查询课程预约记录(教练查看自己团课的预约会员)
|
|
* GET /api/groupCourse/bookings/course/{courseId}
|
|
*/
|
|
export function getBookingsByCourseId(courseId) {
|
|
return request.get(`/api/groupCourse/bookings/course/${courseId}`)
|
|
}
|
|
|
|
/**
|
|
* 教练开课
|
|
* POST /api/groupCourse/{id}/start
|
|
* body: { actualStartTime: 'yyyy-MM-ddTHH:mm:ss' }
|
|
*/
|
|
export function startCourse(id, actualStartTime) {
|
|
return request.post(`/api/groupCourse/${id}/start`, { actualStartTime })
|
|
}
|
|
|
|
/**
|
|
* 教练结课
|
|
* POST /api/groupCourse/{id}/end
|
|
* body: { actualEndTime: 'yyyy-MM-ddTHH:mm:ss' }
|
|
*/
|
|
export function endCourse(id, actualEndTime) {
|
|
return request.post(`/api/groupCourse/${id}/end`, { actualEndTime })
|
|
}
|