package controller import ( "context" "github.com/gogf/gf/v2/net/ghttp" "observer-server/biz/model/dto" "observer-server/biz/service" ) // cAppVersion App 版本接口:公开组(无需登录态,旧版本/未登录用户均可检查更新)。 type cAppVersion struct{} var AppVersion = &cAppVersion{} // GetUpdate 版本更新检查 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 }