34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
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
|
|
}
|