Blizzard
|
aba88193d8
|
feat(voice): 提升桌面端语音交互与本地任务执行支持
|
2026-07-24 16:40:25 +08:00 |
|
Blizzard
|
a1c35852ef
|
chore: 删死代码 —— OpenReport/ReadLocalFile/isDesktop/openReport + admin Soon (P2)
完成度审计确认全链零生产调用:
- app.go OpenReport(仅被死包装引用)、ReadLocalFile(仅测试引用);
desktop.ts openReport 包装、isDesktop 导出(实际用 isMacDesktop)——全删。
绑定重新生成(OpenReport/ReadLocalFile 归零,PrintReportPage/SaveReportAs/
Notify 保留)。删对应的 app_test TestReadLocalFile。
- admin Soon.tsx(规划中占位组件)已成未引用死组件——routes.tsx 9 条路由全
ready:true,import 未用。删组件+import。
openInSystem/filepath/os 仍被 PrintReportPage/download 使用,不孤立。
desktop go test + tsc + 68 vitest、admin tsc + 41 vitest 全绿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-18 11:56:51 +08:00 |
|
Blizzard
|
b4012dbbba
|
fix(desktop): 报告 PDF 导出在壳内改走原生桥 —— WKWebView 拦死 window.open
实机验证抓到的:桌面壳内点 PDF 报「打印窗口被拦截」——Wails v3 的 WKWebView
把 window.open 拦成 null,前端弹打印窗那条路在壳内根本走不通(浏览器预览没事)。
- app.go 加 PrintReportPage(filename, html):打印视图 HTML 落临时文件(文件名
过滤路径字符),openInSystem 交系统默认浏览器打开,页面 onload 自动唤起打印框,
用户直接「存储为 PDF」。CJK 零字体依赖的原有优势不变。
- desktop.ts printReportHtml 改 async:inWails 走原生桥,浏览器维持 window.open;
RunsView 调用点随之 async + 错误透 toast。
- 绑定重新生成(注意要 `wails3 generate bindings -ts`,裸跑默认吐 JS 且要
GOWORK=off,否则 go.work 干扰找不到 Service)。
验证:go test/tsc/68 例 vitest 全绿;壳内被拦是用户实机复现的。
⚠️ 原生桥新路径(临时文件→浏览器→打印框)用户尚未实机点验,重新打的包已就位,
下次跑报告顺手验。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-17 09:40:15 +08:00 |
|
Blizzard
|
11bf7d2756
|
fix(desktop): wails3 绑定 .js→.ts + 实机验证通过
wails3 build 重新生成绑定为 TypeScript(比 standalone generate 的 .js 更规范,
tsconfig allowJs 保留以兼容两种)。整体迁移实机验证:
- wails3 build 全过(前端 build → 绑定生成 → go build -tags production 原生编译 → 打包)
- 原生二进制 bin/sundynix_desktop 启动,窗口开、进程稳、日志无 error/panic
- app 前端加载后自动登录(持久态)并打通后端:gateway 收到 /spaces/current、
/me/spaces、/me/tenants、/stats/overview、/runs、/health 一整串鉴权请求全 200
- runtime 版本号不一致(npm alpha.97 vs CLI alpha2.117)未导致问题
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-14 10:55:21 +08:00 |
|
Blizzard
|
1f487c3163
|
feat(desktop): 迁移 Wails v2 → v3(架构/目录/绑定重写)[WIP]
从 wails/v2 v2.12.0 迁到 v3 v3.0.0-alpha2.117,采用 v3 工程规范:
Go 侧:
- main.go:wails.Run(options.App) → application.New(Options{Services,Assets,Mac})
+ app.Window.NewWithOptions(WebviewWindowOptions) + app.Run();窗口选项照搬
(1440×900/min 1100×700/#0b0d12/Mac TitleBarHiddenInset)
- app.go:App 结构体绑定 → v3 Service(application.NewService);去 startup/ctx 注入;
SaveFileDialog 改 v3 链式 API(application.Get().Dialog.SaveFile().SetFilename().
AddFilter().PromptForSingleSelection());5 个原生方法保留
- go.mod wails/v2→v3、go 1.25
构建:
- wails.json → Taskfile.yml + build/(config.yml 填产品信息 + 各平台配置)
- 删移动端脚手架(ios/android),桌面端只留 darwin/windows/linux
- .gitignore 改为只忽略 build/bin(build/ 构建系统需提交)
前端:
- vite.config 接 @wailsio/runtime/plugins/vite 插件 + WAILS_VITE_PORT
- package.json 加 @wailsio/runtime;wails3 generate bindings → frontend/bindings/
- desktop.ts:window.go.main.App → import { App } from bindings;桌面态检测改
window._wails.environment(原生注入);isMacDesktop 用 System.IsMac()
- version.ts:runtime.BrowserOpenURL → @wailsio/runtime Browser.OpenURL;测试同步更新
- tsconfig 加 allowJs(消费 JSDoc 绑定)
验证进度:Go 编译过 + tsc 干净 + 48 前端测试绿 + 前端 vite build 通过。
**未完成:整体 wails3 build/dev 原生窗口实跑 + 原生能力(另存为/打开/外链)联调**——下次续。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-13 18:00:45 +08:00 |
|