package app import ( v1 "git.echol.cn/loser/st/server/api/v1" "git.echol.cn/loser/st/server/middleware" "github.com/gin-gonic/gin" ) type CharacterRouter struct{} func (cr *CharacterRouter) InitCharacterRouter(Router *gin.RouterGroup) { characterRouter := Router.Group("character") characterApi := v1.ApiGroupApp.AppApiGroup.CharacterApi { // 公开接口(无需鉴权) characterRouter.GET("/public", characterApi.GetPublicCharacterList) // 获取公开角色卡列表 characterRouter.GET("/:id", characterApi.GetCharacterDetail) // 获取角色卡详情 characterRouter.GET("/:id/export", characterApi.ExportCharacter) // 导出角色卡为 JSON characterRouter.GET("/:id/export/png", characterApi.ExportCharacterAsPNG) // 导出角色卡为 PNG characterRouter.POST("/like", characterApi.LikeCharacter) // 点赞角色卡 } // 需要鉴权的接口 characterRouterAuth := Router.Group("character").Use(middleware.AppJWTAuth()) { characterRouterAuth.GET("/my", characterApi.GetMyCharacterList) // 获取我的角色卡列表 characterRouterAuth.POST("", characterApi.CreateCharacter) // 创建角色卡 characterRouterAuth.PUT("", characterApi.UpdateCharacter) // 更新角色卡 characterRouterAuth.DELETE("/:id", characterApi.DeleteCharacter) // 删除角色卡 characterRouterAuth.POST("/favorite", characterApi.ToggleFavorite) // 切换收藏状态 characterRouterAuth.POST("/import", characterApi.ImportCharacter) // 导入角色卡 } }