@@ -0,0 +1,66 @@
|
||||
package vercheck
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"91porn-server/app/service/versionser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/constant"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/common/version"
|
||||
"91porn-server/models/v/versionmod"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// 检查版本更新
|
||||
func VerCheck() gin.HandlerFunc {
|
||||
return func(ctx *gin.Context) {
|
||||
ua, err := common.GetUA(ctx)
|
||||
if err != nil || ua.SysType == "" {
|
||||
log.Warn("get ua error or us is empty", log.E(err))
|
||||
return
|
||||
}
|
||||
var sys string
|
||||
if strings.Contains(strings.ToLower(ua.SysType), constant.DeviceTypeAndroid) {
|
||||
sys = constant.DeviceTypeAndroid
|
||||
}
|
||||
if strings.Contains(strings.ToLower(ua.SysType), constant.DeviceTypeIOS) {
|
||||
sys = constant.DeviceTypeIOS
|
||||
}
|
||||
//查找最新版本信息
|
||||
ver, err := versionmod.FindVersionExcluedBuildId(sys)
|
||||
if err != nil || ver.ID.IsZero() {
|
||||
log.Warn("check version get version error", log.E(err))
|
||||
return
|
||||
}
|
||||
//最新 为强制更新 需要强制更新
|
||||
vn, _ := version.New(ver.VersionName)
|
||||
vc, _ := version.New(ua.Ver)
|
||||
if vn.GT(vc) && versionser.HandleVersion(ua.Ver, &ver) && ver.ForcedUpdate {
|
||||
common.ServeJSON(ctx, stderr.ErrVersionUpdate, ver)
|
||||
ctx.Abort()
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// VerH5Check 检查h5版本更新
|
||||
func VerH5Check(ctx *gin.Context) {
|
||||
ua, err := common.GetUA(ctx)
|
||||
if err != nil {
|
||||
log.Warn("get ua error", log.E(err))
|
||||
return
|
||||
}
|
||||
if !strings.Contains(strings.ToLower(ua.SysType), constant.DeviceTypeH5) {
|
||||
return
|
||||
}
|
||||
//查找最新版本信息
|
||||
ver, err := versionmod.FindVersion(constant.DeviceTypeH5)
|
||||
if err != nil {
|
||||
log.Warn("check version get version error", log.E(err))
|
||||
return
|
||||
}
|
||||
ctx.Writer.Header().Set("Cur-Ver", ver.VersionName)
|
||||
}
|
||||
Reference in New Issue
Block a user