package main import ( "context" "github.com/wailsapp/wails/v2/pkg/runtime" "go-stock/backend/data" "go-stock/backend/logger" ) // App struct type App struct { ctx context.Context } // NewApp creates a new App application struct func NewApp() *App { return &App{} } // startup is called at application startup func (a *App) startup(ctx context.Context) { // Perform your setup here a.ctx = ctx } // domReady is called after front-end resources have been loaded func (a *App) domReady(ctx context.Context) { // Add your action here //ticker := time.NewTicker(time.Second) //defer ticker.Stop() ////定时更新数据 //go func() { // for range ticker.C { // runtime.WindowSetTitle(ctx, "go-stock "+time.Now().Format("2006-01-02 15:04:05")) // } //}() } // beforeClose is called when the application is about to quit, // either by clicking the window close button or calling runtime.Quit. // Returning true will cause the application to continue, false will continue shutdown as normal. func (a *App) beforeClose(ctx context.Context) (prevent bool) { dialog, err := runtime.MessageDialog(ctx, runtime.MessageDialogOptions{ Type: runtime.QuestionDialog, Title: "go-stock", Message: "确定关闭吗?", Buttons: []string{"确定"}, Icon: icon, CancelButton: "取消", }) if err != nil { return false } logger.SugaredLogger.Debugf("dialog:%s", dialog) if dialog == "No" { return true } return false } // shutdown is called at application termination func (a *App) shutdown(ctx context.Context) { // Perform your teardown here } // Greet returns a greeting for the given name func (a *App) Greet(name string) *data.StockInfo { stockInfo, _ := data.NewStockDataApi().GetStockCodeRealTimeData(name) return stockInfo } func (a *App) Follow(stockCode string) string { return data.NewStockDataApi().Follow(stockCode) } func (a *App) UnFollow(stockCode string) string { return data.NewStockDataApi().UnFollow(stockCode) } func (a *App) GetFollowList() []data.FollowedStock { return data.NewStockDataApi().GetFollowList() } func (a *App) GetStockList(key string) []data.StockBasic { return data.NewStockDataApi().GetStockList(key) } func (a *App) SetCostPriceAndVolume(stockCode string, price float64, volume int64) string { return data.NewStockDataApi().SetCostPriceAndVolume(price, volume, stockCode) }