yl 59d31d4b47 feat: 添加我的课程模块功能
- 新增我的课程列表API接口
- 支持按学习状态筛选(全部/学习中/已完结)
- 支持分页查询
- 包含课程基本信息、学习进度等数据
- 添加Apifox接口文档配置指南

文件变更:
- server/api/admin/mycourse/mycourse.go - API接口定义
- server/internal/controller/admin/mycourse/mycourse.go - 控制器层
- server/internal/service/mycourse.go - 服务层(模拟数据)
- server/internal/router/admin.go - 路由配置
- docs/apifox_config.md - 接口文档
2025-07-28 15:30:04 +08:00

44 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Package mycourse
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Yl <yl@example.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
package mycourse
import (
"hotgo/internal/model/input/form"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// MyCourseListReq 我的课程列表请求
type MyCourseListReq struct {
g.Meta `path:"/mycourse/list" method:"get" tags:"我的课程" summary:"获取我的课程列表"`
form.PageReq
StudyStatus int `json:"study_status" dc:"学习状态0全部课程 1学习中 2已完结"`
}
type MyCourseListRes struct {
List []*MyCourseListModel `json:"list" dc:"课程列表"`
form.PageRes
}
type MyCourseListModel struct {
Id uint64 `json:"id" dc:"用户课程关联ID"`
CourseId uint64 `json:"course_id" dc:"课程ID"`
Title string `json:"title" dc:"课程标题"`
Subtitle string `json:"subtitle" dc:"课程副标题"`
CoverImage string `json:"cover_image" dc:"课程封面"`
Instructor string `json:"instructor" dc:"讲师"`
Subject string `json:"subject" dc:"学科"`
Description string `json:"description" dc:"课程描述"`
TotalEpisodes int `json:"total_episodes" dc:"总集数"`
TotalLessons int `json:"total_lessons" dc:"总节数"`
TotalDuration string `json:"total_duration" dc:"总时长"`
StudiedDuration string `json:"studied_duration" dc:"已学时长"`
StudyStatus int `json:"study_status" dc:"学习状态1学习中 2已完结"`
StudyStatusText string `json:"study_status_text" dc:"学习状态文本"`
EnrollmentTime *gtime.Time `json:"enrollment_time" dc:"报名时间"`
}