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) }