pose.ts
2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import request from '@/config/axios'
// 动作VO类型定义(对应接口返回的动作数据结构)
export interface ExercisesVO {
id: number
name: string
categoryId: number
categoryName?: string //部位名称
equipmentId: number
equipmentName?: string //用具名称
exerciseType: number
urlImage?: string
url3dAnimation: string
urlRealPerson: string
urlTutorial: string
stepDescription: string
primaryMuscles: string
secondaryMuscles: string
createTime: string
updateTime?: string
}
// 创建/更新动作的请求参数结构
export interface ExercisesSaveReqVO {
id?: number
name?: string
categoryId?: number
equipmentId?: number
exerciseType?: number
urlImage?: string
url3dAnimation?: string
urlRealPerson?: string
urlTutorial?: string
stepDescription?: string
primaryMuscles?: string[]
secondaryMuscles?: string[]
}
// 分页/导出查询参数
export interface PageParam {
pageNo: number
pageSize: number
name?: string
categoryId?: number
equipmentId?: number
exerciseType?: number
createTime?: string
}
// 动作(Exercises)API 封装对象(和ClassroomApi架构完全一致)
export const ExercisesApi = {
// 1. 获得动作分页
getExercisesPage: (params: PageParam) => {
return request.get({ url: '/motion/exercises/page', params })
},
// 2. 获得动作详情
getExercises: (id: number) => {
return request.get({ url: '/motion/exercises/get', params: { id } })
},
// 3. 创建动作
addExercises: (data: Omit<ExercisesSaveReqVO, 'id'>) => {
return request.post({ url: '/motion/exercises/create', data })
},
// 4. 更新动作
updateExercises: (data: ExercisesSaveReqVO) => {
return request.put({ url: '/motion/exercises/update', data })
},
// 5. 删除动作(单个)
deleteExercises: (id: number) => {
return request.delete({ url: '/motion/exercises/delete', params: { id } })
},
// 6. 批量删除动作
deleteExercisesList: (ids: number[]) => {
return request.delete({ url: '/motion/exercises/delete-list', params: { ids } })
},
// 7. 导出动作Excel
exportExercises: (params: PageParam) => {
return request.download({
url: '/motion/exercises/export-excel',
params
})
}
}