XuqmGroup-iOSSDK/Sources/XuqmWebViewSDK/XWebViewTypes.swift
XuqmGroup 979fd7d033 docs(android-sdk): 添加 Android SDK 完整文档与模块配置
- 新增 Android SDK 主文档,包含模块结构、集成方式、快速开始指南
- 添加 sdk-core、sdk-im、sdk-push、sdk-update、sdk-webview 各模块详细说明
- 配置各模块的 build.gradle.kts 文件,设置依赖和发布选项
- 更新 gradle.properties 版本配置和编译参数
- 重构 XWebViewView 组件,增加相机权限、文件选择、下载拦截功能
- 添加 XWebViewTypes.kt 定义配置类和控制器接口
- 集成 Flutter WebView 桥接代码,实现跨平台功能对齐
2026-05-11 15:21:54 +08:00

41 行
1.1 KiB
Swift

import Foundation
public struct XWebViewConfig: Sendable {
public var url: String
public var title: String
public var hideToolbar: Bool
public var hideStatusBar: Bool
public var userAgent: String?
public var injectedJavaScript: String?
public var onMessage: (@Sendable (String) -> Void)?
public init(
url: String = "",
title: String = "",
hideToolbar: Bool = false,
hideStatusBar: Bool = false,
userAgent: String? = nil,
injectedJavaScript: String? = nil,
onMessage: (@Sendable (String) -> Void)? = nil
) {
self.url = url
self.title = title
self.hideToolbar = hideToolbar
self.hideStatusBar = hideStatusBar
self.userAgent = userAgent
self.injectedJavaScript = injectedJavaScript
self.onMessage = onMessage
}
}
public protocol XWebViewController: AnyObject {
func canGoBack() -> Bool
func canGoForward() -> Bool
func currentUrl() -> String?
func goBack()
func goForward()
func reload()
func load(url: String)
func postMessageToWeb(js: String)
}