当前第2页 返回上一页
让我们通过简单地在屏幕上显示 CPU 使用值来测试它是否工作。
事件
我们使用绑定将 CPU 使用值发送到前端,现在让我们尝试不同的方法,让我们在后台创建一个计时器,它将使用事件方法在后台发送 CPU 使用值。然后我们可以订阅 Javascript 中的事件。
在 Go 中,我们可以在 WailsInit
函数中实现:
1 2 3 4 5 6 7 8 9 10 11 12 | func (s *Stats) WailsInit(runtime *wails.Runtime) error {
s.log = runtime.Log.New( "Stats" )
go func() {
for {
runtime.Events.Emit( "cpu_usage" , s.GetCPUUsage())
time.Sleep(1 * time.Second)
}
}()
return nil
}
|
在 Vue.js 中,我们可以在组件挂载(或任何其他地方)时订阅此事件:
1 2 3 4 5 6 7 | mounted: function () {
wails.events.on( "cpu_usage" , cpu_usage => {
if (cpu_usage) {
console.log(cpu_usage.avg);
}
});
}
|
测量条
如果使用一个测量条来显示 CPU 的使用情况就好了,因此我们将包含一个第三方依赖项,只需使用 npm
即可:
1 2 | npm install --save apexcharts
npm install --save vue-apexcharts
|
然后导入 main.js
文件:
1 2 3 4 | import VueApexCharts from 'vue-apexcharts'
Vue. use (VueApexCharts)
Vue.component( 'apexchart' , VueApexCharts)
|
现在,我们可以使用 apexcharts 显示 CPU 使用情况,并通过从后端接收事件来更新组件的值:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <template>
<apexchart type= "radialBar" :options= "options" :series= "series" ></apexchart>
</template>
<script>
export default {
data() {
return {
series: [0],
options: {
labels: [ 'CPU Usage' ]
}
};
},
mounted: function () {
wails.events.on( "cpu_usage" , cpu_usage => {
if (cpu_usage) {
this.series = [ cpu_usage.avg ];
}
});
}
};
</script>
|
要更改样式,我们可以直接修改 src/assets/css/main
,或者在组件中定义它们。
最后,构建并运行

推荐教程:《Go教程》
以上就是Go Wails 框架构建桌面应用示例的详细内容,更多文章请关注木庄网络博客!!
返回前面的内容
相关阅读 >>
Go在谷歌:以软件工程为目的的语言设计
29 Golang反射与底层编程
Go实战仿百度云盘 实现企业级分布式云存储系统
在 docker 下 Golang 的 Gomaxprocs 初始化混乱问题
[系列] Go - chan 通道
Go语言 for 循环
Go函数用法实战
静态网站 介绍
为什么选择 Golang?彻底解决争论
Go语言简介
更多相关阅读请进入《Go》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » Go Wails 框架构建桌面应用示例