39 lines
929 B
Swift
39 lines
929 B
Swift
//
|
|
// NetworkState.swift
|
|
// punchnet
|
|
//
|
|
// Created by 安礼成 on 2026/1/16.
|
|
//
|
|
|
|
import Foundation
|
|
import Observation
|
|
|
|
@Observable
|
|
class NetworkModel {
|
|
|
|
// 当前选中的设备
|
|
var selectedNode: SDLAPIClient.NetworkContext.Node?
|
|
var networkContext: SDLAPIClient.NetworkContext = .default()
|
|
|
|
init() {
|
|
|
|
}
|
|
|
|
func changeSelectedNode(nodeId: Int?) {
|
|
if let nodeId {
|
|
if let node = self.networkContext.nodeList.first(where: { $0.id == nodeId}) {
|
|
self.selectedNode = node
|
|
}
|
|
}
|
|
}
|
|
|
|
func connect(networkSession: SDLAPIClient.NetworkSession) async throws {
|
|
let params: [String: Any] = [
|
|
"client_id": SystemConfig.getClientId(),
|
|
"access_token": networkSession.accessToken
|
|
]
|
|
self.networkContext = try await SDLAPIClient.connectNetwork(networkSession: networkSession)
|
|
}
|
|
|
|
}
|