Wails 是一个能够让您应用 Go 和 Web 技术编写桌面利用的我的项目。最近在 MacOS 下开发 AsBot客户端 时,开发模式一切正常,但编译打包后发现 cookies 无奈应用。
在此之前我曾经将 Windows 客户端打包好了,不存在此问题。看起来像是一个 bug。目前已向作者反馈问题,并期待作者进一步确认。
调试Wails
依据Wails的官网:构建命令 中的提醒,能够在打包的时候退出-debug
参数,在应用程序中保留调试信息。 容许在应用程序窗口中应用 devtools。
残缺的打包命令为:
wails build -debug
这样,能够在打包后的文件中持续应用浏览器调试模式来剖析排查(生产上不倡议增加-debug
参数)。
问题复现
我的项目中应用了vue3-cookies
这个库,一开始认为是这个库的问题,于是我改用js原生办法:
document.cookie = "username=John Doe; expires=" + new Date(new Date().getTime() + (24 * 60 * 60 * 1000)).toUTCString() + "; path=/";
发现仍然存在以下景象(体现在MacOS下):
wails dev
开发者模式下一切正常,cookie设置胜利wails build
编译后的包,cookies无奈设置和存储,也没有抛出谬误
Wails环境和版本信息
呈现这个BUG的环境信息如下:
Wails CLI v2.4.1Scanning system - Please wait (this may take a long time)...Done.# SystemOS | MacOS Version | 13.3.1 ID | 22E261 Go Version | go1.20.3Platform | darwin Architecture | amd64 # WailsVersion | v2.4.1# DependenciesDependency | Package Name | Status | Version Xcode command line tools | N/A | Installed | 2397 npm | N/A | Installed | 9.5.0 *Xcode | N/A | Available | *upx | N/A | Installed | upx 4.0.2*nsis | N/A | Available | * - Optional Dependency
问题反馈
于是在给作者的我的项目提出了issues,见:https://github.com/wailsapp/wails/issues/2590
目前作者还未给出明确的回答,我也没搞清楚具体起因。
问题躲避和解决
我临时放弃了应用Cookies的计划,改用浏览器自带的属性 localStorage
来解决。绝对于Cookies,localStorage
应用更加简略,然而却不如Cookies计划灵便和平安。例如,localStorage
无奈设置过期工夫,也无奈设置相似Cookies的 HttpOnly
。
localStorage的应用能够参考:Window localStorage 属性
结语
总的来说,如果您相熟Golang和前端,Wails 是一个不错的桌面利用开发工具,然而在应用过程中可能会遇到一些问题,比方MacOS下无奈设置cookies的问题,咱们能够改用 localStorage
来解决。心愿本文能对 Wails 开发者有所帮忙。
文章首发于我的独立博客:https://blog.xiaoz.org/archives/18539