改爲手動添加服務器
This commit is contained in:
@@ -48,9 +48,18 @@ func ServersPost(w http.ResponseWriter, r *http.Request) {
|
||||
var server models.Server
|
||||
|
||||
// 獲取參數
|
||||
body, _ := ioutil.ReadAll(r.Body)
|
||||
body, err := ioutil.ReadAll(r.Body)
|
||||
if err != nil {
|
||||
fmt.Println("獲取數據失敗:", err)
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte(err.Error()))
|
||||
return
|
||||
}
|
||||
defer r.Body.Close()
|
||||
|
||||
// 解碼JSON
|
||||
if err := json.Unmarshal(body, &server); err != nil {
|
||||
fmt.Println("解碼JSON失敗:", err)
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte(err.Error()))
|
||||
return
|
||||
@@ -69,18 +78,36 @@ func ServersPost(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
// 如果不指定 port,則使用默認 port
|
||||
if server.Port == 0 {
|
||||
if server.Port <= 0 {
|
||||
server.Port = 7860
|
||||
}
|
||||
|
||||
// 如果不指定IP,則自動創建新服務器
|
||||
if server.IP == "" {
|
||||
// TODO: 創建新服務器
|
||||
w.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
w.Write(utils.ToJSON(server))
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte("必須指定IP, 因爲當前禁止自動創建服務器"))
|
||||
return
|
||||
}
|
||||
|
||||
// 檢查服務器是否已經存在
|
||||
var count int64
|
||||
configs.ORMDB().Model(&models.Server{}).Where("ip = ?", server.IP).Count(&count)
|
||||
if count > 0 {
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte("服務器已經存在"))
|
||||
return
|
||||
}
|
||||
|
||||
// 檢查服務器狀態是否正常
|
||||
err = server.CheckStatus()
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusBadRequest)
|
||||
w.Write([]byte("服務器狀態錯誤:" + err.Error()))
|
||||
return
|
||||
}
|
||||
|
||||
// 創建服務器
|
||||
configs.ORMDB().Create(&server)
|
||||
w.Header().Set("Content-Type", "application/json; charset=utf-8")
|
||||
w.Write(utils.ToJSON(server))
|
||||
|
Reference in New Issue
Block a user