This commit is contained in:
2023-05-25 09:39:03 +08:00
parent 05ae37d6e2
commit 7531e39a83
3 changed files with 24 additions and 10 deletions

View File

@@ -16,6 +16,7 @@ type Model struct {
Status string `json:"status" default:"initial"` // (initial|ready|waiting|running|success|error) Status string `json:"status" default:"initial"` // (initial|ready|waiting|running|success|error)
Progress int `json:"progress"` // (0-100) Progress int `json:"progress"` // (0-100)
Image string `json:"image"` // 封面圖片實際地址 Image string `json:"image"` // 封面圖片實際地址
Hash string `json:"hash"` // 模型哈希值
Tags string `json:"tags"` Tags string `json:"tags"`
UserID int `json:"user_id"` UserID int `json:"user_id"`
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"` CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`

View File

@@ -6,16 +6,17 @@ import (
) )
type Server struct { type Server struct {
ID int `json:"id" gorm:"primary_key"` ID int `json:"id" gorm:"primary_key"`
Name string `json:"name"` Name string `json:"name"`
Type string `json:"type"` // (訓練|推理) Type string `json:"type"` // (訓練|推理)
IP string `json:"ip"` IP string `json:"ip"`
Port int `json:"port"` Port int `json:"port"`
Status string `json:"status"` // (異常|初始化|就緒|工作中|關閉中) Status string `json:"status"` // (異常|初始化|就緒|工作中|關閉中)
Username string `json:"username"` Username string `json:"username"`
Password string `json:"password"` Password string `json:"password"`
CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"` Models []map[string]interface{} `json:"models" gorm:"-"` // 數據庫不必保存
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"` CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
UpdatedAt time.Time `json:"updated_at" gorm:"autoUpdateTime"`
} }
func init() { func init() {

View File

@@ -28,6 +28,18 @@ func ServersGet(w http.ResponseWriter, r *http.Request) {
} else { } else {
server.Status = "正常" server.Status = "正常"
} }
// 讀取模型信息
resp, err = http.Get(fmt.Sprintf("http://%s:%d/sdapi/v1/sd-models", server.IP, server.Port))
if err != nil || resp.StatusCode != http.StatusOK {
} else {
var models []map[string]interface{}
body, _ := ioutil.ReadAll(resp.Body)
defer resp.Body.Close()
if err := json.Unmarshal(body, &models); err != nil {
server.Models = []map[string]interface{}{}
}
server.Models = models
}
listview.List = append(listview.List, server) listview.List = append(listview.List, server)
} }
listview.Next = listview.Page*listview.PageSize < int(listview.Total) listview.Next = listview.Page*listview.PageSize < int(listview.Total)