当前位置: 首页 > article >正文

golang的wails框架在macos下的问题

1、前言

  之前练手写了格调用ollama api的web应用,想找个容器打包下,于是找到wails来打包,windows下都是很正常的,因为就是普通的http调用,也没遇到cors跨域问题,但是到了macos下使用wails dev命令启动的客户端却是出现了几个问题。
  总得来说就是时不时遇到一些浏览器限制相关的问题

2、问题

2.1、页面出不来

  就是因为wails在macos使用websocket来更新vite的hmr热更新功能,所以出不来资源,解决方法是使用这个issues[macOS] HMR not working inside Wails frame
的回答。
在vite.config.js的配置增加以下配置即可:

server: {
    hmr: {
      host: 'localhost',
      protocol: 'ws',
    },
  }

2.2、请求出现跨域

  跨域也是因为他用了个奇奇怪怪的私有协议来通信,具体可以看issueOrigin wails://wails is not allowed by Access-Control-Allow-Origin,可以看到主要是因为他源码的startURL指定了一个奇怪的协议,windows用正常的http导致的,这个解决就是改下他源码,把他的macos的实现改得和windows一样。
到你的goPath下面,按照目录找到如下文件:wails/v2/internal/frontend/desktop/darwin/frontend.go
我的路径如下:/Users/hui/go/pkg/mod/github.com/wailsapp/wails/v2@v2.9.2/internal/frontend/desktop/darwin
改动如下:
39行的startURl改为:const startURL = “http://127.0.0.1/”
97行的:

result.startURL.Host = net.JoinHostPort(result.startURL.Host+".localhost", port)

去掉.localhost
改为:

result.startURL.Host = net.JoinHostPort(result.startURL.Host+"", port)

接着启动项目,好了

2.3、不能访问外网的接口

  会报如下错误:

The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

是mac自己的安全机制问题,百度了下,说是接口是https就行了,我访问的是http的接口

2.4、如何调试

  这格使用wails dev启动之后,是框住的网页来的,在网页处,右键检查元素即可

2.5、如何动态参数控制

  看这个issuePass Command Line Arguments to main.go即可

3、demo项目

ollama-chat项目的样式是参考一个react项目写的。
参考文章:3 天,入门 TAURI 并开发一个跨平台 ChatGPT 客户端


http://www.kler.cn/a/420742.html

相关文章:

  • Oracle篇—通过官网下载最新的数据库软件或者历史数据库软件
  • Ai编程cursor + sealos + devBox实现登录以及用户管理增删改查(十三)
  • 游戏引擎学习第25天
  • uniapp使用扩展组件uni-data-select出现的问题汇总
  • Burp Suite 实战指南:Proxy 捕获与修改流量、HTTP History 筛选与分析
  • 柔性数组详解+代码展示
  • 基于STM32的电能监控系统设计:ModBus协议、RS-485存储和分析电能数据(代码示例)
  • 使用kaggle提供的免费gpu来实现语音克隆
  • Proxy与CGLib代理:深入解析与应用
  • 5.vue3+openlayers加载ArcGIS地图示例
  • Kafka 图形化工具 Eagle安装
  • ios上滚动条不能滑动 滚动卡住的问题
  • HTTP协议详解:从HTTP/1.0到HTTP/3的演变与优化
  • 在超表面中琼斯矩阵的使用
  • vue3+element-plus多选框全选与单选
  • matlab 中的 bug
  • K8S控制台kubernetes-dashboard快速安装
  • RHCE: SELinux
  • 力扣第81题 搜索旋转排序数组 II
  • SHELL脚本2(Linux网络服务器 23)
  • 如何运用Java爬虫获得1688商品详情数据
  • 架构03-事务处理
  • YunSDR通信小课堂-10
  • 扩展欧几里得——acwing
  • dify接入ollama模型报错:max retries exceeded with url
  • Java的反射(Reflection)