go语言html界面,使用go语言和webview编写桌面应用

https://github.com/tenny1225/go-web-app

具体思路是使用http实现页面跳转,使用jsonrpc实现ui和go之间的数据通讯。

golang版本的webview使用的是github.com/zserge/webview这个库,自己封装了一套Page,实现页面之间的跳转。具体使用

package main

import "time"

func main() {

StartWindow("golang html", 400, 400, true, func() {

pager := NewPager(&MyPage{},&MyPageAction{})

pager.StartPage(0)

})

}

type MyPage struct {

PageImpl

}

type MyPage1 struct {

PageImpl

}

type MyPageAction struct {

P *MyPage

i int

}

func (t *MyPageAction) Add(i int,s *string) error {

pager := NewPager(&MyPage1{},nil)

pager.StartPage(0)

*s = "success"

return nil

}

func (p *MyPage) Stop() {

}

func (p*MyPage)Start() {

p.SetContentView("html/page1.html")

}

func (p *MyPage1) Stop() {

}

func (p*MyPage1)Start() {

p.SetContentView("html/page2.html")

go func() {

time.Sleep(5*time.Second)

p.Window.Backup()

}()

}

这里默认打开第一个页面,点击按钮跳转到第二个页面,五秒钟后页面返回。

https://github.com/tenny1225/go-web-app 具体思路是使用http实现页面跳转,使用jsonrpc实现ui和go之间的数据通讯。 golang版本的webview使用的是github.com/zserge/webview这个库,自己封装了一套Page,实现页面之间的跳转。具体使用 package main import "time" func main() { StartWindow("golang html", 400, 400, true, func() { pager := NewPager(&MyPage{},&MyPageAction{}) pager.StartPage(0) }) } type MyPage struct { PageImpl } type MyPage1 struct { PageImpl } type MyPageAction struct { P *MyPage i int } func (t *MyPageAction) Add(i int,s *string) error { pager := NewPager(&MyPage1{},nil) pager.StartPage(0) *s = "success" return nil } func (p *MyPage) Stop() { } func (p*MyPage)Start() { p.SetContentView("html/page1.html") } func (p *MyPage1) Stop() { } func (p*MyPage1)Start() { p.SetContentView("html/page2.html") go func() { time.Sleep(5*time.Second) p.Window.Backup() }() } 这里默认打开第一个页面,点击按钮跳转到第二个页面,五秒钟后页面返回。
经验分享 程序员 微信小程序 职场和发展