feat: initial commit
This commit is contained in:
78
examples/wails3_init_updater/main.go
Normal file
78
examples/wails3_init_updater/main.go
Normal file
@@ -0,0 +1,78 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"embed"
|
||||
_ "embed"
|
||||
"log"
|
||||
|
||||
updatesbootstrap "github.com/Eriyc/rules_wails/pkg/wails3kit/updates/bootstrap"
|
||||
updateswails "github.com/Eriyc/rules_wails/pkg/wails3kit/updates/wails"
|
||||
"github.com/wailsapp/wails/v3/pkg/application"
|
||||
)
|
||||
|
||||
//go:embed all:frontend/dist
|
||||
var assets embed.FS
|
||||
|
||||
func init() {
|
||||
updateswails.RegisterEvents("updates:state")
|
||||
}
|
||||
|
||||
func main() {
|
||||
handled, err := updatesbootstrap.MaybeRun()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if handled {
|
||||
return
|
||||
}
|
||||
|
||||
appDescriptor, err := currentAppDescriptor()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
controller, err := newController(appDescriptor)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
var app *application.App
|
||||
updateService := NewUpdateService(updateswails.NewService(updateswails.Options{
|
||||
Controller: controller,
|
||||
EventName: "updates:state",
|
||||
Emitter: func(name string, data any) {
|
||||
if app != nil {
|
||||
app.Event.Emit(name, data)
|
||||
}
|
||||
},
|
||||
}))
|
||||
|
||||
app = application.New(application.Options{
|
||||
Name: "updater-example",
|
||||
Description: "A Wails 3 updater example backed by the local update library",
|
||||
Services: []application.Service{
|
||||
application.NewService(updateService),
|
||||
},
|
||||
Assets: application.AssetOptions{
|
||||
Handler: application.AssetFileServerFS(assets),
|
||||
},
|
||||
Mac: application.MacOptions{
|
||||
ApplicationShouldTerminateAfterLastWindowClosed: true,
|
||||
},
|
||||
})
|
||||
|
||||
app.Window.NewWithOptions(application.WebviewWindowOptions{
|
||||
Title: "Updater Example",
|
||||
Mac: application.MacWindow{
|
||||
InvisibleTitleBarHeight: 50,
|
||||
Backdrop: application.MacBackdropTranslucent,
|
||||
TitleBar: application.MacTitleBarHiddenInset,
|
||||
},
|
||||
BackgroundColour: application.NewRGB(244, 239, 230),
|
||||
URL: "/",
|
||||
})
|
||||
|
||||
if err := app.Run(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user