修复 FriendControlView: 使用正确的 ApiClient 方法 friendInfo/friendTrigger,@State 操作放 MainActor.run 内
这个提交包含在:
@@ -78,23 +78,26 @@ struct FriendControlView: View {
|
|||||||
errorMsg = nil
|
errorMsg = nil
|
||||||
friendInfo = nil
|
friendInfo = nil
|
||||||
Task {
|
Task {
|
||||||
let result = await ApiClient.query(code: friendCode)
|
let info = await ApiClient.friendInfo(code: friendCode)
|
||||||
|
await MainActor.run {
|
||||||
isLoading = false
|
isLoading = false
|
||||||
switch result {
|
if let nick = info?["nickname"] as? String {
|
||||||
case .success(let info):
|
friendInfo = "昵称:\(nick)"
|
||||||
friendInfo = info
|
} else if let ok = info?["ok"] as? Bool, !ok {
|
||||||
case .failure(let e):
|
errorMsg = (info?["error"] as? String) ?? "找不到该控制码"
|
||||||
errorMsg = "查询失败:\(e.localizedDescription)"
|
} else {
|
||||||
|
friendInfo = "已连接(昵称未知)"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private func sendCommand(_ cmd: String) {
|
private func sendCommand(_ cmd: String) {
|
||||||
Task {
|
Task {
|
||||||
let result = await ApiClient.command(code: friendCode, cmd: cmd)
|
let result = await ApiClient.friendTrigger(friendCode: friendCode, action: cmd)
|
||||||
await MainActor.run {
|
await MainActor.run {
|
||||||
if case .failure(let e) = result {
|
if !result.ok {
|
||||||
errorMsg = "指令失败:\(e.localizedDescription)"
|
errorMsg = "指令失败:\(result.error ?? "未知错误")"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户