0


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.htmlvar html string// 同时将html一并打包进入文件中funcmain(){
   // 窗口设立
    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

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>html测试页面</title></head><body><h1class="title">html页面标题</h1><buttonclass="testButton">点击按钮</button><script>
        document.querySelector(".testButton").addEventListener("click",()=>{
     getName().then(msg=>{
     
                document.querySelector(".title").innerHTML= msg;})// 调取go的函数})functionalterName(){
     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     

本文转载自: https://blog.csdn.net/yycoolsam/article/details/138381488
版权归原作者 雪球干死黄旭东 所有, 如有侵权,请联系我们删除。

“go webview/wails学习记录”的评论:

还没有评论