diff --git a/cmd/v2/ui/app_interface.go b/cmd/v2/ui/app_interface.go index 2d47cfcbe..4c99947d2 100644 --- a/cmd/v2/ui/app_interface.go +++ b/cmd/v2/ui/app_interface.go @@ -37,6 +37,7 @@ var ( perfRegister = []appInterface{ &perfWelcome{}, &perfConf{}, + &perfLogin{}, &perfPb{}, &perfResult{}, } diff --git a/cmd/v2/ui/perf_conf.go b/cmd/v2/ui/perf_conf.go index ffd6806d8..27111b445 100644 --- a/cmd/v2/ui/perf_conf.go +++ b/cmd/v2/ui/perf_conf.go @@ -115,7 +115,7 @@ func (app *perfConf) LazyInit(ptService service.PttService, obs observer.Observe //next defer closeApp3(perfWin.tabs, common.TOOLBAR_PERF_CONF) - openApp3(perfWin.tabs, common.TOOLBAR_PERF_PB) + openApp3(perfWin.tabs, common.TOOLBAR_PERF_LOGIN) } resetBtn := widget.NewButtonWithIcon("重置", theme.ContentRedoIcon(), nil) diff --git a/cmd/v2/ui/perf_login.go b/cmd/v2/ui/perf_login.go index 0a6715907..fa881a124 100644 --- a/cmd/v2/ui/perf_login.go +++ b/cmd/v2/ui/perf_login.go @@ -1,15 +1,22 @@ package ui import ( + "go_dreamfactory/cmd/v2/lib" "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/storage" "go_dreamfactory/cmd/v2/service" "go_dreamfactory/cmd/v2/service/observer" + "go_dreamfactory/comm" + "go_dreamfactory/pb" + "time" "fyne.io/fyne/v2" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/theme" "fyne.io/fyne/v2/widget" + "github.com/Pallinder/go-randomdata" + "github.com/sirupsen/logrus" + "google.golang.org/protobuf/proto" ) type perfLogin struct { @@ -28,7 +35,29 @@ func (app *perfLogin) LazyInit(ptService service.PttService, obs observer.Observ content.Objects = []fyne.CanvasObject{} loginTestBtn := widget.NewButton("登陆/注册", func() { - + handler, err := service.NewWsCli(perfWin.config.WsAddr, time.Duration(perfWin.config.Pressure.TimeoutMs)*time.Millisecond) + if err != nil { + logrus.Error(err) + return + } + var login *UserLogin + login, err = app.loginReq(perfWin.config.SId) + handler.SetReq(login.req) + + param := lib.ParamMgr{ + Caller: handler, + Timeout: time.Duration(app.conf.Pressure.TimeoutMs) * time.Millisecond, + Lps: uint32(app.conf.Pressure.Concurrency), + Duration: time.Duration(app.conf.Pressure.DurationS) * time.Second, + ResultCh: make(chan *lib.CallResult, 50), + } + assist, err := lib.NewAssistant(app.obs, param) + if err != nil { + logrus.Errorf("AI助手初始化错误: %v", err) + return + } + assist.Start() + assist.ShowResult() }) createTestBtn := widget.NewButton("创角", func() {}) @@ -47,3 +76,25 @@ func (a *perfLogin) GetAppName() string { func (a *perfLogin) OnClose() bool { return false } + +func (a *perfLogin) loginReq(sid string) (*UserLogin, error) { + login := &UserLogin{sid: sid} + head := &pb.UserMessage{MainType: "user", SubType: "login"} + account := randomdata.SillyName() + login.account = account + head.Sec = common.BuildSecStr(login.sid, login.account) + if comm.ProtoMarshal(&pb.UserLoginReq{ + Sid: login.sid, + Account: login.account, + }, head) { + logrus.WithField("账号", login.account).Info("登录") + data, err := proto.Marshal(head) + if err != nil { + return nil, err + } + login.req = data + + return login, nil + } + return nil, nil +} diff --git a/cmd/v2/ui/perf_pb.go b/cmd/v2/ui/perf_pb.go index 82f8680f4..8753718d3 100644 --- a/cmd/v2/ui/perf_pb.go +++ b/cmd/v2/ui/perf_pb.go @@ -18,7 +18,6 @@ import ( "fyne.io/fyne/v2/layout" "fyne.io/fyne/v2/theme" "fyne.io/fyne/v2/widget" - "github.com/Pallinder/go-randomdata" "github.com/sirupsen/logrus" "github.com/spf13/cast" "google.golang.org/protobuf/proto" @@ -83,7 +82,7 @@ func (app *perfPb) LazyInit(ptService service.PttService, obs observer.Observer) continue } var login *UserLogin - login, err = app.loginReq(perfWin.config.SId) + // login, err = app.loginReq(perfWin.config.SId) handler.SetReq(login.req) assist := app.createAssistantWithoutConf(handler) assist.Start() @@ -202,25 +201,3 @@ type UserLogin struct { sid string account string } - -func (a *perfPb) loginReq(sid string) (*UserLogin, error) { - login := &UserLogin{sid: sid} - head := &pb.UserMessage{MainType: "user", SubType: "login"} - account := randomdata.SillyName() - login.account = account - head.Sec = common.BuildSecStr(login.sid, login.account) - if comm.ProtoMarshal(&pb.UserLoginReq{ - Sid: login.sid, - Account: login.account, - }, head) { - logrus.WithField("账号", login.account).Info("登录") - data, err := proto.Marshal(head) - if err != nil { - return nil, err - } - login.req = data - - return login, nil - } - return nil, nil -}