Fetch the repository succeeded.
目录结构
go-gui-mini 项目根目录
├─app 你写代码的目录
│ ├─bindHandle go方法声明javaScript方法名目录
│ │ ├─func.go go方法声明javaScript方法名文件
│
├─boot 这.....
│ ├─boot.go 额.....
│
├─frame 做了简单的封装,符合自己的使用习惯
│
├─resources 静态文件目录
│ ├─view 模板文件目录,界面文件
│ │ ├─js
│ │ │ ├─function.js 提供给go的方法 屏蔽右键等普通js文件
│ │ │
│ │ ├─index.html 界面文件
│ │ │
│ │ ├─favicon.png 这东西,就是哪个东西
│ │
│ ├─iconns win,mac,linux端的图标
│
├─route 暴露方法名到JS
│
├─main.go 南天门
│
├─build-linux.sh 打包linux程序脚本,感兴趣自己看
│
├─build-macos.sh 打包linux程序脚本,感兴趣自己看
│
├─build-windows.bat 打包linux程序脚本,感兴趣自己看
│
├─main.manifest 自己百度
│
├─main.syso 自己百度
│
创建主页面:./resources/view/index.html
<!doctype html>
<html lang="en">
<head>
<title>你没有看错</title>
<link rel="shortcut icon" href="favicon.png">
</head>
<body>
<p>爱咋写就咋写</p>
</body>
</html>
绑定主页
// main.go 文件
// 里面的注释也是有用的别乱改
// 改宽度就行了,主页默认就是index.html
// 窗口宽度
var width int = 480
// 窗口高度
var height int = 320
// 你问我怎么新建窗口?
// <a target="_blank" href="http://www.baidu.com">百度</a>
js调用go方法
// 先创建方法 ./app/bindHandle/func.go
// 不带返回值 参数自己定义
func (c *BindJs) JsToGo(n, b, d int) {
c.Lock()
defer c.Unlock()
fmt.Println("JS调用go:", n, b, d)
}
// 带返回值 参数自己定义
func (c *BindJs) JsToGoGetRet() string {
c.Lock()
defer c.Unlock()
return "golang的返回"
}
// 暴露方法名到javascript ./route/route.go
// Init 暴露方法名到JS
func Init() {
route.Bind("JsToGo", bindHandle.BindObj.JsToGo)
route.Bind("JsToGoGetRet", bindHandle.BindObj.JsToGoGetRet)
}
<script>
// javascript 异步调用 golang 方法
JsToGo(1, 2, 3);
// javascript 调用 golang 方法并获取返回值
const syncRun = async () => {
var res = await JsToGoGetRet()
alert(res)
};
syncRun()
// 贼简单,和使用js自带函数那样
</script>
go调用js方法
// javascript 先声明方法
function GoToJs(aa, bb, cc, dd) {
alert("go调用js:" + aa + ' ' + bb + ' ' + cc + ' ' + dd)
}
// 然后go调用
// go 调用 js 方法
// js.Fun("方法名", 参数1, 参数2, ...)
js.Fun("GoToJs", "111", "2222", "333", "444")
基础用法:日志输出 - go端
// 输出日志到浏览器控制台
log.Log("调用go方法成功")
log.Error()
启动预览
go run main.go
制作Windows图标
// 1.下载工具包
go get github.com/akavel/rsrc
// 2.生成带图标 syso 文件
rsrc -manifest main.manifest -ico resources/icons/icon.ico -o main.syso
// 3.打包
go build -ldflags '-w -s -H=windowsgui' -o main.exe
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。