100 lines
3.1 KiB
Go
100 lines
3.1 KiB
Go
package v1
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/IceWhaleTech/CasaOS/model"
|
|
"github.com/IceWhaleTech/CasaOS/pkg/config"
|
|
"github.com/IceWhaleTech/CasaOS/pkg/utils/oasis_err"
|
|
"github.com/IceWhaleTech/CasaOS/pkg/utils/version"
|
|
"github.com/IceWhaleTech/CasaOS/service"
|
|
model2 "github.com/IceWhaleTech/CasaOS/service/model"
|
|
"github.com/IceWhaleTech/CasaOS/types"
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
// @Summary 系统信息
|
|
// @Produce application/json
|
|
// @Accept application/json
|
|
// @Tags sys
|
|
// @Security ApiKeyAuth
|
|
// @Success 200 {string} string "ok"
|
|
// @Router /sys/chackversion [get]
|
|
func CheckVersion(c *gin.Context) {
|
|
need, version := version.IsNeedUpdate()
|
|
if need {
|
|
installLog := model2.AppNotify{}
|
|
installLog.CustomId = ""
|
|
installLog.State = 0
|
|
installLog.Message = "New version " + version.Version + " is ready, ready to upgrade"
|
|
installLog.Speed = 100
|
|
installLog.Type = types.NOTIFY_TYPE_NEED_CONFIRM
|
|
installLog.CreatedAt = strconv.FormatInt(time.Now().Unix(), 10)
|
|
installLog.UpdatedAt = strconv.FormatInt(time.Now().Unix(), 10)
|
|
service.MyService.Notify().AddLog(installLog)
|
|
}
|
|
data := make(map[string]interface{}, 1)
|
|
data["is_need"] = need
|
|
data["version"] = version
|
|
data["current_version"] = types.CURRENTVERSION
|
|
c.JSON(http.StatusOK, model.Result{Success: oasis_err.SUCCESS, Message: oasis_err.GetMsg(oasis_err.SUCCESS), Data: data})
|
|
return
|
|
}
|
|
|
|
// @Summary 系统信息
|
|
// @Produce application/json
|
|
// @Accept application/json
|
|
// @Tags sys
|
|
// @Security ApiKeyAuth
|
|
// @Success 200 {string} string "ok"
|
|
// @Router /sys/update [post]
|
|
func SystemUpdate(c *gin.Context) {
|
|
fmt.Println("开始更新")
|
|
need, version := version.IsNeedUpdate()
|
|
if need {
|
|
fmt.Println("进入更新")
|
|
service.MyService.System().UpdateSystemVersion(version.Version)
|
|
}
|
|
c.JSON(http.StatusOK, model.Result{Success: oasis_err.SUCCESS, Message: oasis_err.GetMsg(oasis_err.SUCCESS)})
|
|
}
|
|
|
|
//系统配置
|
|
func GetSystemConfig(c *gin.Context) {
|
|
c.JSON(http.StatusOK, model.Result{Success: oasis_err.SUCCESS, Message: oasis_err.GetMsg(oasis_err.SUCCESS), Data: config.SystemConfigInfo})
|
|
}
|
|
|
|
// @Summary 修改配置文件
|
|
// @Produce application/json
|
|
// @Accept multipart/form-data
|
|
// @Tags user
|
|
// @Param file formData file true "用户头像"
|
|
// @Security ApiKeyAuth
|
|
// @Success 200 {string} string "ok"
|
|
// @Router /user/changhead [post]
|
|
func PostSetSystemConfig(c *gin.Context) {
|
|
var systemConfig model.SystemConfig
|
|
c.BindJSON(&systemConfig)
|
|
service.MyService.System().UpSystemConfig(systemConfig)
|
|
c.JSON(http.StatusOK,
|
|
model.Result{
|
|
Success: oasis_err.SUCCESS,
|
|
Message: oasis_err.GetMsg(oasis_err.SUCCESS),
|
|
Data: config.SystemConfigInfo,
|
|
})
|
|
return
|
|
}
|
|
|
|
//系统配置
|
|
func GetSystemConfigDebug(c *gin.Context) {
|
|
|
|
array := service.MyService.System().GetSystemConfigDebug()
|
|
disk := service.MyService.ZiMa().GetDiskInfo()
|
|
array = append(array, fmt.Sprintf("disk,totle:%v,used:%v,UsedPercent:%v", disk.Total>>20, disk.Used>>20, disk.UsedPercent))
|
|
|
|
c.JSON(http.StatusOK, model.Result{Success: oasis_err.SUCCESS, Message: oasis_err.GetMsg(oasis_err.SUCCESS), Data: array})
|
|
}
|
|
func Sys(c *gin.Context) {
|
|
service.DockerPull()
|
|
}
|