go_dreamfactory/cmd/v2/ui/views/globalview.go
2023-05-16 17:18:27 +08:00

65 lines
1.6 KiB
Go

package formview
import (
os_storage "go_dreamfactory/cmd/v2/lib/storage"
"go_dreamfactory/cmd/v2/model"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
)
// 全局实例配置
// redisDb mongoDb
type GlobalConfView struct {
BaseformView
storage os_storage.Storage
conf *os_storage.Config
}
func (this *GlobalConfView) CreateView(t *model.TestCase) fyne.CanvasObject {
// load
this.storage, _ = os_storage.NewOSStorage()
var err error
this.conf, err = this.storage.LoadConfig()
if err != nil {
logrus.Error(err)
return &fyne.Container{}
}
//redis form
redisForm := widget.NewForm()
//mongo form
mongoUrl := widget.NewEntry()
port := widget.NewEntry()
user := widget.NewEntry()
passd := widget.NewEntry()
mongoDatabase := widget.NewEntry()
mongoForm := widget.NewForm(
widget.NewFormItem("Addr", container.NewBorder(nil, nil, nil, port, mongoUrl)),
widget.NewFormItem("User", user),
widget.NewFormItem("Pass", passd),
widget.NewFormItem("DBName", mongoDatabase),
)
if this.conf.ServiceDBInfo != nil {
user.Text = this.conf.MgoDB.User
passd.Text = this.conf.MgoDB.Password
mongoUrl.Text = this.conf.MgoDB.Host
port.Text = cast.ToString(this.conf.MgoDB.Port)
mongoDatabase.Text = this.conf.MgoDB.Database
}
bottomBtn := widget.NewButton("保存", func() {
if err := this.storage.StoreConfig(this.conf); err != nil {
logrus.Error(err)
}
})
layout := container.NewGridWithRows(2, redisForm, mongoForm)
c := container.NewBorder(nil, bottomBtn, nil, nil, layout)
return c
}