feat(server): 公开封面路由 /api/v1/app/cover(App 模型清单缩略图)

This commit is contained in:
2026-08-31 16:06:54 +08:00
parent d0ab407117
commit c8a2495fc9
3 changed files with 38 additions and 0 deletions
+15
View File
@@ -3,6 +3,8 @@ package controller
import (
"context"
"github.com/gogf/gf/v2/net/ghttp"
"observer-server/biz/model/dto"
"observer-server/biz/service"
)
@@ -16,3 +18,16 @@ var AppVersion = &cAppVersion{}
func (c *cAppVersion) GetUpdate(ctx context.Context, req *dto.AppUpdateReq) (*dto.AppUpdateRes, error) {
return service.AppVersion.GetUpdate(ctx, req)
}
// Cover 数据集封面(直写响应体:service 定位文件,controller 输出二进制;
// 公开接口,App 模型清单缩略图。URL 不随封面更换变化,必须 no-store 防缓存旧图)
func (c *cAppVersion) Cover(ctx context.Context, req *dto.AppCoverReq) (*dto.AppCoverRes, error) {
path, err := service.Dataset.AppCoverFile(ctx, req.NamePrefix)
if err != nil {
return nil, err
}
r := ghttp.RequestFromCtx(ctx)
r.Response.Header().Set("Cache-Control", "no-store")
r.Response.ServeFile(path)
return &dto.AppCoverRes{}, nil
}