代码拉取完成,页面将自动刷新
同步操作将从 shiyin1211/openGW 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package main
import (
"bytes"
"encoding/json"
"fmt"
"github.com/gin-gonic/gin"
"net/http"
"os/exec"
)
func apiSystemReboot(context *gin.Context){
aParam := struct{
Code string `json:"Code"`
Message string `json:"Message"`
Data string `json:"Data"`
}{
Code:"1",
Message:"",
Data:"",
}
aParam.Code = "0"
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
mCmdReboot()
}
func apiGetSystemStatus(context *gin.Context){
getMemState()
getDiskState()
getRunTime()
aParam := struct{
Code string
Message string
Data SystemState
}{"0","",systemState}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
func apiSystemLoginParam(context *gin.Context){
aParam := struct{
Code string
Message string
Data LoginResult `json:"Data"`
}{"0","",loginResult}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
// 定义登陆逻辑
// model.LoginReq中定义了登陆的请求体(name,passwd)
func apiLogin(c *gin.Context) {
var loginReq LoginReq
if c.BindJSON(&loginReq) == nil {
// 登陆逻辑校验(查库,验证用户是否存在以及登陆信息是否正确)
isPass, user, err := LoginCheck(loginReq)
// 验证通过后为该次请求生成token
if isPass {
generateToken(c, user)
} else {
c.JSON(http.StatusOK, gin.H{
"Code" : "-1",
"Message" : "验证失败" + err.Error(),
"Data" : "",
})
return
}
}else {
c.JSON(http.StatusOK, gin.H{
"Code" : "-1",
"Message" : "用户数据解析失败",
"Data" : "",
})
return
}
}
func apiSystemMemoryUseList(context *gin.Context){
aParam := struct{
Code string
Message string
Data DataStreamTemplate
}{"0","",*MemoryDataStream}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
func apiSystemDiskUseList(context *gin.Context){
aParam := struct{
Code string
Message string
Data DataStreamTemplate
}{"0","",*DiskDataStream}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
func apiSystemDeviceOnlineList(context *gin.Context){
aParam := struct{
Code string
Message string
Data DataStreamTemplate
}{"0","",*DeviceOnlineDataStream}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
func apiSystemDevicePacketLossList(context *gin.Context){
aParam := struct{
Code string
Message string
Data DataStreamTemplate
}{"0","",*DevicePacketLossDataStream}
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
func apiSystemSetSystemRTC(context *gin.Context){
aParam := struct{
Code string `json:"Code"`
Message string `json:"Message"`
Data string `json:"Data"`
}{
Code:"1",
Message:"",
Data:"",
}
bodyBuf := make([]byte,1024)
n,_ := context.Request.Body.Read(bodyBuf)
fmt.Println(string(bodyBuf[:n]))
rRTC := &struct{
systemRTC string
}{}
err := json.Unmarshal(bodyBuf[:n],rRTC)
if err != nil {
fmt.Println("rRTC json unMarshall err,",err)
aParam.Code = "1"
aParam.Message = "json unMarshall err"
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
return
}
cmd := exec.Command("date","-s",rRTC.systemRTC)
var out bytes.Buffer
cmd.Stdout = &out
cmd.Start()
aParam.Code = "0"
sJson,_ := json.Marshal(aParam)
context.String(http.StatusOK,string(sJson))
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。