controllers

package
v0.0.0-...-eec0c15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

README

EduSpark Controllers Directory 说明

文件夹作用:

controllers 文件夹是 EduSpark 项目的入口点,负责处理传入的 HTTP 请求。它充当了 MVC (Model-View-Controller) 架构中的控制层角色。Controllers 解析请求参数,调用相应的 services 层来执行业务逻辑,然后格式化并返回 HTTP 响应给客户端。它们通常还负责处理用户身份验证、输入验证和错误处理等任务。

各主要 Controller 文件描述:

1.  user_controller.go: 
    作用: 处理用户认证相关的 HTTP 请求,例如用户注册、登录、获取用户信息、请求密码重置、验证邮箱/手机验证码等。调用 `user_service`。

2.  class_controller.go:
    作用: 处理班级和学生管理的 HTTP 请求,包括创建班级、获取用户拥有的班级列表、删除班级、添加/导入学生、列出班级内学生、删除学生等。调用 `class_service` 和 `student_service`。

3.  exam_controller.go:
    作用: 处理考试相关的 HTTP 请求,如创建新考试(接收上传的试卷文件)、解析试卷内容(调用 AI 服务)、获取指定班级的考试列表、删除考试等。调用 `exam_service`。

4.  problems_controller.go:
    作用: 处理试卷题目相关的 HTTP 请求,主要是创建(或批量添加)与特定考试关联的试题信息(知识点、题号、分数、内容)。调用 `problems_services`。

5.  score_controller.go:
    作用: 处理学生成绩相关的 HTTP 请求,包括上传(批量录入)某次考试的学生得分、获取某次考试的成绩列表等。调用 `score_service`。

6.  analysis_controller.go:
    作用: 处理学情分析数据的 HTTP 请求,提供基于已有数据的统计分析结果,例如获取某次考试的班级整体分析、学生个人分析、学生排名等。调用 `analysis_service`。

7.  ai_analysis_controller.go:
    作用: 处理由 AI 生成的学情分析报告的 HTTP 请求,例如请求 AI 对班级或单个学生的考试表现进行深入分析和总结。调用 `analysis_service` 中的 AI 分析功能。

8.  ai_controller.go:
    作用: 处理通用的 AI 功能相关的 HTTP 请求,例如与 AI 助教进行聊天交互、请求 AI 生成教学 PPT 等。调用 `chat_service`、`ppt_service` 等。

9.  rag_controller.go:
    作用: 处理基于 RAG (Retrieval-Augmented Generation) 技术的智能推荐请求,如根据学生学情分析结果或用户输入的消息,生成个性化的学习建议或资源推荐。调用 `rag_service`。

10. resource_controller.go:
    作用: 处理教学资源管理的 HTTP 请求,可能包括上传资源文件、搜索/查询资源、获取资源访问链接等。调用 `resource_service` 和 `oss_service`。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AiAnalyzeClass

func AiAnalyzeClass(c *gin.Context)

func AiAnalyzeStudent

func AiAnalyzeStudent(c *gin.Context)

func AnalyzeExam

func AnalyzeExam(c *gin.Context)

func AnalyzeStudent

func AnalyzeStudent(c *gin.Context)

func Chat

func Chat(c *gin.Context)

func CreatProblem

func CreatProblem(c *gin.Context)

func CreateClass

func CreateClass(c *gin.Context)

CreateClass 创建班级

func CreateExam

func CreateExam(c *gin.Context)

func DeleteClass

func DeleteClass(c *gin.Context)

DeleteClass 删除班级

func DeleteExam

func DeleteExam(c *gin.Context)

func DeleteStudent

func DeleteStudent(c *gin.Context)

func Email2Login

func Email2Login(c *gin.Context)

Email2Login 处理用户通过邮箱和验证码登录的请求。 验证成功后返回 JWT Token。

func ForgetPassword

func ForgetPassword(c *gin.Context)

ForgetPassword 处理用户通过邮箱验证码忘记密码并重置密码的请求。

func GetPPTProgress

func GetPPTProgress(c *gin.Context)

func GetPPtTemplates

func GetPPtTemplates(c *gin.Context)

func GetRank

func GetRank(c *gin.Context)

func GetRecommmend

func GetRecommmend(c *gin.Context)

返回随机的6个主题

func GetResource

func GetResource(c *gin.Context)

func ImportStudents

func ImportStudents(c *gin.Context)

批量创建学生(json)

func ListClasses

func ListClasses(c *gin.Context)

ListClasses 获取班级列表

func ListExam

func ListExam(c *gin.Context)

func ListScore

func ListScore(c *gin.Context)

func ListStudents

func ListStudents(c *gin.Context)

func Login

func Login(c *gin.Context)

Login 处理用户通过手机号和密码登录的请求。 验证成功后返回 JWT Token。

func PicGenerate

func PicGenerate(c *gin.Context)

func PptGenerate

func PptGenerate(c *gin.Context)

func Rag4Msg

func Rag4Msg(c *gin.Context)

Rag4Msg 处理基于通用消息的 RAG 推荐请求(用于消息回复场景)

func Rag4Plan

func Rag4Plan(c *gin.Context)

Rag4Plan 处理基于通用消息的 RAG 推荐请求(用于计划生成场景)

func Rag4Stu

func Rag4Stu(c *gin.Context)

Rag4Stu 处理针对特定学生的 RAG 推荐请求 它首先检查 Redis 缓存,如果未命中,则获取学生分析数据, 调用 RAG 服务生成推荐,将结果存入 Redis 缓存,并返回给客户端。

func Register

func Register(c *gin.Context)

Register 处理用户注册请求。 它接收用户的手机号、密码、确认密码、用户名、学科、邮箱和验证码, 进行校验后创建新用户。

func ResetPassword

func ResetPassword(c *gin.Context)

ResetPassword 处理已登录用户重置密码的请求。 需要提供旧密码和新密码。

func SearchResources

func SearchResources(c *gin.Context)

func SendCode

func SendCode(c *gin.Context)

SendCode 处理发送邮箱验证码的请求。

func UploadScore

func UploadScore(c *gin.Context)

func VerifyCode

func VerifyCode(c *gin.Context)

VerifyCode 处理验证邮箱验证码的请求。

Types

type AuthClaims

type AuthClaims struct {
	UserID uint64 `json:"user_id"`
	jwt.RegisteredClaims
}

AuthClaims 定义了 JWT 的自定义 Claims,包含用户 ID。

type ProblemDetail

type ProblemDetail struct {
	Keypoint        string  `json:"keypoint" binding:"required"`
	QuestionsNumber uint    `json:"questions_number" binding:"required"`
	TotalScore      float64 `json:"total_score" binding:"required"`
	Content         string  `json:"content" binding:"required"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL