删除服务端材质渲染功能及system_config表,转为环境变量配置,初步配置管理员功能
This commit is contained in:
@@ -3,7 +3,6 @@ package handler
|
||||
import (
|
||||
"carrotskin/internal/container"
|
||||
"carrotskin/internal/model"
|
||||
"carrotskin/internal/service"
|
||||
"carrotskin/internal/types"
|
||||
"strconv"
|
||||
|
||||
@@ -85,98 +84,6 @@ func (h *TextureHandler) Search(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// RenderTexture 渲染皮肤/披风预览
|
||||
func (h *TextureHandler) RenderTexture(c *gin.Context) {
|
||||
textureID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, "无效的材质ID", err)
|
||||
return
|
||||
}
|
||||
renderType := service.RenderType(c.DefaultQuery("type", string(service.RenderTypeIsometric)))
|
||||
size := parseIntWithDefault(c.DefaultQuery("size", "256"), 256)
|
||||
format := service.ImageFormat(c.DefaultQuery("format", string(service.ImageFormatPNG)))
|
||||
|
||||
result, err := h.container.TextureRenderService.RenderTexture(c.Request.Context(), textureID, renderType, size, format)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, err.Error(), err)
|
||||
return
|
||||
}
|
||||
RespondSuccess(c, toRenderResponse(result))
|
||||
}
|
||||
|
||||
// RenderAvatar 渲染头像(2D/3D)
|
||||
func (h *TextureHandler) RenderAvatar(c *gin.Context) {
|
||||
textureID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, "无效的材质ID", err)
|
||||
return
|
||||
}
|
||||
mode := service.AvatarMode(c.DefaultQuery("mode", string(service.AvatarMode2D)))
|
||||
size := parseIntWithDefault(c.DefaultQuery("size", "256"), 256)
|
||||
format := service.ImageFormat(c.DefaultQuery("format", string(service.ImageFormatPNG)))
|
||||
|
||||
result, err := h.container.TextureRenderService.RenderAvatar(c.Request.Context(), textureID, size, mode, format)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, err.Error(), err)
|
||||
return
|
||||
}
|
||||
RespondSuccess(c, toRenderResponse(result))
|
||||
}
|
||||
|
||||
// RenderCape 渲染披风
|
||||
func (h *TextureHandler) RenderCape(c *gin.Context) {
|
||||
textureID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, "无效的材质ID", err)
|
||||
return
|
||||
}
|
||||
size := parseIntWithDefault(c.DefaultQuery("size", "256"), 256)
|
||||
format := service.ImageFormat(c.DefaultQuery("format", string(service.ImageFormatPNG)))
|
||||
|
||||
result, err := h.container.TextureRenderService.RenderCape(c.Request.Context(), textureID, size, format)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, err.Error(), err)
|
||||
return
|
||||
}
|
||||
RespondSuccess(c, toRenderResponse(result))
|
||||
}
|
||||
|
||||
// RenderPreview 自动选择预览(皮肤走等距,披风走披风渲染)
|
||||
func (h *TextureHandler) RenderPreview(c *gin.Context) {
|
||||
textureID, err := strconv.ParseInt(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, "无效的材质ID", err)
|
||||
return
|
||||
}
|
||||
size := parseIntWithDefault(c.DefaultQuery("size", "256"), 256)
|
||||
format := service.ImageFormat(c.DefaultQuery("format", string(service.ImageFormatPNG)))
|
||||
|
||||
result, err := h.container.TextureRenderService.RenderPreview(c.Request.Context(), textureID, size, format)
|
||||
if err != nil {
|
||||
RespondBadRequest(c, err.Error(), err)
|
||||
return
|
||||
}
|
||||
RespondSuccess(c, toRenderResponse(result))
|
||||
}
|
||||
|
||||
// toRenderResponse 转换为API响应
|
||||
func toRenderResponse(r *service.RenderResult) *types.RenderResponse {
|
||||
if r == nil {
|
||||
return nil
|
||||
}
|
||||
resp := &types.RenderResponse{
|
||||
URL: r.URL,
|
||||
ContentType: r.ContentType,
|
||||
ETag: r.ETag,
|
||||
Size: r.Size,
|
||||
}
|
||||
if !r.LastModified.IsZero() {
|
||||
t := r.LastModified
|
||||
resp.LastModified = &t
|
||||
}
|
||||
return resp
|
||||
}
|
||||
|
||||
// Update 更新材质
|
||||
func (h *TextureHandler) Update(c *gin.Context) {
|
||||
userID, ok := GetUserIDFromContext(c)
|
||||
|
||||
Reference in New Issue
Block a user