package main import ( "fmt" "image/color" "io" "os" "fyne.io/fyne" "fyne.io/fyne/canvas" "fyne.io/fyne/v2/app" "github.com/sirupsen/logrus" "legu.airobot/busi" "legu.airobot/lib" "legu.airobot/theme" "legu.airobot/ui" ) var scenes []lib.IScene func init() { _ = os.Setenv("FYNE_SCALE", "0.9") var err error if err = setupLogger(); err != nil { fmt.Println(err) os.Exit(1) } registerScenes( &busi.LoginScene{}, &busi.CreateUserScene{}, &busi.ResMgrScene{}, &busi.FriendScene{}, &busi.SociatyScene{}, &busi.HeroScene{}, &busi.ChatScene{}, &busi.ShopScene{}, &busi.ArenaScene{}, &busi.ReddotScene{}, &busi.PayScene{}, &busi.MfantasyScene{}, &busi.LinestoryScene{}, &busi.WorldtaskScene{}, &busi.TaskScene{}, ) } func main() { app := app.NewWithID("aiRobot") app.SetIcon(theme.ResourceAppPng) appUI, err := ui.NewUI(app, scenes) if err != nil { w := fyne.CurrentApp().NewWindow("错误") w.SetContent(canvas.NewText(err.Error(), color.RGBA{255, 0, 0, 255})) w.ShowAndRun() } win := ui.NewMainWdindow(appUI) win.CreateWindow(ui.EMPTY_STR, 1499, 800, true) appUI.Run() } func setupLogger() (err error) { logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", // DisableColors: true, // FullTimestamp: true, }) logrus.SetLevel(logrus.DebugLevel) logrus.SetOutput(os.Stdout) file, err := os.OpenFile("robot.log", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0666) writers := []io.Writer{ file, os.Stdout} //同时写文件和屏幕 fileAndStdoutWriter := io.MultiWriter(writers...) if err == nil { logrus.SetOutput(fileAndStdoutWriter) } else { logrus.Fatal("failed to log to file.") } return nil } func registerScenes(params ...lib.IScene) { scenes = append(scenes, params...) }