first commit

This commit is contained in:
2026-06-03 10:09:03 +08:00
commit 81f5039458
6266 changed files with 188236 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
package controllers
import (
"strings"
"server/models"
"server/services"
beego "github.com/beego/beego/v2/server/web"
)
// ApiSoftwareUpgradeController 开放接口:客户端检查更新(无需登录)
type ApiSoftwareUpgradeController struct {
beego.Controller
}
// Check GET /api/softwareupgrade/check?code=desktop-app(可选 version 由客户端自行比对 latestVersion
func (c *ApiSoftwareUpgradeController) Check() {
code := strings.TrimSpace(c.GetString("code"))
if code == "" {
c.Data["json"] = map[string]interface{}{"code": 400, "msg": "缺少参数 code(产品标识)"}
_ = c.ServeJSON()
return
}
var row models.SystemSoftwareUpgrade
err := models.Orm.QueryTable(new(models.SystemSoftwareUpgrade)).
Filter("code", code).
Filter("status", 1).
Filter("delete_time__isnull", true).
One(&row)
if err != nil {
c.Data["json"] = map[string]interface{}{"code": 404, "msg": "产品不存在或已停用"}
_ = c.ServeJSON()
return
}
latest := strings.TrimSpace(row.LatestVersion)
if latest == "" {
latest = "0.0.0"
}
scheme, host := services.PublicRequestBaseURL(&c.Controller)
dl := services.ResolveSoftwareDownloadURL(scheme, host, row.DownloadURL, row.FileID)
data := map[string]interface{}{
"latestVersion": latest,
"downloadUrl": dl,
"forceUpdate": row.ForceUpdate == 1,
"releaseNotes": "",
}
if row.ReleaseNotes != nil {
data["releaseNotes"] = *row.ReleaseNotes
}
c.Data["json"] = map[string]interface{}{"code": 200, "msg": "success", "data": data}
_ = c.ServeJSON()
}