节点管理
在 RainMaker 中,所有已配网的设备都称为节点。每个节点采用分层结构,包含配置、设备、服务及其参数。
节点层级结构
下面的交互式树形图展示了 RainMaker 节点的完整层级结构。可单击展开/折叠任意节点,并配置链接以跳转到各组件的详细文档。
交互式树形可视化节点
下面的树形图是可交互的,你可以:
- 单击节点展开或折叠分支。
- 拖动树形图。
- 滚动或缩放以调整视图。
- 单击节点跳转至文档(链接可自行配置)。
若想为节点配置导航链接,请在组件中更新 nodeLinkMap 属性。
获取用户节点
要获取与已登录用户 关联的所有已配网设备(节点),请使用 getUserNodes 方法。该方法可以指定返回结果数量。如果关联节点数超过指定的 resultCount,系统将自动处理分页。
// 带分页的示例用法
try {
const resultCount = 10; // 要获取的初始节点数量
let response = await userInstance.getUserNodes(resultCount);
console.log("User nodes retrieved:", response.nodes);
// 处理分页
while (response.hasNext) {
response = await response.fetchNext();
console.log("Next set of user nodes retrieved:", response.nodes);
}
} catch (error) {
console.error("Error fetching user nodes:", error);
}
获取节点详情
要获取指定节点的详细信息,请使用 getNodeDetails 方法:
/*
- nodeId:要获取的节点 ID。
*/
try {
const nodeDetails = await userInstance.getNodeDetails("node_id_123");
console.log("Node details:", nodeDetails);
// 访问节点配置
const nodeConfig = nodeDetails.nodeConfig;
// 按上述方式访问设备和服务
} catch (error) {
console.error("Error fetching node details:", error);
}
获取节点配置
要获取某个节点的完整配置,请在节点实例上使用 getNodeConfig 方法:
try {
const nodeConfig = await node.getNodeConfig();
console.log("Node configuration:", nodeConfig);
console.log("Devices:", nodeConfig.devices);
console.log("Services:", nodeConfig.services);
} catch (error) {
console.error("Error fetching node config:", error);
}