feat(dev-server): 添加开发模式 HTTP/WebSocket 服务器
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

功能:
- 创建 dev_server.rs 模块,提供 HTTP/WebSocket API
- 使用 feature flag \dev-server\ 控制编译
- 仅绑定 localhost:50051,安全限制 CORS
- 生产构建不包含此模块

使用方式:
- pnpm tauri:dev:web - 启动带开发服务器的 Tauri
- pnpm tauri:dev - 常规开发模式(无服务器)

安全:
- 仅 localhost 绑定
- CORS 限制为 Vite 开发端口
- 通过 feature flag 完全移除生产代码
This commit is contained in:
iven
2026-03-26 17:38:53 +08:00
parent b7f3d94950
commit 85bf47bebb
8 changed files with 615 additions and 263 deletions

View File

@@ -1,16 +1 @@
0.568456200s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: stale: changed "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\memory\\extractor.rs"
0.568494000s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: (vs) "G:\\ZClaw_openfang\\target\\debug\\.fingerprint\\desktop-b0389b12cc52cec0\\dep-lib-desktop_lib"
0.568500400s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: FileTime { seconds: 13418983010, nanos: 502515400 } < FileTime { seconds: 13418983215, nanos: 718200300 }
0.569228700s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: fingerprint dirty for desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)/Check { test: false }/TargetInner { ..: lib_target("desktop_lib", ["staticlib", "cdylib", "rlib"], "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\lib.rs", Edition2021) }
0.569272700s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleItem(ChangedFile { reference: "G:\\ZClaw_openfang\\target\\debug\\.fingerprint\\desktop-b0389b12cc52cec0\\dep-lib-desktop_lib", reference_mtime: FileTime { seconds: 13418983010, nanos: 502515400 }, stale: "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\memory\\extractor.rs", stale_mtime: FileTime { seconds: 13418983215, nanos: 718200300 } }))
0.681523600s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: stale: changed "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\viking_commands.rs"
0.681545600s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: (vs) "G:\\ZClaw_openfang\\target\\debug\\.fingerprint\\desktop-e51cca74c3c628e8\\dep-test-lib-desktop_lib"
0.681552800s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: FileTime { seconds: 13418983010, nanos: 502515400 } < FileTime { seconds: 13418983231, nanos: 975428100 }
0.681701800s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: fingerprint dirty for desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)/Check { test: true }/TargetInner { ..: lib_target("desktop_lib", ["staticlib", "cdylib", "rlib"], "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\lib.rs", Edition2021) }
0.681725100s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop_lib"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleItem(ChangedFile { reference: "G:\\ZClaw_openfang\\target\\debug\\.fingerprint\\desktop-e51cca74c3c628e8\\dep-test-lib-desktop_lib", reference_mtime: FileTime { seconds: 13418983010, nanos: 502515400 }, stale: "G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\viking_commands.rs", stale_mtime: FileTime { seconds: 13418983231, nanos: 975428100 } }))
0.684515900s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop"}: cargo::core::compiler::fingerprint: fingerprint dirty for desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)/Check { test: false }/TargetInner { name: "desktop", doc: true, ..: with_path("G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\main.rs", Edition2021) }
0.684542200s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleDepFingerprint { name: "desktop_lib" })
0.686407300s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop"}: cargo::core::compiler::fingerprint: fingerprint dirty for desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)/Check { test: true }/TargetInner { name: "desktop", doc: true, ..: with_path("G:\\ZClaw_openfang\\desktop\\src-tauri\\src\\main.rs", Edition2021) }
0.686422800s INFO prepare_target{force=false package_id=desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri) target="desktop"}: cargo::core::compiler::fingerprint: dirty: FsStatusOutdated(StaleDepFingerprint { name: "desktop_lib" })
Checking desktop v0.1.0 (G:\ZClaw_openfang\desktop\src-tauri)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.13s
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.63s