更改工具配置
This commit is contained in:
parent
aa66fed5dd
commit
146d98797b
@ -4,5 +4,5 @@ Website = "http://legu.cc"
|
|||||||
Icon = "app.png"
|
Icon = "app.png"
|
||||||
Name = "RobotGUI"
|
Name = "RobotGUI"
|
||||||
ID = "cc.legu.app"
|
ID = "cc.legu.app"
|
||||||
Version = "1.0.21"
|
Version = "1.2.2"
|
||||||
Build = 25
|
Build = 29
|
||||||
|
@ -25,11 +25,3 @@ const (
|
|||||||
CONFIG_SERVICE_NAME = "name"
|
CONFIG_SERVICE_NAME = "name"
|
||||||
CONFIG_SERVICE_URL = "url"
|
CONFIG_SERVICE_URL = "url"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
BOLTDB_NAME = "my.db"
|
|
||||||
BOLTDB_BUCKETNAME = "robotBucket"
|
|
||||||
BUCKET_LUBANCONF = "lubanConf"
|
|
||||||
BUCKET_SSHCONF = "sshConf"
|
|
||||||
BUCKET_PBCONF = "pbConf"
|
|
||||||
)
|
|
||||||
|
@ -21,6 +21,10 @@ func TestConver(t *testing.T) {
|
|||||||
fmt.Println(s)
|
fmt.Println(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIsUpgrade(t *testing.T) {
|
||||||
|
IsUpgrade("1.2.2", "1.0.21")
|
||||||
|
}
|
||||||
|
|
||||||
func TestJsonToPb(t *testing.T) {
|
func TestJsonToPb(t *testing.T) {
|
||||||
jsonStr := `{"account":"zhaocy","sid":"dfz"}`
|
jsonStr := `{"account":"zhaocy","sid":"dfz"}`
|
||||||
login := &pb.UserLoginReq{}
|
login := &pb.UserLoginReq{}
|
||||||
|
@ -13,11 +13,14 @@ func newDefaultConfig() *Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Pressure PressureConfig `json:"Pressure,omitempty"`
|
Pressure PressureConfig `json:"Pressure,omitempty"`
|
||||||
UserCount int32 `json:"UserCount,omitempty"` //用户数
|
UserCount int32 `json:"UserCount,omitempty"` //用户数
|
||||||
SId string `json:"sid,omitempty"` //区服ID
|
SId string `json:"sid,omitempty"` //区服ID
|
||||||
WsAddr string `json:"wsAddr,omitempty"` //websocket addr
|
WsAddr string `json:"wsAddr,omitempty"` //websocket addr
|
||||||
IntervalS int32 `json:"intervalS,omitempty"` //间隔时间s
|
IntervalS int32 `json:"intervalS,omitempty"` //间隔时间s
|
||||||
|
LubanConf *LubanConfig `json:"lubanConf,omitempty"` //luban工具配置
|
||||||
|
PbConf *ProtobufConfig `json:"pbConf,omitempty"` //Pb配置
|
||||||
|
SyncConf *SyncConfig `json:"syncConf,omitempty"` //同步配置
|
||||||
}
|
}
|
||||||
|
|
||||||
//压测配置
|
//压测配置
|
||||||
@ -26,3 +29,40 @@ type PressureConfig struct {
|
|||||||
Concurrency int32 `json:"concurrency,omitempty"` //并发量
|
Concurrency int32 `json:"concurrency,omitempty"` //并发量
|
||||||
DurationS int32 `json:"duration,omitempty"` //持续时间 秒
|
DurationS int32 `json:"duration,omitempty"` //持续时间 秒
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//luban
|
||||||
|
type LubanConfig struct {
|
||||||
|
ServerAddr string
|
||||||
|
ProjectDir string
|
||||||
|
WorkDir string
|
||||||
|
Client string
|
||||||
|
GenType string
|
||||||
|
TmpDir string
|
||||||
|
InputDir string //输入目录
|
||||||
|
OutputCodeDir string //输出Code目录
|
||||||
|
OutputJsonDir string //输出json目录
|
||||||
|
}
|
||||||
|
|
||||||
|
type ProtobufConfig struct {
|
||||||
|
ProtoDir string
|
||||||
|
OutputDir string
|
||||||
|
}
|
||||||
|
|
||||||
|
type SyncConfig struct {
|
||||||
|
Ip string
|
||||||
|
Port string
|
||||||
|
UserName string
|
||||||
|
Password string
|
||||||
|
LocalDir string
|
||||||
|
RemoteDir string
|
||||||
|
|
||||||
|
ServerIp string
|
||||||
|
WorkDir string
|
||||||
|
LubanCli string
|
||||||
|
DataDir string
|
||||||
|
JsonDir string
|
||||||
|
|
||||||
|
SaveDir string //保存目录
|
||||||
|
LogDir string //远程日志目录
|
||||||
|
Editor string //编辑器
|
||||||
|
}
|
||||||
|
@ -30,7 +30,6 @@ var (
|
|||||||
connService service.ConnService
|
connService service.ConnService
|
||||||
pttService service.PttService
|
pttService service.PttService
|
||||||
configService service.ConfigService
|
configService service.ConfigService
|
||||||
dbService service.DbService
|
|
||||||
obs = observer.NewObserver()
|
obs = observer.NewObserver()
|
||||||
logger *logrus.Logger
|
logger *logrus.Logger
|
||||||
)
|
)
|
||||||
@ -50,10 +49,6 @@ func init() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = setupDb(); err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
os.Exit(1)
|
|
||||||
}
|
|
||||||
if err = setupWsConn(); err != nil {
|
if err = setupWsConn(); err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@ -86,7 +81,7 @@ func main() {
|
|||||||
checkVersion(app, w)
|
checkVersion(app, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
w.SetContent(container.NewGridWithColumns(3,
|
w.SetContent(container.NewGridWithColumns(2,
|
||||||
widget.NewButton("工具", func() {
|
widget.NewButton("工具", func() {
|
||||||
toolWindow := ui.NewToolWindow(appUI, w)
|
toolWindow := ui.NewToolWindow(appUI, w)
|
||||||
toolWindow.CreateWindow(common.APP_NAME, 1499, 800, true)
|
toolWindow.CreateWindow(common.APP_NAME, 1499, 800, true)
|
||||||
@ -97,11 +92,11 @@ func main() {
|
|||||||
mainWindow.CreateWindow(common.APP_NAME, 1499, 800, true)
|
mainWindow.CreateWindow(common.APP_NAME, 1499, 800, true)
|
||||||
w.Hide()
|
w.Hide()
|
||||||
}),
|
}),
|
||||||
widget.NewButton("自动化测试", func() {
|
// widget.NewButton("自动化测试", func() {
|
||||||
perfWindow := ui.NewPerfWindow(appUI, w)
|
// perfWindow := ui.NewPerfWindow(appUI, w)
|
||||||
perfWindow.CreateWindow(common.APP_NAME, 800, 600, true)
|
// perfWindow.CreateWindow(common.APP_NAME, 800, 600, true)
|
||||||
w.Hide()
|
// w.Hide()
|
||||||
}),
|
// }),
|
||||||
))
|
))
|
||||||
w.SetFixedSize(true)
|
w.SetFixedSize(true)
|
||||||
w.Resize(fyne.NewSize(400, 200))
|
w.Resize(fyne.NewSize(400, 200))
|
||||||
@ -140,11 +135,6 @@ func setupWsConn() (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupDb() (err error) {
|
|
||||||
dbService = service.NewDbService()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func setupConfig() (err error) {
|
func setupConfig() (err error) {
|
||||||
configService, err = service.NewConfigService()
|
configService, err = service.NewConfigService()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -1,170 +0,0 @@
|
|||||||
package service
|
|
||||||
|
|
||||||
import (
|
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
|
||||||
"go_dreamfactory/cmd/v2/model"
|
|
||||||
"log"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/boltdb/bolt"
|
|
||||||
"github.com/sirupsen/logrus"
|
|
||||||
)
|
|
||||||
|
|
||||||
type DbService interface {
|
|
||||||
// 保存鲁班工具配置
|
|
||||||
SaveLubanConf(conf *model.GenTool) error
|
|
||||||
// 获取鲁班工具配置
|
|
||||||
GetLubanConf(key string) *model.GenTool
|
|
||||||
// 保存SSH连接信息
|
|
||||||
SaveSSHConf(conf *model.SSHModel) error
|
|
||||||
//获取终端配置
|
|
||||||
GetSSHConf(key string) *model.SSHModel
|
|
||||||
// 保存pb配置
|
|
||||||
SavePbConf(conf *model.PbConfModel) error
|
|
||||||
// 获取pb配置
|
|
||||||
GetPbConf() *model.PbConfModel
|
|
||||||
}
|
|
||||||
|
|
||||||
type DbServiceImpl struct {
|
|
||||||
}
|
|
||||||
|
|
||||||
var dbservice DbService
|
|
||||||
|
|
||||||
func NewDbService() DbService {
|
|
||||||
dbservice = &DbServiceImpl{}
|
|
||||||
return dbservice
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetDbService() DbService {
|
|
||||||
return dbservice
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) save(key string, model interface{}) error {
|
|
||||||
boltDb = GetBoltDb()
|
|
||||||
defer boltDb.Close()
|
|
||||||
if err := boltDb.Update(func(tx *bolt.Tx) error {
|
|
||||||
b, err2 := json.Marshal(model)
|
|
||||||
if err2 != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
c := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if c == nil {
|
|
||||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
|
||||||
}
|
|
||||||
return c.Put([]byte(key), b)
|
|
||||||
}); err != nil {
|
|
||||||
logrus.Errorf("save err: %v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) SaveLubanConf(conf *model.GenTool) error {
|
|
||||||
return this.save(common.BUCKET_LUBANCONF, conf)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) SavePbConf(conf *model.PbConfModel) error {
|
|
||||||
return this.save(common.BUCKET_PBCONF, conf)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) GetLubanConf(key string) *model.GenTool {
|
|
||||||
boltDb = GetBoltDb()
|
|
||||||
defer boltDb.Close()
|
|
||||||
model := &model.GenTool{}
|
|
||||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
|
||||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if b == nil {
|
|
||||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
|
||||||
}
|
|
||||||
val := b.Get([]byte(key))
|
|
||||||
if err = json.Unmarshal(val, model); err != nil {
|
|
||||||
logrus.Errorf("get gen conf err:%v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}); err != nil {
|
|
||||||
logrus.Errorf("get db conf err: %v", err)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return model
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) SaveSSHConf(conf *model.SSHModel) error {
|
|
||||||
return this.save(common.BUCKET_SSHCONF, conf)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) GetSSHConf(key string) *model.SSHModel {
|
|
||||||
boltDb = GetBoltDb()
|
|
||||||
defer boltDb.Close()
|
|
||||||
model := &model.SSHModel{}
|
|
||||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
|
||||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if b == nil {
|
|
||||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
|
||||||
}
|
|
||||||
val := b.Get([]byte(key))
|
|
||||||
if err = json.Unmarshal(val, model); err != nil {
|
|
||||||
logrus.Errorf("get gen conf err:%v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}); err != nil {
|
|
||||||
logrus.Errorf("get db conf err: %v", err)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return model
|
|
||||||
}
|
|
||||||
|
|
||||||
func (this *DbServiceImpl) GetPbConf() *model.PbConfModel {
|
|
||||||
boltDb = GetBoltDb()
|
|
||||||
defer boltDb.Close()
|
|
||||||
model := &model.PbConfModel{}
|
|
||||||
if err = boltDb.View(func(tx *bolt.Tx) error {
|
|
||||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if b == nil {
|
|
||||||
return fmt.Errorf("Bucket %s not found!", common.BOLTDB_BUCKETNAME)
|
|
||||||
}
|
|
||||||
val := b.Get([]byte(common.BUCKET_PBCONF))
|
|
||||||
if err = json.Unmarshal(val, model); err != nil {
|
|
||||||
logrus.Errorf("get gen conf err:%v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}); err != nil {
|
|
||||||
logrus.Errorf("get db conf err: %v", err)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return model
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
boltDb *bolt.DB
|
|
||||||
bucket *bolt.Bucket
|
|
||||||
err error
|
|
||||||
)
|
|
||||||
|
|
||||||
func GetBoltDb() *bolt.DB {
|
|
||||||
boltDb, err = bolt.Open(common.BOLTDB_NAME, 0600, &bolt.Options{Timeout: 5 * time.Second})
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
boltDb.Update(func(tx *bolt.Tx) error {
|
|
||||||
b := tx.Bucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if b != nil {
|
|
||||||
bucket = b
|
|
||||||
} else {
|
|
||||||
bucket, err = tx.CreateBucket([]byte(common.BOLTDB_BUCKETNAME))
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("create bucket: %s", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
return boltDb
|
|
||||||
}
|
|
@ -102,6 +102,7 @@ func (ss *SSHService) getSftp() (*sftp.Client, error) {
|
|||||||
if ss.Client == nil {
|
if ss.Client == nil {
|
||||||
return nil, errors.New("ssh client is nil")
|
return nil, errors.New("ssh client is nil")
|
||||||
}
|
}
|
||||||
|
var err error
|
||||||
sftpOne.Do(func() {
|
sftpOne.Do(func() {
|
||||||
if sftpCli, err = sftp.NewClient(ss.Client); err != nil {
|
if sftpCli, err = sftp.NewClient(ss.Client); err != nil {
|
||||||
return
|
return
|
||||||
@ -209,6 +210,7 @@ func (ss *SSHService) ScpCopy(localFilePath, remoteDir string) error {
|
|||||||
|
|
||||||
//批量copy
|
//批量copy
|
||||||
func (ss *SSHService) BatchScpCoy(cfs []CopyFiles, remoteDir string) error {
|
func (ss *SSHService) BatchScpCoy(cfs []CopyFiles, remoteDir string) error {
|
||||||
|
var err error
|
||||||
sftpCli, err = ss.getSftp()
|
sftpCli, err = ss.getSftp()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("new sftp client error: %w", err)
|
return fmt.Errorf("new sftp client error: %w", err)
|
||||||
@ -285,6 +287,7 @@ func (ss *SSHService) Scp(targetDir, srcFileName string) (int, error) {
|
|||||||
|
|
||||||
//Download
|
//Download
|
||||||
func (ss *SSHService) ScpDownload(localDir, remoteFilePath string) error {
|
func (ss *SSHService) ScpDownload(localDir, remoteFilePath string) error {
|
||||||
|
var err error
|
||||||
sftpCli, err = ss.getSftp()
|
sftpCli, err = ss.getSftp()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("new sftp client error: %w", err)
|
return fmt.Errorf("new sftp client error: %w", err)
|
||||||
@ -342,6 +345,7 @@ func (ss *SSHService) GetRemoteDir(remoteDir string) (files []File, err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ss *SSHService) BatchScpDownload(localDir, remoteDir string) error {
|
func (ss *SSHService) BatchScpDownload(localDir, remoteDir string) error {
|
||||||
|
var err error
|
||||||
sftpCli, err = ss.getSftp()
|
sftpCli, err = ss.getSftp()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("new sftp client error: %w", err)
|
return fmt.Errorf("new sftp client error: %w", err)
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/model"
|
os_storage "go_dreamfactory/cmd/v2/lib/storage"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@ -36,9 +36,11 @@ func (this *appGen) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
|
|
||||||
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_GEN, theme.ContentCopyIcon(), nil)
|
this.tabItem = container.NewTabItemWithIcon(common.TOOLBAR_GEN, theme.ContentCopyIcon(), nil)
|
||||||
|
|
||||||
// load
|
storage, _ := os_storage.NewOSStorage()
|
||||||
gt := service.GetDbService().GetLubanConf(common.BUCKET_LUBANCONF)
|
conf, err := storage.LoadConfig()
|
||||||
logrus.Debugf("%v", gt)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
content := container.NewMax()
|
content := container.NewMax()
|
||||||
content.Objects = []fyne.CanvasObject{}
|
content.Objects = []fyne.CanvasObject{}
|
||||||
@ -83,14 +85,14 @@ func (this *appGen) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
})
|
})
|
||||||
genType.PlaceHolder = "生成类型"
|
genType.PlaceHolder = "生成类型"
|
||||||
|
|
||||||
if gt != nil {
|
if conf.LubanConf != nil {
|
||||||
serverAddr.Text = gt.ServerAddr
|
serverAddr.Text = conf.LubanConf.ServerAddr
|
||||||
projectDir.Text = gt.ProjectDir
|
projectDir.Text = conf.LubanConf.ProjectDir
|
||||||
workDir.Text = gt.WorkDir
|
workDir.Text = conf.LubanConf.WorkDir
|
||||||
client.Text = gt.Client
|
client.Text = conf.LubanConf.Client
|
||||||
genType.Selected = gt.GenType
|
genType.Selected = conf.LubanConf.GenType
|
||||||
genTypeText = gt.GenType
|
genTypeText = conf.LubanConf.GenType
|
||||||
tmpDir.Text = gt.TmpDir
|
tmpDir.Text = conf.LubanConf.TmpDir
|
||||||
}
|
}
|
||||||
|
|
||||||
form := widget.NewForm(
|
form := widget.NewForm(
|
||||||
@ -127,7 +129,7 @@ func (this *appGen) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
}
|
}
|
||||||
|
|
||||||
saveBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
saveBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
||||||
if err := service.GetDbService().SaveLubanConf(&model.GenTool{
|
lubanconf := &os_storage.LubanConfig{
|
||||||
ServerAddr: serverAddr.Text,
|
ServerAddr: serverAddr.Text,
|
||||||
ProjectDir: projectDir.Text,
|
ProjectDir: projectDir.Text,
|
||||||
Client: client.Text,
|
Client: client.Text,
|
||||||
@ -137,7 +139,9 @@ func (this *appGen) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
OutputJsonDir: outputJsonDir.Text,
|
OutputJsonDir: outputJsonDir.Text,
|
||||||
GenType: genTypeText,
|
GenType: genTypeText,
|
||||||
TmpDir: tmpDir.Text,
|
TmpDir: tmpDir.Text,
|
||||||
}); err != nil {
|
}
|
||||||
|
conf.LubanConf = lubanconf
|
||||||
|
if err := storage.StoreConfig(conf); err != nil {
|
||||||
logrus.WithField("err", err).Debug("保存配置")
|
logrus.WithField("err", err).Debug("保存配置")
|
||||||
}
|
}
|
||||||
logrus.Debug("save luban conf")
|
logrus.Debug("save luban conf")
|
||||||
|
@ -4,7 +4,7 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/model"
|
os_storage "go_dreamfactory/cmd/v2/lib/storage"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"go_dreamfactory/utils"
|
"go_dreamfactory/utils"
|
||||||
@ -35,8 +35,11 @@ func (this *appPbGen) LazyInit(ptService service.PttService, obs observer.Observ
|
|||||||
countLabel := widget.NewLabel("")
|
countLabel := widget.NewLabel("")
|
||||||
|
|
||||||
//load
|
//load
|
||||||
pcm := service.GetDbService().GetPbConf()
|
storage, _ := os_storage.NewOSStorage()
|
||||||
logrus.Debugf("%v", pcm)
|
conf, err := storage.LoadConfig()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// 打开目录
|
// 打开目录
|
||||||
openFolder := func(entry *widget.Entry) {
|
openFolder := func(entry *widget.Entry) {
|
||||||
@ -78,9 +81,9 @@ func (this *appPbGen) LazyInit(ptService service.PttService, obs observer.Observ
|
|||||||
}), outDir)),
|
}), outDir)),
|
||||||
)
|
)
|
||||||
|
|
||||||
if pcm != nil {
|
if conf.PbConf != nil {
|
||||||
protoDir.SetText(pcm.ProtoDir)
|
protoDir.SetText(conf.PbConf.ProtoDir)
|
||||||
outDir.SetText(pcm.OutputDir)
|
outDir.SetText(conf.PbConf.OutputDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
//打开资源管理器
|
//打开资源管理器
|
||||||
@ -157,11 +160,14 @@ func (this *appPbGen) LazyInit(ptService service.PttService, obs observer.Observ
|
|||||||
|
|
||||||
confBtn := &widget.Button{Text: "保存配置", Icon: theme.DocumentSaveIcon()}
|
confBtn := &widget.Button{Text: "保存配置", Icon: theme.DocumentSaveIcon()}
|
||||||
confBtn.OnTapped = func() {
|
confBtn.OnTapped = func() {
|
||||||
if err := service.GetDbService().SavePbConf(&model.PbConfModel{
|
pbconf := &os_storage.ProtobufConfig{
|
||||||
ProtoDir: protoDir.Text,
|
ProtoDir: protoDir.Text,
|
||||||
OutputDir: outDir.Text,
|
OutputDir: outDir.Text,
|
||||||
}); err != nil {
|
}
|
||||||
|
conf.PbConf = pbconf
|
||||||
|
if err := storage.StoreConfig(conf); err != nil {
|
||||||
logrus.WithField("err", err).Debug("保存配置")
|
logrus.WithField("err", err).Debug("保存配置")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
logrus.Debug("save pb conf")
|
logrus.Debug("save pb conf")
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package ui
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/model"
|
os_storage "go_dreamfactory/cmd/v2/lib/storage"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"image/color"
|
"image/color"
|
||||||
@ -57,8 +57,11 @@ func (app *appTerm) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
content.Objects = []fyne.CanvasObject{}
|
content.Objects = []fyne.CanvasObject{}
|
||||||
|
|
||||||
//load term conf
|
//load term conf
|
||||||
sshConf := service.GetDbService().GetSSHConf(common.BUCKET_SSHCONF)
|
storage, _ := os_storage.NewOSStorage()
|
||||||
logrus.Debugf("%v", sshConf)
|
conf, err := storage.LoadConfig()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
//left-top
|
//left-top
|
||||||
localDir := widget.NewEntry()
|
localDir := widget.NewEntry()
|
||||||
@ -125,21 +128,21 @@ func (app *appTerm) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
)
|
)
|
||||||
|
|
||||||
//set input entry
|
//set input entry
|
||||||
if sshConf != nil {
|
if conf.SyncConf != nil {
|
||||||
ip.Text = sshConf.Ip
|
ip.Text = conf.SyncConf.Ip
|
||||||
port.Text = sshConf.Port
|
port.Text = conf.SyncConf.Port
|
||||||
userName.Text = sshConf.UserName
|
userName.Text = conf.SyncConf.UserName
|
||||||
password.Text = sshConf.Password
|
password.Text = conf.SyncConf.Password
|
||||||
localDir.Text = sshConf.LocalDir
|
localDir.Text = conf.SyncConf.LocalDir
|
||||||
remoteDir.Text = sshConf.RemoteDir
|
remoteDir.Text = conf.SyncConf.RemoteDir
|
||||||
// //
|
// //
|
||||||
lubanAddr.Text = sshConf.ServerIp
|
lubanAddr.Text = conf.SyncConf.ServerIp
|
||||||
workDir.Text = sshConf.WorkDir
|
workDir.Text = conf.SyncConf.WorkDir
|
||||||
lubanCli.Text = sshConf.LubanCli
|
lubanCli.Text = conf.SyncConf.LubanCli
|
||||||
dataDir.Text = sshConf.DataDir
|
dataDir.Text = conf.SyncConf.DataDir
|
||||||
jsonDir.Text = sshConf.JsonDir
|
jsonDir.Text = conf.SyncConf.JsonDir
|
||||||
} else {
|
} else {
|
||||||
sshConf = &model.SSHModel{
|
conf.SyncConf = &os_storage.SyncConfig{
|
||||||
Ip: "10.0.0.9",
|
Ip: "10.0.0.9",
|
||||||
UserName: "root",
|
UserName: "root",
|
||||||
Password: "Legu.cc()123",
|
Password: "Legu.cc()123",
|
||||||
@ -160,19 +163,22 @@ func (app *appTerm) LazyInit(ptService service.PttService, obs observer.Observer
|
|||||||
|
|
||||||
// save func
|
// save func
|
||||||
saveFunc := func() {
|
saveFunc := func() {
|
||||||
sshConf.Ip = ip.Text
|
syncConf := &os_storage.SyncConfig{
|
||||||
sshConf.UserName = userName.Text
|
Ip: ip.Text,
|
||||||
sshConf.Password = password.Text
|
UserName: userName.Text,
|
||||||
sshConf.Port = port.Text
|
Password: password.Text,
|
||||||
sshConf.LocalDir = localDir.Text
|
Port: port.Text,
|
||||||
sshConf.RemoteDir = remoteDir.Text
|
LocalDir: localDir.Text,
|
||||||
sshConf.ServerIp = lubanAddr.Text
|
RemoteDir: remoteDir.Text,
|
||||||
sshConf.WorkDir = workDir.Text
|
ServerIp: lubanAddr.Text,
|
||||||
sshConf.LubanCli = lubanCli.Text
|
WorkDir: workDir.Text,
|
||||||
sshConf.DataDir = dataDir.Text
|
LubanCli: lubanCli.Text,
|
||||||
sshConf.JsonDir = jsonDir.Text
|
DataDir: dataDir.Text,
|
||||||
if err := service.GetDbService().SaveSSHConf(sshConf); err != nil {
|
JsonDir: jsonDir.Text,
|
||||||
logrus.WithField("err", err).Debug("保存配置")
|
}
|
||||||
|
conf.SyncConf = syncConf
|
||||||
|
if err := storage.StoreConfig(conf); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
saveBtn1 := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), saveFunc)
|
saveBtn1 := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), saveFunc)
|
||||||
@ -598,22 +604,32 @@ func (a *appTerm) createDownloadWindow() fyne.Window {
|
|||||||
// 进度条
|
// 进度条
|
||||||
downloadProgress := widget.NewProgressBarInfinite()
|
downloadProgress := widget.NewProgressBarInfinite()
|
||||||
|
|
||||||
var sshConf *model.SSHModel
|
var (
|
||||||
|
storage os_storage.Storage
|
||||||
|
conf *os_storage.Config
|
||||||
|
err error
|
||||||
|
)
|
||||||
defer func() {
|
defer func() {
|
||||||
downloadProgress.Hide()
|
downloadProgress.Hide()
|
||||||
//加载配置
|
//加载配置
|
||||||
sshConf = service.GetDbService().GetSSHConf(common.BUCKET_SSHCONF)
|
storage, _ = os_storage.NewOSStorage()
|
||||||
if sshConf != nil {
|
conf, err = storage.LoadConfig()
|
||||||
if sshConf.LogDir == "" {
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// sshConf = service.GetDbService().GetSSHConf(common.BUCKET_SSHCONF)
|
||||||
|
if conf.SyncConf != nil {
|
||||||
|
if conf.SyncConf.LogDir == "" {
|
||||||
remoteLogDirEntry.Text = "/home/liwei/go_dreamfactory/bin/log/"
|
remoteLogDirEntry.Text = "/home/liwei/go_dreamfactory/bin/log/"
|
||||||
} else {
|
} else {
|
||||||
remoteLogDirEntry.Text = sshConf.LogDir
|
remoteLogDirEntry.Text = conf.SyncConf.LogDir
|
||||||
}
|
}
|
||||||
|
|
||||||
saveDirEntry.Text = sshConf.SaveDir
|
saveDirEntry.Text = conf.SyncConf.SaveDir
|
||||||
editorEntry.Text = sshConf.Editor
|
editorEntry.Text = conf.SyncConf.Editor
|
||||||
} else {
|
} else {
|
||||||
sshConf = &model.SSHModel{}
|
conf.SyncConf = &os_storage.SyncConfig{}
|
||||||
}
|
}
|
||||||
|
|
||||||
remoteLogDirEntry.Refresh()
|
remoteLogDirEntry.Refresh()
|
||||||
@ -641,11 +657,11 @@ func (a *appTerm) createDownloadWindow() fyne.Window {
|
|||||||
EditorBtn := widget.NewButtonWithIcon("打开编辑器", theme.FolderIcon(), nil)
|
EditorBtn := widget.NewButtonWithIcon("打开编辑器", theme.FolderIcon(), nil)
|
||||||
saveConfBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
saveConfBtn := widget.NewButtonWithIcon("保存配置", theme.DocumentSaveIcon(), func() {
|
||||||
// 保存配置
|
// 保存配置
|
||||||
sshConf.LogDir = remoteLogDirEntry.Text
|
conf.SyncConf.LogDir = remoteLogDirEntry.Text
|
||||||
sshConf.SaveDir = saveDirEntry.Text
|
conf.SyncConf.SaveDir = saveDirEntry.Text
|
||||||
sshConf.Editor = editorEntry.Text
|
conf.SyncConf.Editor = editorEntry.Text
|
||||||
if err := service.GetDbService().SaveSSHConf(sshConf); err != nil {
|
if err := storage.StoreConfig(conf); err != nil {
|
||||||
logrus.WithField("err", err).Debug("保存日志配置")
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user