- 新增 Android SDK 主文档,包含模块结构、集成方式、快速开始指南 - 添加 sdk-core、sdk-im、sdk-push、sdk-update、sdk-webview 各模块详细说明 - 配置各模块的 build.gradle.kts 文件,设置依赖和发布选项 - 更新 gradle.properties 版本配置和编译参数 - 重构 XWebViewView 组件,增加相机权限、文件选择、下载拦截功能 - 添加 XWebViewTypes.kt 定义配置类和控制器接口 - 集成 Flutter WebView 桥接代码,实现跨平台功能对齐
37 行
838 B
Swift
37 行
838 B
Swift
import Foundation
|
|
|
|
@MainActor
|
|
public final class XWebViewBridge {
|
|
public static let shared = XWebViewBridge()
|
|
|
|
private var config = XWebViewConfig()
|
|
private weak var controller: AnyObject?
|
|
|
|
private init() {}
|
|
|
|
public func open(_ config: XWebViewConfig) {
|
|
self.config = config
|
|
}
|
|
|
|
public func currentConfig() -> XWebViewConfig {
|
|
config
|
|
}
|
|
|
|
public func setController(_ controller: (any XWebViewController)?) {
|
|
self.controller = controller
|
|
}
|
|
|
|
public func currentController() -> (any XWebViewController)? {
|
|
controller as? any XWebViewController
|
|
}
|
|
|
|
public func postMessageToWeb(_ js: String) {
|
|
currentController()?.postMessageToWeb(js: js)
|
|
}
|
|
}
|
|
|
|
@MainActor
|
|
public func openXWebView(_ config: XWebViewConfig) {
|
|
XWebViewBridge.shared.open(config)
|
|
}
|