This commit is contained in:
2025-09-04 18:31:00 +08:00
parent 52c321ff57
commit 1064046016
79 changed files with 12873 additions and 7 deletions
+31
View File
@@ -0,0 +1,31 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type ChapterRouter struct{}
// InitChapterRouter 初始化 章节 路由信息
func (s *ChapterRouter) InitChapterRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
chapterRouter := Router.Group("chapter").Use(middleware.OperationRecord())
chapterRouterWithoutRecord := Router.Group("chapter")
chapterRouterWithoutAuth := PublicRouter.Group("chapter")
var chapterApi = v1.ApiGroupApp.LearningApiGroup.ChapterApi
{
chapterRouter.POST("createChapter", chapterApi.CreateChapter) // 新建章节
chapterRouter.DELETE("deleteChapter", chapterApi.DeleteChapter) // 删除章节
chapterRouter.DELETE("deleteChapterByIds", chapterApi.DeleteChapterByIds) // 批量删除章节
chapterRouter.PUT("updateChapter", chapterApi.UpdateChapter) // 更新章节
}
{
chapterRouterWithoutRecord.GET("findChapter", chapterApi.FindChapter) // 根据ID获取章节
chapterRouterWithoutRecord.GET("getChapterList", chapterApi.GetChapterList) // 获取章节列表
}
{
chapterRouterWithoutAuth.GET("getChaptersByCourse", chapterApi.GetChaptersByCourse) // 根据课程获取章节列表(无需认证)
}
}
+31
View File
@@ -0,0 +1,31 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type CourseRouter struct{}
// InitCourseRouter 初始化 课程 路由信息
func (s *CourseRouter) InitCourseRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
courseRouter := Router.Group("course").Use(middleware.OperationRecord())
courseRouterWithoutRecord := Router.Group("course")
courseRouterWithoutAuth := PublicRouter.Group("course")
var courseApi = v1.ApiGroupApp.LearningApiGroup.CourseApi
{
courseRouter.POST("createCourse", courseApi.CreateCourse) // 新建课程
courseRouter.DELETE("deleteCourse", courseApi.DeleteCourse) // 删除课程
courseRouter.DELETE("deleteCourseByIds", courseApi.DeleteCourseByIds) // 批量删除课程
courseRouter.PUT("updateCourse", courseApi.UpdateCourse) // 更新课程
}
{
courseRouterWithoutRecord.GET("findCourse", courseApi.FindCourse) // 根据ID获取课程
courseRouterWithoutRecord.GET("getCourseList", courseApi.GetCourseList) // 获取课程列表
}
{
courseRouterWithoutAuth.GET("getPublishedCourses", courseApi.GetPublishedCourses) // 获取已发布课程列表(无需认证)
}
}
+12
View File
@@ -0,0 +1,12 @@
package learning
type RouterGroup struct {
CourseRouter
ChapterRouter
KnowledgePointRouter
QuestionRouter
UserLearningRouter
WrongQuestionRouter
ExamRouter
UserExamRouter
}
+36
View File
@@ -0,0 +1,36 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type ExamRouter struct{}
// InitExamRouter 初始化 考试 路由信息
func (s *ExamRouter) InitExamRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
examRouter := Router.Group("exam").Use(middleware.OperationRecord())
examRouterWithoutRecord := Router.Group("exam")
examRouterWithoutAuth := PublicRouter.Group("exam")
var examApi = v1.ApiGroupApp.LearningApiGroup.ExamApi
{
examRouter.POST("createExam", examApi.CreateExam) // 新建考试
examRouter.DELETE("deleteExam", examApi.DeleteExam) // 删除考试
examRouter.DELETE("deleteExamByIds", examApi.DeleteExamByIds) // 批量删除考试
examRouter.PUT("updateExam", examApi.UpdateExam) // 更新考试
examRouter.PUT("publishExam", examApi.PublishExam) // 发布考试
}
{
examRouterWithoutRecord.GET("findExam", examApi.FindExam) // 根据ID获取考试
examRouterWithoutRecord.GET("getExamList", examApi.GetExamList) // 获取考试列表
examRouterWithoutRecord.GET("getActiveExams", examApi.GetActiveExams) // 获取进行中的考试列表
examRouterWithoutRecord.GET("getExamsByCourse", examApi.GetExamsByCourse) // 根据课程获取考试列表
examRouterWithoutRecord.GET("getExamStatistics", examApi.GetExamStatistics) // 获取考试统计
}
{
// 公开接口,不需要认证
examRouterWithoutAuth.GET("getPublishedExams", examApi.GetActiveExams) // 获取已发布的考试列表
}
}
+31
View File
@@ -0,0 +1,31 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type KnowledgePointRouter struct{}
// InitKnowledgePointRouter 初始化 知识点 路由信息
func (s *KnowledgePointRouter) InitKnowledgePointRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
knowledgePointRouter := Router.Group("knowledgePoint").Use(middleware.OperationRecord())
knowledgePointRouterWithoutRecord := Router.Group("knowledgePoint")
knowledgePointRouterWithoutAuth := PublicRouter.Group("knowledgePoint")
var knowledgePointApi = v1.ApiGroupApp.LearningApiGroup.KnowledgePointApi
{
knowledgePointRouter.POST("createKnowledgePoint", knowledgePointApi.CreateKnowledgePoint) // 新建知识点
knowledgePointRouter.DELETE("deleteKnowledgePoint", knowledgePointApi.DeleteKnowledgePoint) // 删除知识点
knowledgePointRouter.DELETE("deleteKnowledgePointByIds", knowledgePointApi.DeleteKnowledgePointByIds) // 批量删除知识点
knowledgePointRouter.PUT("updateKnowledgePoint", knowledgePointApi.UpdateKnowledgePoint) // 更新知识点
}
{
knowledgePointRouterWithoutRecord.GET("findKnowledgePoint", knowledgePointApi.FindKnowledgePoint) // 根据ID获取知识点
knowledgePointRouterWithoutRecord.GET("getKnowledgePointList", knowledgePointApi.GetKnowledgePointList) // 获取知识点列表
}
{
knowledgePointRouterWithoutAuth.GET("getKnowledgePointsByChapter", knowledgePointApi.GetKnowledgePointsByChapter) // 根据章节获取知识点列表(无需认证)
}
}
+31
View File
@@ -0,0 +1,31 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type QuestionRouter struct{}
// InitQuestionRouter 初始化 题目 路由信息
func (s *QuestionRouter) InitQuestionRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
questionRouter := Router.Group("question").Use(middleware.OperationRecord())
questionRouterWithoutRecord := Router.Group("question")
questionRouterWithoutAuth := PublicRouter.Group("question")
var questionApi = v1.ApiGroupApp.LearningApiGroup.QuestionApi
{
questionRouter.POST("createQuestion", questionApi.CreateQuestion) // 新建题目
questionRouter.DELETE("deleteQuestion", questionApi.DeleteQuestion) // 删除题目
questionRouter.DELETE("deleteQuestionByIds", questionApi.DeleteQuestionByIds) // 批量删除题目
questionRouter.PUT("updateQuestion", questionApi.UpdateQuestion) // 更新题目
}
{
questionRouterWithoutRecord.GET("findQuestion", questionApi.FindQuestion) // 根据ID获取题目
questionRouterWithoutRecord.GET("getQuestionList", questionApi.GetQuestionList) // 获取题目列表
}
{
questionRouterWithoutAuth.GET("getQuestionsByKnowledgePoint", questionApi.GetQuestionsByKnowledgePoint) // 根据知识点获取题目列表(无需认证)
}
}
+32
View File
@@ -0,0 +1,32 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type UserExamRouter struct{}
// InitUserExamRouter 初始化 用户考试记录 路由信息
func (s *UserExamRouter) InitUserExamRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
userExamRouter := Router.Group("userExam").Use(middleware.OperationRecord())
userExamRouterWithoutRecord := Router.Group("userExam")
var userExamApi = v1.ApiGroupApp.LearningApiGroup.UserExamApi
{
userExamRouter.POST("createUserExam", userExamApi.CreateUserExam) // 新建用户考试记录
userExamRouter.DELETE("deleteUserExam", userExamApi.DeleteUserExam) // 删除用户考试记录
userExamRouter.DELETE("deleteUserExamByIds", userExamApi.DeleteUserExamByIds) // 批量删除用户考试记录
userExamRouter.PUT("updateUserExam", userExamApi.UpdateUserExam) // 更新用户考试记录
userExamRouter.POST("startExam", userExamApi.StartExam) // 开始考试
userExamRouter.PUT("submitExam", userExamApi.SubmitExam) // 提交考试
}
{
userExamRouterWithoutRecord.GET("findUserExam", userExamApi.FindUserExam) // 根据ID获取用户考试记录
userExamRouterWithoutRecord.GET("getUserExamList", userExamApi.GetUserExamList) // 获取用户考试记录列表
userExamRouterWithoutRecord.GET("getUserExamHistory", userExamApi.GetUserExamHistory) // 获取用户考试历史
userExamRouterWithoutRecord.GET("getUserExamStatistics", userExamApi.GetUserExamStatistics) // 获取用户考试统计
userExamRouterWithoutRecord.GET("getExamRanking", userExamApi.GetExamRanking) // 获取考试排行榜
}
}
+29
View File
@@ -0,0 +1,29 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type UserLearningRouter struct{}
// InitUserLearningRouter 初始化 用户学习记录 路由信息
func (s *UserLearningRouter) InitUserLearningRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
userLearningRouter := Router.Group("userLearning").Use(middleware.OperationRecord())
userLearningRouterWithoutRecord := Router.Group("userLearning")
var userLearningApi = v1.ApiGroupApp.LearningApiGroup.UserLearningApi
{
userLearningRouter.POST("createUserLearning", userLearningApi.CreateUserLearning) // 新建用户学习记录
userLearningRouter.DELETE("deleteUserLearning", userLearningApi.DeleteUserLearning) // 删除用户学习记录
userLearningRouter.DELETE("deleteUserLearningByIds", userLearningApi.DeleteUserLearningByIds) // 批量删除用户学习记录
userLearningRouter.PUT("updateUserLearning", userLearningApi.UpdateUserLearning) // 更新用户学习记录
}
{
userLearningRouterWithoutRecord.GET("findUserLearning", userLearningApi.FindUserLearning) // 根据ID获取用户学习记录
userLearningRouterWithoutRecord.GET("getUserLearningList", userLearningApi.GetUserLearningList) // 获取用户学习记录列表
userLearningRouterWithoutRecord.GET("getUserProgress", userLearningApi.GetUserProgress) // 获取用户学习进度
userLearningRouterWithoutRecord.GET("getLearningStatistics", userLearningApi.GetLearningStatistics) // 获取用户学习统计
}
}
+30
View File
@@ -0,0 +1,30 @@
package learning
import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/flipped-aurora/gin-vue-admin/server/middleware"
"github.com/gin-gonic/gin"
)
type WrongQuestionRouter struct{}
// InitWrongQuestionRouter 初始化 错题本 路由信息
func (s *WrongQuestionRouter) InitWrongQuestionRouter(Router *gin.RouterGroup, PublicRouter *gin.RouterGroup) {
wrongQuestionRouter := Router.Group("wrongQuestion").Use(middleware.OperationRecord())
wrongQuestionRouterWithoutRecord := Router.Group("wrongQuestion")
var wrongQuestionApi = v1.ApiGroupApp.LearningApiGroup.WrongQuestionApi
{
wrongQuestionRouter.POST("createWrongQuestion", wrongQuestionApi.CreateWrongQuestion) // 新建错题记录
wrongQuestionRouter.DELETE("deleteWrongQuestion", wrongQuestionApi.DeleteWrongQuestion) // 删除错题记录
wrongQuestionRouter.DELETE("deleteWrongQuestionByIds", wrongQuestionApi.DeleteWrongQuestionByIds) // 批量删除错题记录
wrongQuestionRouter.PUT("updateWrongQuestion", wrongQuestionApi.UpdateWrongQuestion) // 更新错题记录
wrongQuestionRouter.PUT("markAsMastered", wrongQuestionApi.MarkAsMastered) // 标记为已掌握
}
{
wrongQuestionRouterWithoutRecord.GET("findWrongQuestion", wrongQuestionApi.FindWrongQuestion) // 根据ID获取错题记录
wrongQuestionRouterWithoutRecord.GET("getWrongQuestionList", wrongQuestionApi.GetWrongQuestionList) // 获取错题记录列表
wrongQuestionRouterWithoutRecord.GET("getUserWrongQuestions", wrongQuestionApi.GetUserWrongQuestions) // 获取用户错题列表
wrongQuestionRouterWithoutRecord.GET("getWrongQuestionStatistics", wrongQuestionApi.GetWrongQuestionStatistics) // 获取错题统计
}
}