npm 包 @bentley/presentation-common 使用教程

阅读时长 6 分钟读完

简介

@bentley/presentation-common 是由 Bentley Systems 的前端团队开发的一个 npm 包,用于在前端项目中呈现 iModel 数据。

安装

使用

-- -------------------- ---- -------
------ - ------------ - ---- -------------------------------

----- ---- - ----- -- -- -
  -- --- ------------
  ----- -------------------------
    -- ----
  ---
  
  -- ----
  ----- ------ - ----- -------------------------------------------------
  
  --------------------
-

-------

在使用之前,我们需要先初始化 presentation。在初始化 presentation 时,我们需要传入一些配置信息,例如 iModel 的文件路径、存储 Token 的客户端等等。具体配置项可以在配置文件中进行设置。配置文件的完整示例如下:

-- -------------------- ---- -------
------ ------- -
  --------- ------                -- -- ----- - ------ --
  ------------ ------             -- ------ --------
  ------------- --------          -- ------ ----
  ------ ------                    -- -----
  ---------- -------------------------------------------     -- --------- --
  ----------- --------------------------          -- ------ ----
  ---------------- -----           -- ------ -----
  -------------- -----             -- ------
  ---------- ------                -- -- --
  ------------ ------              -- ---
  ----------- ------               -- ------ --
-

常用方法

  • initialize(options: PresentationInitOptions): Promise<void>:初始化 presentation
  • dispose(): void:销毁 presentation
  • getClient(): PresentationRpcInterface:获取 presentation 客户端
  • readNode(nodeId: string, requestContext?: ClientRequestContext): Promise<NodeJSON>:读取一个节点
  • readNodePaths(paths: NodePathElement[][], markedIndex?: number, requestContext?: ClientRequestContext): Promise<NodePathJSON[]>:读取多个节点路径
  • readPagedNodePaths(parentNodeId: string, paging: PagingOptions, requestContext?: ClientRequestContext): Promise<Result<NodePathElement[]>[]>:分页读取子节点路径
  • getContentDescriptor(requestOptions: ContentRequestOptions, requestContext?: ClientRequestContext): Promise<DescriptorJSON | undefined>:获取内容描述器
  • getContentSetSize(requestOptions: ContentRequestOptions, requestContext?: ClientRequestContext): Promise<number>:获取内容集大小
  • getContent(requestOptions: ContentRequestOptions, pageOptions?: PageOptions, requestContext?: ClientRequestContext): Promise<Result<ContentJSON>>:获取内容

示例

-- -------------------- ---- -------
-- -------
----- -------------- - -----------------------------
----- ---------- - ----- ------------------------------------------------
  ------- -------                    -- ------ --
  ---------- ------------             -- ------- --
  ------------ -------                -- ----
  ----- --- ----------------------------------     -- ----
-- ----------------
------------------------
-- -------------------- ---- -------
-- ---------
----- -------------- - -----------------------------
----- -------------- - ----- ---------------------------------------------
  ------- -------                    -- ------ --
  ---------- ------------             -- ------- --
  ------------ -------                -- ----
  ----- --- ----------------------------------     -- ----
-- ----------------

--- ---- ---------- - -- ---------- - --------------- ---------- -- --- -
  ----- ------ - ----- --------------------------------------
    ------- -------                    -- ------ --
    ---------- ------------             -- ------- --
    ------------ -------                -- ----
    ----- --- ----------------------------------     -- ----
  -- - ------ ----------- ----- -- -- ----------------
  
  --------------------
-

总结

@bentley/presentation-common 提供了一系列方便的 API,可以帮助我们在前端项目中呈现 iModel 数据。通过本文的介绍,我们可以学习到如何正确地使用它,并在实际项目中得到应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/155449