Files
huangguo_server/app/api/pingctrl/version.go
T
2026-09-15 22:11:05 +08:00

74 lines
2.2 KiB
Go

package pingctrl
import (
"91porn-server/app/appg"
"91porn-server/common/httputil"
"91porn-server/common/log"
"encoding/json"
"fmt"
"net/http"
)
type PacketType int32
const (
PacketTypeEnterprise PacketType = 1 // 企业签
PacketTypeShop PacketType = 2 // 商店包
PacketTypeTestFlight PacketType = 3 // TF包
)
type AppVersionReq struct {
AppId int32 `json:"appId" binding:"required"` // AppID
SysType string `json:"sysType,omitempty"` // 终端类型
PktType PacketType `json:"pktType,omitempty"` // 包类型
CurVersion string `json:"curVersion,omitempty"` // 当前版本
CurPackageName string `json:"curPackageName,omitempty"` // 包名
}
type AppVersionResp struct {
HasNewVersion bool `json:"hasNewVersion,omitempty"` // 是否存在新版本
ServerVersion string `json:"serverVersion,omitempty"` // 服务器新版本
DownloadLink []string `json:"downloadLink,omitempty"` // 下载地址
Description string `json:"description,omitempty"` // 描述
IsForceUpdate bool `json:"isForceUpdate,omitempty"` // 是否强制升级
Size string `json:"size,omitempty"` // 大小
Md5 string `json:"md5,omitempty"` // md5
}
func VersionThreeServer(curVersion, sysType, buildID, packageName string) (resp AppVersionResp, err error) {
req := AppVersionReq{
AppId: 2,
PktType: PacketTypeEnterprise,
SysType: sysType,
CurVersion: curVersion,
CurPackageName: packageName,
}
// TF包
if len(buildID) > 0 {
req.PktType = PacketTypeTestFlight
}
url := appg.Conf.URL.VersionUrl + "/api/stat/version/app"
bodyStr, err := json.Marshal(req)
if err != nil {
log.Error("VersionThreeServer json.Marshal fail", log.Any("req", req), log.E(err))
}
code, err := httputil.New().POSTWithJResp(&resp, url, nil, bodyStr)
if err != nil {
log.Error("VersionThreeServer POSTWithJResp ", log.Any("url", url), log.E(err))
return
}
if code != http.StatusOK {
log.Error("VersionThreeServer response status ", log.Any("code", code))
err = fmt.Errorf("response status err")
return
}
log.Info("VersionThreeServer response", log.Any("resp", resp.DownloadLink), log.Any("version", resp.HasNewVersion))
return
}