From f64dd9f191dff341b4eb430d7bacc44a3db9a279 Mon Sep 17 00:00:00 2001
From: liuxiaolong <liuxiaolong@aiotlink.com>
Date: 星期五, 04 三月 2022 10:12:45 +0800
Subject: [PATCH] fix nil

---
 controllers/sys.go |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/controllers/sys.go b/controllers/sys.go
index 1f6d908..1b2051d 100644
--- a/controllers/sys.go
+++ b/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 {
-			"浼樺寲鍋滆溅鍦鸿溅浣嶅湴鍥�",
-			"瑙e喅宸茬煡闂",
-		}
+	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()
 }

--
Gitblit v1.8.0