refactor: 重构服务层和仓库层
This commit is contained in:
@@ -10,30 +10,32 @@ import (
|
||||
|
||||
// Handlers 集中管理所有Handler
|
||||
type Handlers struct {
|
||||
Auth *AuthHandler
|
||||
User *UserHandler
|
||||
Texture *TextureHandler
|
||||
Profile *ProfileHandler
|
||||
Captcha *CaptchaHandler
|
||||
Yggdrasil *YggdrasilHandler
|
||||
Auth *AuthHandler
|
||||
User *UserHandler
|
||||
Texture *TextureHandler
|
||||
Profile *ProfileHandler
|
||||
Captcha *CaptchaHandler
|
||||
Yggdrasil *YggdrasilHandler
|
||||
CustomSkin *CustomSkinHandler
|
||||
}
|
||||
|
||||
// NewHandlers 创建所有Handler实例
|
||||
func NewHandlers(c *container.Container) *Handlers {
|
||||
return &Handlers{
|
||||
Auth: NewAuthHandler(c),
|
||||
User: NewUserHandler(c),
|
||||
Texture: NewTextureHandler(c),
|
||||
Profile: NewProfileHandler(c),
|
||||
Captcha: NewCaptchaHandler(c),
|
||||
Yggdrasil: NewYggdrasilHandler(c),
|
||||
Auth: NewAuthHandler(c),
|
||||
User: NewUserHandler(c),
|
||||
Texture: NewTextureHandler(c),
|
||||
Profile: NewProfileHandler(c),
|
||||
Captcha: NewCaptchaHandler(c),
|
||||
Yggdrasil: NewYggdrasilHandler(c),
|
||||
CustomSkin: NewCustomSkinHandler(c),
|
||||
}
|
||||
}
|
||||
|
||||
// RegisterRoutesWithDI 使用依赖注入注册所有路由
|
||||
func RegisterRoutesWithDI(router *gin.Engine, c *container.Container) {
|
||||
// 设置Swagger文档
|
||||
SetupSwagger(router)
|
||||
// 健康检查路由
|
||||
router.GET("/health", HealthCheck)
|
||||
|
||||
// 创建Handler实例
|
||||
h := NewHandlers(c)
|
||||
@@ -61,6 +63,9 @@ func RegisterRoutesWithDI(router *gin.Engine, c *container.Container) {
|
||||
|
||||
// 系统路由
|
||||
registerSystemRoutes(v1)
|
||||
|
||||
// CustomSkinAPI 路由
|
||||
registerCustomSkinRoutes(v1, h.CustomSkin)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,3 +196,22 @@ func registerSystemRoutes(v1 *gin.RouterGroup) {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// registerCustomSkinRoutes 注册CustomSkinAPI路由
|
||||
// CustomSkinAPI 协议要求根地址必须以 / 结尾
|
||||
// 路由格式:
|
||||
// - {ROOT}/{USERNAME}.json - 获取玩家信息
|
||||
// - {ROOT}/textures/{hash} - 获取资源文件
|
||||
//
|
||||
// 根路径为 /api/v1/csl/
|
||||
func registerCustomSkinRoutes(v1 *gin.RouterGroup, h *CustomSkinHandler) {
|
||||
// CustomSkinAPI 路由组
|
||||
csl := v1.Group("/csl")
|
||||
{
|
||||
// 获取玩家信息: {ROOT}/{USERNAME}.json
|
||||
csl.GET("/:username", h.GetPlayerInfo)
|
||||
|
||||
// 获取资源文件: {ROOT}/textures/{hash}
|
||||
csl.GET("/textures/:hash", h.GetTexture)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user