liuxiaolong
2022-03-04 f64dd9f191dff341b4eb430d7bacc44a3db9a279
controllers/sys.go
@@ -2,6 +2,8 @@
import (
   "car-service/models"
   "car-service/vo"
   "encoding/json"
   "fmt"
   "github.com/astaxie/beego"
   "strconv"
@@ -15,26 +17,50 @@
// @Title 比对版本号,看是否有升级
// @Description 比对版本号,看是否有升级
// @Param curVersion query string  true "当前版本号"
// @Success 200 {object} models.SysVersion
// @Success 200 {object} models.SysUpgrade
// @Failure 403 {string} json ""
// @router /version [get]
func (c *AppController)  Version() {
   curV := c.GetString("curVersion")
   latestV := beego.AppConfig.String("latestVersion")
   fmt.Println("curV:", curV, "latestV:", latestV)
   result := models.SysVersion{
      LatestVersion: latestV,
   platform := c.GetString("platform")
   fmt.Println("platform:",platform,"curV:", curV)
   if platform == "" {
      platform = "android"
   }
   if shouldVersionBeUpgrade(curV, latestV) {
      result.IsUpgrade = true
      result.Url = beego.AppConfig.String("latestUrl")
      result.Msg = []string {
         "优化停车场车位地图",
         "解决已知问题",
      }
   pType := -1 //未知的平台
   if platform == "android" {
      pType = models.PlatType_Android
   } else if platform == "ios" {
      pType = models.PlatType_Ios
   }
   result := vo.Upgrade{}
   var sv models.SysUpgrade
   err := sv.GetLatest(pType)
   if err != nil {
      result.Msg = []string{}
   } else {
      result.IsUpgrade = false
      latestV := sv.LatestVersion
      if shouldVersionBeUpgrade(curV, latestV) {
         result.IsUpgrade = true
         result.Url = sv.Url
         result.LatestVersion = sv.LatestVersion
         result.Time = sv.Time
         result.ForceUpgrade = sv.ForceUpgrade
         var msgArr []string
         if e1 := json.Unmarshal([]byte(sv.Msg), &msgArr);e1 ==nil {
            result.Msg = msgArr
         } else {
            fmt.Println("unmarshal err:", e1)
            result.Msg = []string{}
         }
         result.Size = sv.Size
      } else {
         result.IsUpgrade = false
         result.Msg = []string{}
      }
   }
   c.Data["json"] = result
   c.ServeJSON()
}