feat: 统一 Commilitia Drop 全客户端命名与分发

This commit is contained in:
2026-07-31 22:56:10 +08:00
parent f7b0f04c9c
commit c480f0d1c2
77 changed files with 861 additions and 263 deletions
+13 -13
View File
@@ -193,7 +193,7 @@ final class EngineController: NSObject
private var webView: WKWebView?
private let downloads = DownloadManager()
// id URL cdrop-file://<id>
// id URL commilitia-drop-file://<id>
// WKURLSchemeHandler
private var outgoing: [String: URL] = [:]
@@ -271,7 +271,7 @@ final class EngineController: NSObject
}
// makeWebView WebView __CDROP_BOOT__device_type:"ios"
// cdrop-file scheme JS
// commilitia-drop-file scheme JS
func makeWebView() -> WKWebView
{
if let existing = webView { return existing }
@@ -297,7 +297,7 @@ final class EngineController: NSObject
let cfg = WKWebViewConfiguration()
cfg.userContentController = ucc
cfg.setURLSchemeHandler(self, forURLScheme: "cdrop-file")
cfg.setURLSchemeHandler(self, forURLScheme: "commilitia-drop-file")
// Auth Broker refresh_tokenPOST /api/auth/refresh
// broker cdrop_session cookie URLSession cookie WebView
@@ -672,7 +672,7 @@ final class EngineController: NSObject
webView?.evaluateJavaScript("window.__cdropEngineEvent(\(jsString(name)), \(json));")
}
// sendFile cdrop-file://<id> +
// sendFile commilitia-drop-file://<id> +
func sendFile(to target: String, fileURL: URL)
{
let ref = stageOutgoingFile(fileURL)
@@ -687,7 +687,7 @@ final class EngineController: NSObject
])
}
// Share Extension App Group cdrop://share
// Share Extension App Group commilitia-drop://share
//
var pendingShareFiles: [URL] = []
@@ -730,7 +730,7 @@ final class EngineController: NSObject
}
// #14PhotosPicker PhotosPickerItem loadTransferable
// cdrop-file scheme Range
// commilitia-drop-file scheme
// URL temporaryDirectory nil
func stagePhotoData(_ data: Data, suggestedName: String) -> URL?
{
@@ -743,18 +743,18 @@ final class EngineController: NSObject
catch { return nil }
}
// cdrop-file://<id> URL
// commilitia-drop-file://<id>
// start...Access
private func stageOutgoingFile(_ url: URL) -> String
{
let id = UUID().uuidString
_ = url.startAccessingSecurityScopedResource()
outgoing[id] = url
return "cdrop-file://\(id)"
return "commilitia-drop-file://\(id)"
}
// [start,end) seek base64 bridgeFileSource
// url cdrop-file://<id>id stageOutgoingFile /
// url commilitia-drop-file://<id>id stageOutgoingFile
fileprivate func readOutgoingSlice(url: String, start: Int, end: Int) throws -> String
{
guard let id = URL(string: url)?.host, let fileURL = outgoing[id]
@@ -787,7 +787,7 @@ final class EngineController: NSObject
return e
}
// cdrop-file://<id> Go
// commilitia-drop-file://<id>
// 访 stageOutgoingFile reset Go os.Open
//
private func resolveOutgoingPath(_ ref: String) -> String
@@ -871,7 +871,7 @@ extension EngineController: WKScriptMessageHandler
end: Self.intOf(payload["end"]))
resolve(id: id, ok: true, value: b64)
case "p2pStartOutgoing":
// filePath cdrop-file://<id>
// filePath commilitia-drop-file://<id>
// libwebrtc completion offer + resolveOnMain
let engine = nativeTransferEngine()
let path = resolveOutgoingPath(payload["filePath"] as? String ?? "")
@@ -1133,11 +1133,11 @@ extension EngineController: WKScriptMessageHandler
}
}
// MARK: - schemecdrop-file
// MARK: - schemecommilitia-drop-file
extension EngineController: WKURLSchemeHandler
{
// cdrop-file://<id> JS fetch
// commilitia-drop-file://<id>
// PLAN §2 / R-iOS-4rangeSource `Range` seek
// 206 Partial Content jetsam Range
// 退 Range