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

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.mrgr.cn/news/78953.html

相关文章:

  • 记录一次网关异常
  • 【AI系统】昇腾异构计算架构 CANN
  • 【java-数据结构篇】揭秘 Java LinkedList:链表数据结构的 Java 实现原理与核心概念
  • Git操作学习2
  • 【机器学习】机器学习的基本分类-监督学习-决策树(Decision Tree)
  • 鸿蒙开发App 如何通过抓包查看 http 网络请求?
  • NViST运行笔记
  • HHO-CNN-BiGRU-Attention哈里斯鹰优化算法卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比
  • 多模态(Multimodal)通常指的是系统或过程能够处理、整合和理解来自两个或多个不同模式(modality)的信息。
  • C语言——自我介绍_Gitee的基本使用
  • linux(centos) 环境部署,安装JDK,docker(mysql, redis,nginx,minio,nacos)
  • 开发系统准备与开发环境配置总结
  • 计算机网络复习1——导言和概论
  • 【Point-LIO】基于Ubuntu20.04的ROS1平台的Point-LIO部署Mid-360激光雷达
  • cocotb pytest
  • C++编写静态库
  • 【webApp之h5端实战】项目基础结构搭建及欢迎页面的实现
  • 【小白学机器学习42】进行多次抽样,样本的分布参数和总体的分布参数的关系
  • Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线
  • HCIA-openGauss_1
  • 华为HarmonyOS 让应用快速拥有账号能力 -- 3 获取用户手机号
  • 【0347】Postgres内核 startup XLOG 之 核实 pg_wal 、 pg_wal/archive_status (1)
  • 树莓派明明安装了opencv和numpy,却找不到
  • Linux:内存文件 基础io
  • ShardingSphere介绍
  • 密码学实验工具--Cryptool2