sync: port tangguo_server upstream changes
Ported 7 commits (3a79d6a..3dcf693) from tangguo_server: - 版本控制: comment out 2FA in admin.go - 支付和广告调试: pay/ad refactor across appg/adser/rechargeser/pingctrl - 对接统计: add bili_sync statistics endpoint - 代码优化: ginUtil improvements - 修改es/修改appID/代码调整: cumulative updates Preserved hgmj-local differences: - ES table prefix stays 91jd_ (not tangguo_) - BillPlatformID stays 91短剧 (not 糖果短剧) - admin googauth label stays @91短剧 - appg.go retains LouFengH5/DataBuriedPoint fields - rechargeser.go retains reportser event reporting Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
package pingctrl
|
||||
|
||||
import (
|
||||
"91jd-server/app/appg"
|
||||
"91jd-server/common/httputil"
|
||||
"91jd-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: 4,
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user