airobot/main.go
2022-12-13 20:11:05 +08:00

90 lines
1.7 KiB
Go

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{},
)
}
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...)
}