跳到主要内容
知识地图explorer:怎样浏览一片 AFS 资源?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

explorer:怎样浏览一片 AFS 资源?

explorer 表达资源浏览子系统;运行时还需支持它的展开与呈现。

假设你要浏览一组报告:左边选目录,中间读选中的报告,旁边查看它的类型、元数据和可执行动作。explorer 表达的就是这种组合式资源浏览器,src 指定从哪里开始。

它与 afs-list 的职责不同:后者列出一组资源,前者的注册描述还包括内容预览和检查面板。根路径如果指向报告集合,浏览的是报告;如果要检查界面自身的节点结构,需要指向相应的界面资源入口。路径还要结合它所在的工作环境理解,不能只看名称。

一个名称,不等于一个已经可用的控件

运行时需要把列表、预览和检查面板组合成可用界面;源码注册表把这个过程称为“展开”。你可以把它理解为一套组合安排,不能只凭类型名称存在,就假定每个设备都会直接画出来。

因此,使用前要验证两件事:目标运行时能否完成这套组合,以及当前参与者能否读取它连接的资源。接收了一份合法的界面描述,不表示资源已成功加载。这也是为什么学习核心类型时,需要同时了解设备支持和资源权限。

先认识这些属性

showMeta 控制是否显示元数据检查面板,例如报告的类型等说明;showActions 控制是否显示动作按钮。隐藏按钮只改变呈现,不能代替执行时的权限检查。

注册的事件名包括 select 和 navigate:选择一项资源与转到另一个浏览位置是两种交互。具体载荷和处理由目标实现决定。

读一个结构例子

以下摘自源码注册示例。它展示结构,未在本页运行;示例中的路径和动作需要应用提供。

json
{
  "id": "file-browser",
  "type": "explorer",
  "src": "/"
}

这个最小例子只指定从 / 开始浏览,没有显式配置检查面板或事件处理。/ 是当前工作环境的根,不代表自动取得整个计算机的访问权。

查看 explorer 的技术文档。

检查一下理解

想确认 explorer 正在检查哪一片资源,先看什么?

先看它连接的根路径,以及该路径所在的命名空间和会话。