Go Wails 框架构建桌面应用示例


当前第2页 返回上一页

让我们通过简单地在屏幕上显示 CPU 使用值来测试它是否工作。

1

2

wails build -d

./cpustats

事件

我们使用绑定将 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,或者在组件中定义它们。

最后,构建并运行

1

2

wails build -d

./cpustats

desktop-app-wails

推荐教程:《Go教程》

以上就是Go Wails 框架构建桌面应用示例的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Go在谷歌:以软件工程为目的的语言设计

29 Golang反射与底层编程

Go实战仿百度云盘 实现企业级分布式云存储系统

在 docker 下 Golang 的 Gomaxprocs 初始化混乱问题

[系列] Go - chan 通道

Go语言 for 循环

Go函数用法实战

静态网站 介绍

为什么选择 Golang?彻底解决争论

Go语言简介

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...