|
...
|
...
|
@@ -358,10 +358,13 @@ protocol PlatformHostApi { |
|
|
|
/// jsonString: UserPreferences的序列化string
|
|
|
|
/// baseUrl: 请求地址, https://api.doublefeel.cn
|
|
|
|
func updateLoginInfo(jsonString: String, baseUrl: String) throws
|
|
|
|
/// 设置好友显示到表盘
|
|
|
|
func updateWatchOtherUserInfo(otherInfo: WatchAppOtherInfo?) throws
|
|
|
|
/// 刷新表盘
|
|
|
|
func refreshWatchSurface() throws
|
|
|
|
/// 退出登录
|
|
|
|
func logout() throws
|
|
|
|
/// 刷新会员信息
|
|
|
|
func refreshVip() throws
|
|
|
|
/// 刷新watch app 和 表盘的所有数据:
|
|
|
|
/// 任何可能导致展示watch内容变化时调用(好友变化、某些设置导致变化等)
|
|
|
|
func refreshWatchAppAndWidgets() throws
|
|
|
|
/// 请求苹果登录
|
|
|
|
func requestAppleSignIn(completion: @escaping (Result<AppleSignInModel?, Error>) -> Void)
|
|
|
|
/// 查询指定id的苹果商品
|
|
...
|
...
|
@@ -414,35 +417,48 @@ class PlatformHostApiSetup { |
|
|
|
} else {
|
|
|
|
updateLoginInfoChannel.setMessageHandler(nil)
|
|
|
|
}
|
|
|
|
/// 设置好友显示到表盘
|
|
|
|
let updateWatchOtherUserInfoChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.updateWatchOtherUserInfo\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
|
|
|
/// 退出登录
|
|
|
|
let logoutChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.logout\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
|
|
|
if let api = api {
|
|
|
|
updateWatchOtherUserInfoChannel.setMessageHandler { message, reply in
|
|
|
|
let args = message as! [Any?]
|
|
|
|
let otherInfoArg: WatchAppOtherInfo? = nilOrValue(args[0])
|
|
|
|
logoutChannel.setMessageHandler { _, reply in
|
|
|
|
do {
|
|
|
|
try api.logout()
|
|
|
|
reply(wrapResult(nil))
|
|
|
|
} catch {
|
|
|
|
reply(wrapError(error))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
logoutChannel.setMessageHandler(nil)
|
|
|
|
}
|
|
|
|
/// 刷新会员信息
|
|
|
|
let refreshVipChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.refreshVip\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
|
|
|
if let api = api {
|
|
|
|
refreshVipChannel.setMessageHandler { _, reply in
|
|
|
|
do {
|
|
|
|
try api.updateWatchOtherUserInfo(otherInfo: otherInfoArg)
|
|
|
|
try api.refreshVip()
|
|
|
|
reply(wrapResult(nil))
|
|
|
|
} catch {
|
|
|
|
reply(wrapError(error))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
updateWatchOtherUserInfoChannel.setMessageHandler(nil)
|
|
|
|
refreshVipChannel.setMessageHandler(nil)
|
|
|
|
}
|
|
|
|
/// 刷新表盘
|
|
|
|
let refreshWatchSurfaceChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.refreshWatchSurface\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
|
|
|
/// 刷新watch app 和 表盘的所有数据:
|
|
|
|
/// 任何可能导致展示watch内容变化时调用(好友变化、某些设置导致变化等)
|
|
|
|
let refreshWatchAppAndWidgetsChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.refreshWatchAppAndWidgets\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
|
|
|
if let api = api {
|
|
|
|
refreshWatchSurfaceChannel.setMessageHandler { _, reply in
|
|
|
|
refreshWatchAppAndWidgetsChannel.setMessageHandler { _, reply in
|
|
|
|
do {
|
|
|
|
try api.refreshWatchSurface()
|
|
|
|
try api.refreshWatchAppAndWidgets()
|
|
|
|
reply(wrapResult(nil))
|
|
|
|
} catch {
|
|
|
|
reply(wrapError(error))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
refreshWatchSurfaceChannel.setMessageHandler(nil)
|
|
|
|
refreshWatchAppAndWidgetsChannel.setMessageHandler(nil)
|
|
|
|
}
|
|
|
|
/// 请求苹果登录
|
|
|
|
let requestAppleSignInChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.doublefeel_flutter.PlatformHostApi.requestAppleSignIn\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec)
|
...
|
...
|
|