For AI agents: visit https://docs.openweb3.io/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI. Append .md to any documentation page URL to get its markdown version.
MINIAPP SDK DOCUMENTTATIONS IOS
Swift
@objcMembers
open class MiniAppService {
/**
使用指定的配置设置 Mini App 插件。
- Parameters:
- appName: Mini App 的名称。
- webAppName: Web App的名字。
- mePath: Mini App 的路径数组。
- window: Mini App 关联的 UIWindow 对象。
- languageCode: 本地化的语言代码。
- userInterfaceStyle: Mini App 的用户界面样式(默认为 .light)。
- maxCachePage: 最大缓存页面数(默认为 5)。
- appDelegate: 符合 IAppDelegate 协议的对象。
- resourceProvider: 符合 IResourceProvider 协议的可选对象。
*/
open func setup(appName: String,
webAppName: String,
mePath: [String],
window: UIWindow,
languageCode: String,
userInterfaceStyle: UIUserInterfaceStyle = .light,
maxCachePage: Int = 5,
appDelegate: IAppDelegate,
resourceProvider: IResourceProvider? = nil) -> Void {}
/**
更新 Mini App 的主题。
- Parameters:
- userInterfaceStyle: 更新后的 UIUserInterfaceStyle。
*/
open func updateTheme(userInterfaceStyle: UIUserInterfaceStyle) {}
/**
更新 Mini App 的语言。
- Parameters:
- languageCode: 更新后的语言代码。
*/
open func updateLanguage(languageCode: String) {}
/**
预加载 Mini App,并使用指定的配置。
- Parameters:
- config: 包含 Mini App 配置的 WebAppLaunchParameters 对象。
*/
open func preload(config: WebAppLaunchParameters) {}
/**
启动 Mini App 并返回对应的视图控制器。
- Parameters:
- config: 包含 Mini App 配置的 WebAppLaunchParameters 对象。
- Returns: 表示 Mini App 的 IMiniApp 对象。
*/
open func launch(config: WebAppLaunchParameters) -> IMiniApp? { return nil }
/**
在测试模式下设置 Mini App 的代理。
- Parameters:
- appDelegate: 符合 IAppDelegate 协议的对象。
*/
open func setupInTestDelegate(appDelegate: IAppDelegate) {}
/**
获取当前 Mini App 的账户上下文。
- Returns: 表示账户上下文的 AccountContext 对象,如果不存在则返回 nil。
*/
open func getContext() -> AccountContext? {
return nil
}
}
Swift
public protocol IMiniApp {
/**
请求关闭MiniApp。
- Parameters:
- forece: true,强制关闭miniapp。
- Returns: true,可以正常关闭, false,需要处理其他关闭确认,如需要返回子页面或者关闭弹窗确认。
*/
func requestDismiss(_ forece: Bool) -> Bool
}
Swift
public protocol IResourceProvider {
/**
判断当前是否为深色模式。
- Returns: 返回一个布尔值,指示当前是否为深色模式。
*/
func isDark() -> Bool
/**
根据指定的键获取对应的字符串。
- Parameters:
- key: 字符串的键。
- Returns: 返回对应的字符串。
*/
func getString(key: String) -> String
/**
根据指定的键和值列表获取格式化后的字符串。
- Parameters:
- key: 字符串的键。
- values: 值列表,用于替换字符串中的占位符。
- Returns: 返回格式化后的字符串。
*/
func getString(key: String, withValues values: [CVarArg]) -> String
/**
根据指定的键获取对应的颜色。
- Parameters:
- key: 颜色的键。
- Returns: 返回对应的颜色。
*/
func getColor(key: String) -> UIColor
/**
获取当前的用户界面样式。
- Returns: 返回当前的用户界面样式。
*/
func getUserInterfaceStyle() -> UIUserInterfaceStyle
}
Swift
public protocol IAppDelegate {
/**
生成二维码提供者,并返回一个导航控制器。
- Parameters:
- content: 二维码内容。
- completion: 生成二维码后的回调闭包,返回生成的二维码字符串。
- Returns: 返回一个导航控制器,用于二维码扫码功能。
*/
var qrcodeProvider: (String?, @escaping (String?) -> Void) -> UINavigationController? { get }
/**
自定义方法提供者。
- Parameters:
- methodName: 方法名称。
- params: 方法参数。
- completion: 方法执行后的回调闭包,返回执行结果。
*/
var customMethodProvider: (String, String?, @escaping (String?) -> Void) -> Void { get }
/**
附加操作提供者。
- Parameters:
- action: 操作名称。
- params: 操作参数。
*/
var attachActionProvider: (String?, String) -> Void { get }
/**
在应用内切换到新会话。
- Parameters:
- query: 查询字符串。
- types: 类型列表。
- Returns: 返回一个布尔值,指示是否成功切换到新会话。
*/
func switchInlineQuery(query: String, types: [String]) async -> Bool
/**
检查当前会话是否支持并授权发送消息功能。
- Returns: 返回一个布尔值,指示当前会话是否支持并授权发送消息功能。
*/
func checkPeerMessageAccess() async -> Bool
/**
请求当前会话授权发送消息功能。
- Returns: 返回一个布尔值,指示是否成功请求授权发送消息功能。
*/
func requestPeerMessageAccess() async -> Bool
/**
发送消息给当前会话。
- Parameters:
- content: 消息内容。
- Returns: 返回一个布尔值,指示是否成功发送消息。
*/
func sendMessageToPeer(content: String?) async -> Bool
/**
请求将手机号码发送给当前会话。
- Returns: 返回一个布尔值,指示是否成功请求发送手机号码给当前会话。
*/
func requestPhoneNumberToPeer() async -> Bool
/**
获取生物认证信息,包括 APP 证书授权、人脸识别、指纹识别等。
- Returns: 返回 BiometryInfo 对象,包含生物认证信息。
*/
func getBiometryInfo() async -> BiometryInfo?
/**
请求授权生物认证功能。
- Parameters:
- reason: 请求授权的原因。
- Returns: 返回 BiometryInfo 对象,包含授权后的生物认证信息。
*/
func requestBiometryAccess(reason: String?) async -> BiometryInfo?
/**
请求进行生物认证。
- Parameters:
- reason: 请求认证的原因。
- Returns: 返回一个布尔值和一个字符串元组,表示认证是否成功和认证生成的 Token 值。布尔值为 true 表示认证成功,字符串为 Token 值;布尔值为 false 表示认证失败,字符串为 nil。
*/
func requestBiometryAuth(reason: String?) async -> (Bool, String?)
/**
请求更新生物认证 Token。
- Parameters:
- token: 要更新的生物认证 Token。
- reason: 请求更新的原因。
- Returns: 返回一个布尔值和一个字符串元组,表示更新是否成功和更新后的 Token 值。布尔值为 true 表示更新成功,字符串为更新后的 Token 值;布尔值为 false 表示更新失败,字符串为 nil。
*/
func updateBiometryToken(token: String?, reason: String?) async -> (Bool, String?)
/**
打开生物认证设置界面。
*/
func openBiometrySettings() async -> Void
/**
分享 Mini App。
- Parameters:
- url: Mini App 的 URL。
*/
func shareWebApp(url: String) -> Void
}