golang-yitisheng-server/project_codebase.md

1.7 KiB

代码库函数概览

server/common

  • constants: 存放全局常量,如 RedisTokenPrefix, TokenHeader, StateActive 等。
  • id_utils: ID 生成工具,提供 GenerateLongID()GenerateStringID()
  • Response: 统一的HTTP响应结构体 {Code, Message, Data}
  • Success(c *gin.Context, data interface{}): 发送成功响应。
  • Error(c *gin.Context, code int, msg string): 发送错误响应。

server/config

  • InitDB(): 初始化GORM数据库连接。
  • InitRedis(): 初始化Redis客户端。
  • AppConfig: 全局配置变量,包含 Log, Security, RateLimit, Swagger 配置。

server/middleware

  • AuthMiddleware: JWT认证中间件。
  • SecurityMiddleware: 安全校验中间件(请求头签名)。
  • RateLimitMiddleware: 接口限流中间件。
  • CorsMiddleware: 跨域资源共享中间件。

server/modules/yx

  • YxSchoolMajorController: 院校专业控制器。
  • YxHistoryMajorEnrollController: 历年招生记录控制器。
  • YxCalculationMajorController: 计算专业控制器。
  • YxUserScoreController: 用户分数控制器。
  • YxVolunteerController: 志愿控制器。
  • YxVolunteerRecordController: 志愿明细控制器。

server/modules/user/service

  • UserScoreService:
    • GetActiveByID(userID string): 获取用户当前激活状态的成绩 VO。
    • GetByID(id string): 根据 ID 获取特定成绩 VO。
    • SaveUserScore(req *dto.SaveScoreRequest): 保存用户成绩,返回保存后的 VO。
    • ListByUser(userID string, page, size int): 分页获取用户的成绩列表。
  • UserScoreVO: 用户成绩视图对象,包含基础信息、选课列表及子专业成绩映射。