go webview/wails学习记录

webview

参考文章:https://www.bilibili.com/video/BV1Mj411s7Kj
webview地址:https://github.com/webview
系统环境:win10
go版本:1.21.6
开发软件:goland
依赖GCC

安装

go get github.com/webview/webview_go  // 安装本体
go mod tidy //自动安装所有依赖

基础代码

main.go

package main

import (
	_ "embed"
	webview "github.com/webview/webview_go"
)

//go:embed index.html
var html string  // 同时将html一并打包进入文件中

func main() {
   
	// 窗口设立
	w := webview.New(false)
	w.SetTitle("测试标题")
	w.SetSize(1024, 768, webview.HintNone)
	// 手动写入html
	//	w.SetHtml(`<h1>你好</h1>
	//	<script>
	//		getName().then(msg=>{
   
	//			alert(msg)
	//		})
	//	</script>
	//`)
	// html内容写入
	// 读取html文件
	//html_file, _ := os.Open("./index.html")
	//html_start, _ := html_file.Stat()
	//html_size := html_start.Size()
	//html_buf := make([]byte, html_size)
	//html_file.Read(html_buf)
	//w.SetHtml(string(html_buf))
	// 使用embed绑定html文件
	w.SetHtml(html)

	w.Bind("getName", func() string {
   
		w.Eval("alterName()") // 调用html中的js函数
		return "测试函数"
	}) // 自定义函数

	w.Run()
}

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>html测试页面</title>
</head>
<body>
    <h1 class="title">html页面标题</h1>
    <button class="testButton">点击按钮</button>
    <script>
        document.querySelector(".testButton").addEventListener("click", ()=>{
     
            getName().then(msg=>{
     
                document.querySelector(".title").innerHTML= msg;
            })  // 调取go的函数
        })
        function alterName(){
     
            alert("js函数")
        }

    </script>

</body>
</html>

运行结果
在这里插入图片描述

错误情况

错误1
github.com/webview/webview_go: build constraints exclude all Go files
这个错误主要是由于没有gcc导致的。
解决方法1:
先到https://www.msys2.org/下载MSYS2,安装完选择打开
在这里插入图片描述

执行如下两个命令

pacman -Syu
pacman -S git mingw-w64-x86_64-toolchain

安装过程中。有提示就选y,安装选项选择all,默认回车就可以了。然后将gcc设置到环境变量中,默认安装在C盘,则默认地址为C:\msys64\mingw64\bin设置到环境变量path中。
具体执行过程如下:

qhdata@DESKTOP-4OK46KC MINGW64 ~
$ pacman -S git mingw-w64-x86_64-toolchain
:: Synchronizing package databases...
 clangarm64 is up to date
 mingw32 is up to date
 mingw64 is up to date
 ucrt64 is up to date
 clang32 is up to date
 clang64 is up to date
 msys is up to date
:: There are 13 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git  3) mingw-w64-x86_64-gcc
   4) mingw-w64-x86_64-gdb  5) mingw-w64-x86_64-gdb-multiarch  6) mingw-w64-x86_64-headers-git
   7) mingw-w64-x86_64-libmangle-git  8) mingw-w64-x86_64-libwinpthread-git
   9) mingw-w64-x86_64-make  10) mingw-w64-x86_64-pkgconf  11) mingw-w64-x86_64-tools-git
   12) mingw-w64-x86_64-winpthreads-git  13) mingw-w64-x86_64-winstorecompat-git

Enter a selection (default=all):
resolving dependencies...
looking for conflicting packages...

Packages (74) heimdal-7.8.0-4  libcbor-0.11.0-1  libfido2-1.14.0-2  mingw-w64-x86_64-bzip2-1.0.8-3
              mingw-w64-x86_64-expat-2.6.2-1  mingw-w64-x86_64-gcc-libs-13.2.0-6
              mingw-w64-x86_64-gettext-runtime-0.22.5-2  mingw-w64-x86_64-gmp-6.3.0-2
              mingw-w64-x86_64-isl-0.26-1  mingw-w64-x86_64-libffi-3.4.6-1
              mingw-w64-x86_64-libiconv-1.17-4  mingw-w64-x86_64-libsystre-1.0.1-5
              mingw-w64-x86_64-libtre-git-r177.07e66d0-2  mingw-w64-x86_64-mpc-1.3.1-2
              mingw-w64-x86_64-mpdecimal-4.0.0-1  mingw-w64-x86_64-mpfr-4.2.1-2
              mingw-w64-x86_64-ncurses-6.4.20231217-1  mingw-w64-x86_64-openssl-3.3.0-1
              mingw-w64-x86_64-python-3.11.9-1  mingw-w64-x86_64-readline-8.2.010-1
              mingw-w64-x86_64-sqlite3-3.45.2-1  mingw-w64-x86_64-tcl-8.6.13-1
              mingw-w64-x86_64-termcap-1.3.1-7  mingw-w64-x86_64-tk-8.6.13-1
              mingw-w64-x86_64-tzdata-2024a-1  mingw-w64-x86_64-windows-default-manifest-6.4-4
              mingw-w64-x86_64-xxhash-0.8.2-2  mingw-w64-x86_64-xz-5.6.1-2
              mingw-w64-x86_64-zlib-1.3.1-1  mingw-w64-x86_64-zstd-1.5.6-2  openssh-9.7p1-1
              perl-Authen-SASL-2.1700-1  perl-Clone-0.46-2  perl-Convert-BinHex-1.125-2
              perl-Encode-Locale-1.05-2  perl-Error-0.17029-2  perl-File-Listing-6.16-1
              perl-HTML-Parser-3.81-2  perl-HTML-Tagset-3.20-3  perl-HTTP-Cookies-6.11-1
              perl-HTTP-Daemon-6.16-1  perl-HTTP-Date-6.06-1  perl-HTTP-Message-6.45-1
              perl-HTTP-Negotiate-6.01-3  perl-IO-HTML-1.004-2  perl-IO-Socket-SSL-2.085-1
              perl-IO-Stringy-2.113-2  perl-LWP-MediaTypes-6.04-2  perl-MIME-tools-5.510-1
              perl-MailTools-2.21-2  perl-Net-HTTP-6.23-1  perl-Net-SMTP-SSL-1.04-2
              perl-Net-SSLeay-1.92-6  perl-TermReadKey-2.38-6  perl-TimeDate-2.33-2
              perl-Try-Tiny-0.31-1  perl-URI-5.21-1  perl-WWW-RobotRules-6.02-3
              perl-http-cookiejar-0.014-1  perl-libwww-6.72-1  git-2.44.0-1
              mingw-w64-x86_64-binutils-2.42-2  mingw-w64-x86_64-crt-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-gcc-13.2.0-6  mingw-w64-x86_64-gdb-14.2-1
              mingw-w64-x86_64-gdb-multiarch-14.2-1
              mingw-w64-x86_64-headers-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-libmangle-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-libwinpthread-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-make-4.4.1-2  mingw-w64-x86_64-pkgconf-1~2.2.0-1
              mingw-w64-x86_64-tools-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-winpthreads-git-11.0.0.r680.g257321cea-1
              mingw-w64-x86_64-winstorecompat-git-11.0.0.r680.g257321cea-1

Total Download Size:   116.24 MiB
Total Installed Size:  884.64 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages...
 mingw-w64-x86_64-openssl-3...     7.3 MiB  3.61 MiB/s 00:02 [###############################] 100%
 git-2.44.0-1-x86_64               6.5 MiB  3.18 MiB/s 00:02 [###############################] 100%
 mingw-w64-x86_64-headers-g...     6.1 MiB  4.68 MiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-gdb-14.2-...     4.5 MiB  5.15 MiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-gdb-multi...     7.0 MiB  1287 KiB/s 00:06 [###############################] 100%
 mingw-w64-x86_64-tcl-8.6.1...     2.7 MiB  4.12 MiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-tk-8.6.13...  2029.2 KiB  1614 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-ncurses-6...  1812.7 KiB  3.21 MiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-sqlite3-3...  1692.5 KiB  2.55 MiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-isl-0.26-...  1442.0 KiB  1454 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-crt-git-1...     4.3 MiB   652 KiB/s 00:07 [###############################] 100%
 openssh-9.7p1-1-x86_64          992.3 KiB   779 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-gcc-libs-...   990.3 KiB  1199 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-binutils-...     5.8 MiB   578 KiB/s 00:10 [###############################] 100%
 mingw-w64-x86_64-xz-5.6.1-...   710.7 KiB  1528 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-python-3....    23.3 MiB  1856 KiB/s 00:13 [###############################] 100%
 mingw-w64-x86_64-libiconv-...   718.9 KiB   469 KiB/s 00:02 [###############################] 100%
 mingw-w64-x86_64-gmp-6.3.0...   577.8 KiB  1485 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-gcc-13.2....    32.5 MiB  2.43 MiB/s 00:13 [###############################] 100%
 heimdal-7.8.0-4-x86_64          543.5 KiB  1125 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-zstd-1.5....   635.9 KiB   945 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-mpfr-4.2....   535.8 KiB  1076 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-tzdata-20...   227.1 KiB   509 KiB/s 00:00 [###############################] 100%
 perl-Net-SSLeay-1.92-6-x86_64   203.4 KiB   540 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-readline-...   411.0 KiB   583 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-tools-git...   306.7 KiB   408 KiB/s 00:01 [###############################] 100%
 mingw-w64-x86_64-gettext-r...   297.2 KiB   365 KiB/s 00:01 [###############################] 100%
 perl-MIME-tools-5.510-1-any     183.6 KiB   540 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-expat-2.6...   162.2 KiB   476 KiB/s 00:00 [###############################] 100%
 perl-IO-Socket-SSL-2.085-1-any  157.5 KiB   387 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-mpdecimal...   150.8 KiB   367 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-make-4.4....   135.3 KiB   316 KiB/s 00:00 [###############################] 100%
 perl-libwww-6.72-1-any          130.0 KiB   320 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-mpc-1.3.1...   128.7 KiB   302 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-xxhash-0....   116.4 KiB   290 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-zlib-1.3....   104.4 KiB   272 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-bzip2-1.0...    90.9 KiB   242 KiB/s 00:00 [###############################] 100%
 perl-URI-5.21-1-any              84.8 KiB   176 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-pkgconf-1...    84.4 KiB   223 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-libtre-gi...    80.0 KiB   217 KiB/s 00:00 [###############################] 100%
 perl-HTML-Parser-3.81-2-x86_64   78.2 KiB   203 KiB/s 00:00 [###############################] 100%
 perl-HTTP-Message-6.45-1-any     76.9 KiB   180 KiB/s 00:00 [###############################] 100%
 libfido2-1.14.0-2-x86_64         76.2 KiB   190 KiB/s 00:00 [###############################] 100%
 perl-MailTools-2.21-2-any        58.6 KiB   126 KiB/s 00:00 [###############################] 100%
 perl-IO-Stringy-2.113-2-any      43.5 KiB   112 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-libffi-3....    42.6 KiB   110 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-winpthrea...    39.9 KiB  96.0 KiB/s 00:00 [###############################] 100%
 perl-Authen-SASL-2.1700-1-any    38.0 KiB   110 KiB/s 00:00 [###############################] 100%
 perl-TimeDate-2.33-2-any         35.6 KiB   108 KiB/s 00:00 [###############################] 100%
 perl-Convert-BinHex-1.125-...    29.8 KiB  88.7 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-libwinpth...    28.6 KiB  81.4 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-termcap-1...    27.3 KiB  79.1 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-winstorec...    23.4 KiB  64.7 KiB/s 00:00 [###############################] 100%
 perl-Net-HTTP-6.23-1-any         22.8 KiB  66.3 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-libmangle...    22.2 KiB  61.3 KiB/s 00:00 [###############################] 100%
 perl-HTTP-Cookies-6.11-1-any     21.1 KiB  45.6 KiB/s 00:00 [###############################] 100%
 perl-Error-0.17029-2-any         21.1 KiB  60.9 KiB/s 00:00 [###############################] 100%
 perl-TermReadKey-2.38-6-x86_64   20.2 KiB  55.6 KiB/s 00:00 [###############################] 100%
 perl-Try-Tiny-0.31-1-any         19.8 KiB  52.9 KiB/s 00:00 [###############################] 100%
 perl-LWP-MediaTypes-6.04-2-any   19.1 KiB  58.5 KiB/s 00:00 [###############################] 100%
 libcbor-0.11.0-1-x86_64          18.0 KiB  53.4 KiB/s 00:00 [###############################] 100%
 perl-HTTP-Daemon-6.16-1-any      18.7 KiB  52.0 KiB/s 00:00 [###############################] 100%
 perl-IO-HTML-1.004-2-any         14.4 KiB  44.3 KiB/s 00:00 [###############################] 100%
 perl-http-cookiejar-0.014-...    13.9 KiB  35.8 KiB/s 00:00 [###############################] 100%
 perl-HTTP-Negotiate-6.01-3-any   12.1 KiB  30.1 KiB/s 00:00 [###############################] 100%
 perl-WWW-RobotRules-6.02-3-any   11.7 KiB  22.6 KiB/s 00:01 [###############################] 100%
 perl-HTML-Tagset-3.20-3-any      10.9 KiB  22.6 KiB/s 00:00 [###############################] 100%
 perl-Encode-Locale-1.05-2-any    10.7 KiB  21.9 KiB/s 00:00 [###############################] 100%
 perl-File-Listing-6.16-1-any     10.3 KiB  28.7 KiB/s 00:00 [###############################] 100%
 perl-Clone-0.46-2-x86_64         10.1 KiB  18.5 KiB/s 00:01 [###############################] 100%
 perl-HTTP-Date-6.06-1-any         9.5 KiB  26.0 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-libsystre...     9.8 KiB  23.0 KiB/s 00:00 [###############################] 100%
 perl-Net-SMTP-SSL-1.04-2-any      4.9 KiB  11.8 KiB/s 00:00 [###############################] 100%
 mingw-w64-x86_64-windows-d...     3.1 KiB  5.40 KiB/s 00:01 [###############################] 100%
 Total (74/74)                   116.2 MiB  6.13 MiB/s 00:19 [###############################] 100%
(74/74) checking keys in keyring                             [###############################] 100%
(74/74) checking package integrity                           [###############################] 100%
(74/74) loading package files                                [###############################] 100%
(74/74) checking for file conflicts                          [###############################] 100%
(74/74) checking available disk space                        [###############################] 100%
:: Processing package changes...
( 1/74) installing heimdal                                   [###############################] 100%
( 2/74) installing libcbor                                   [###############################] 100%
( 3/74) installing libfido2                                  [###############################] 100%
( 4/74) installing openssh                                   [###############################] 100%
( 5/74) installing perl-Error                                [###############################] 100%
( 6/74) installing perl-Authen-SASL                          [###############################] 100%
( 7/74) installing perl-Encode-Locale                        [###############################] 100%
( 8/74) installing perl-HTTP-Date                            [###############################] 100%
( 9/74) installing perl-File-Listing                         [###############################] 100%
(10/74) installing perl-HTML-Tagset                          [###############################] 100%
(11/74) installing perl-Clone                                [###############################] 100%
(12/74) installing perl-IO-HTML                              [###############################] 100%
(13/74) installing perl-LWP-MediaTypes                       [###############################] 100%
(14/74) installing perl-URI                                  [###############################] 100%
(15/74) installing perl-HTTP-Message                         [###############################] 100%
(16/74) installing perl-HTML-Parser                          [###############################] 100%
(17/74) installing perl-HTTP-Cookies                         [###############################] 100%
(18/74) installing perl-HTTP-Daemon                          [###############################] 100%
(19/74) installing perl-http-cookiejar                       [###############################] 100%
(20/74) installing perl-HTTP-Negotiate                       [###############################] 100%
(21/74) installing perl-Net-HTTP                             [###############################] 100%
(22/74) installing perl-WWW-RobotRules                       [###############################] 100%
(23/74) installing perl-Try-Tiny                             [###############################] 100%
(24/74) installing perl-libwww                               [###############################] 100%
Optional dependencies for perl-libwww
    perl-LWP-Protocol-https: for https:// url schemes
(25/74) installing perl-TimeDate                             [###############################] 100%
(26/74) installing perl-MailTools                            [###############################] 100%
(27/74) installing perl-IO-Stringy                           [###############################] 100%
(28/74) installing perl-Convert-BinHex     
  • 14
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值