#if os(macOS) import AppKit import Observation // Quick Send:全局热键(MacHotkey)或菜单栏触发 → 激活 app + NSOpenPanel 选文件 → 主窗口切到「传输」区 // 并弹发送表单选目标设备发送。pending 为待发文件,MacRootView 观察它、présente MacComposeSheet。 @Observable final class MacQuickSend { static let shared = MacQuickSend() private init() {} var pending: [URL] = [] // 激活 app + 选文件(主线程同步)。有选中即置 pending,触发主窗口的发送表单。未登录时 MacRootView // 未挂载、表单不出现——Quick Send 仅登录态有意义(菜单项 / 热键均在登录后才提供 / 注册)。 static func trigger() { NSApp.activate() let panel = NSOpenPanel() panel.canChooseFiles = true panel.canChooseDirectories = false panel.allowsMultipleSelection = true panel.prompt = "发送" if panel.runModal() == .OK, !panel.urls.isEmpty { shared.pending = panel.urls } } } #endif