35 lines
1.5 KiB
Go
35 lines
1.5 KiB
Go
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) // 导入角色卡
|
|
}
|
|
}
|