npm 包 @bentley/imodelhub-client 使用教程

在前端开发中,使用 npm 包是非常常见的,它可以帮助开发者快速构建自己的项目,提高开发效率。当涉及到使用 Bentley 的 iModelHub 时,我们可以使用它们提供的 npm 包 @bentley/imodelhub-client。它是一个非常好用的 npm 包,可以帮助我们轻松地实现与 iModelHub 的交互。

在这篇文章中,我们将提供一个详细的教程,介绍如何使用 @bentley/imodelhub-client。我们还将提供示例代码和指导意义,帮助读者更好地理解该 npm 包的使用方法。

安装

首先,我们需要在自己的项目中安装 @bentley/imodelhub-client。可以使用 npm 命令来安装,具体命令如下:

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

注意,在项目根目录中执行该命令。

使用示例

创建 Access Token

使用 @bentley/imodelhub-client 与 iModelHub 交互需要一个 Access Token,我们可以通过以下代码获取:

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

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

在进行下一步操作前,请确保已经获得了 Access Token。如果 Access Token 获得失败,则意味着你需要更换你的凭据信息。

获取 Projects

获取和创建项目是管理项目和 iModelHub 上的 iModel 的关键功能。使用以下代码可以获取所有项目:

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

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

这些示例代码使用 IModelHubClient 和 Projects API 来访问 iModelHub 中的项目。其中 projectScopeRequestOptions 参数控制如何过滤项目列表,例如选择指定项目。如果你不需要使用过滤器,则不需要传递这个参数。需要注意的是,这个请求需要一个有效的 Access Token。

获取或创建 Briefcases

Briefcases 是 iModel 支持的特殊形式的锁定机制,用于保护一组人对同一份数据的更改。通常,应用程序使用 Briefcase 来指导如何在很短时间内同步和合并数据更改。以下示例展示了如何在 Briefcase 中列出 Briefcases:

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

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

与获取项目相同,该请求也需要有效的 Access Token。briefcaseQuery 对象将筛选器传递给服务,并返回匹配筛选器的 Briefcases。

上传 Changesets

使用上一步列出的 Briefcases 集合,可以创建或更新 Briefcase。Briefcase 必须通过 Changeset 更新,并且每个 Briefcase 只能断开或合并成功。以下示例集合演示了如何创建 Changeset 并更新 Briefcase:

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

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

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

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

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

changesetFileDir 是指变更集的配置文件路径,其中包含待提交的变更集文件名及其哈希校验值。诸如 userName 和 password 等配置正在从 imodels 配置中提供。

下载 Changesets

以下代码展示如何使用 Briefcases 和 Changeset 对象下载匹配的 Briefcase 和 与 Briefcase 关联的 Changeset:

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

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

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

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

该代码获取与 briefcase 中关联的 Changesets 列表,请求中对它们进行排序,并通过读取 DownloadUrl 获取与每个 Changeset 相关的二进制数据。根据本地 briefcase 最后一个下载的 Changeset,更新 Briefcase 客户端状态。

这个操作的目的是确保 Briefcase 被更新到最新的 Changeset,并确保 iModelHub 表示 Briefcase 已经从客户端下载并有关联的 Briefcase 与 Changeset。

总结

在本文中,我们仔细介绍了 @bentley/imodelhub-client 的使用方法和示例代码。你可以通过安装和引入这个 npm 包,实现与 iModelHub 的交互。这个教程提供的深度较高,可以让读者深入理解 @bentley/imodelhub-client 的使用方法,并可以根据实际情况更改示例代码。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedb05eb5cbfe1ea06110d0


猜你喜欢

  • npm 包 bath-es5 使用教程

    在前端开发中,我们常常使用各种 npm 包来简化我们的开发工作。在这篇文章中,我将向你介绍一个非常有用的 npm 包——bath-es5,并且提供详细的使用教程和示例代码。

    4 年前
  • npm 包 mock-json-schema 使用教程

    在前端开发中,我们经常需要模拟后端接口返回数据,前端 mock 是一个不错的方式。但是,手动编写 mock 数据相对比较麻烦和复杂,今天我们来介绍一个 npm 包 mock-json-schema,它...

    4 年前
  • npm 包 openapi-schema-validation 使用教程

    OpenAPI 规范定义了一种描述 API 的方式,包括了请求方法、请求参数、响应码等信息。对于开发人员来说,验证 OpenAPI 的正确性是必不可少的。而 npm 包 openapi-schema-...

    4 年前
  • npm 包 @types/swagger-parser 使用教程

    Swagger 是一种用于描述 RESTful API 的语言,它定义了 API 的请求方式、参数和响应。Swagger-parser 是一款能够帮助解析 Swagger 文档的 JavaScript...

    4 年前
  • npm 包 openapi-backend 使用教程

    在前端开发中,接口是不可避免的部分。而针对接口的管理,OpenAPI 规范成为了业界标准。如果要开发一个符合 OpenAPI 规范的接口服务,可以考虑使用 npm 包 openapi-backend,...

    4 年前
  • npm 包 mini-css-class-name 使用教程

    mini-css-class-name 是一个轻量级的 npm 包,可以帮助前端工程师快速生成唯一的 CSS 类名,并且不会重复。 mini-css-class-name 能够解决以下问题: 避免类...

    4 年前
  • npm 包 @oozcitak/util 使用教程

    介绍 npm 包 @oozcitak/util 是一个 JavaScript 工具库,其中包含了许多用于字符串处理和几何计算的函数。它可以在浏览器和 Node.js 环境中使用,非常适合前端开发中一些...

    4 年前
  • npm 包 @oozcitak/url 使用教程

    npm 包 @oozcitak/url 是一个用于解析和处理 URL 的 JavaScript 库,本文将详细介绍如何安装和使用该库,希望对您学习和使用前端开发有帮助。

    4 年前
  • npm 包 @oozcitak/dom 使用教程

    @oozcitak/dom 是一个用于操作 DOM 树的 JavaScript 库,它提供了一些基本 API 帮助开发者快速处理 DOM 对象。 本文将介绍如何使用此库,并提供一些实际示例来指导您进行...

    4 年前
  • npm 包 @oozcitak/infra 使用教程

    介绍 @oozcitak/infra 是一个基于 JavaScript 的 npm 包,旨在提供一个灵活,高性能但易于使用的基础设施组件库。它提供了几个常用的功能,例如对象池,内存池,字符串缓存等,以...

    4 年前
  • npm 包 @types/libxmljs 使用教程

    前言 在前端开发中,我们经常需要对 XML 文件进行操作。而在 TypeScript 项目中,如果要使用 libxmljs 库,我们需要安装它的 TypeScript 类型声明才能使 TypeScri...

    4 年前
  • npm包es6-proxy-polyfill的使用教程

    简介 es6-proxy-polyfill是一个npm包,用于解决ES6的Proxy在旧版本的浏览器中不兼容的问题。 Proxy是ES6中新增的一个重要特性,它可以用来拦截对象的各种操作。

    4 年前
  • npm 包 @types/chromedriver 使用教程

    在前端开发中,经常需要使用浏览器自动化工具来进行自动化测试、爬虫等任务。而 Selenium WebDriver 是一个浏览器自动化工具的事实标准。Selenium WebDriver 使用 Java...

    4 年前
  • npm 包 xmlbuilder2 使用教程

    简介 xmlbuilder2 是一个基于流式接口的 XML 构建器。它提供了一种方便的方法来构建有效的 XML 文档,同时保持代码简洁且易于阅读。本文将详细介绍 xmlbuilder2 在前端开发中的...

    4 年前
  • npm 包 @parade/pino-http 使用教程

    介绍 @parade/pino-http 是一个基于 pino 的 HTTP 请求日志库,提供了一个简单易用的包装器来帮助你捕捉 HTTP 请求的每个细节并记录日志。

    4 年前
  • npm 包 @parade/pretty-ms 使用教程

    介绍 @parade/pretty-ms 是一个 npm 包,它提供了一个用于将毫秒转换为人类可读形式的函数。在前端开发中,经常需要将时间戳转换为人类可读的形式,比如将 3600000(一个小时)转换...

    4 年前
  • npm 包 @alicloud/xconsole-theme 的使用教程

    介绍 @alicloud/xconsole-theme 是阿里云前端团队开发的一款基于 Ant Design 的主题包,旨在为用户提供一整套高质量的阿里云主题 UI,方便用户在开发过程中快速打造一致性...

    4 年前
  • npm 包 focus-options-polyfill 使用教程

    前言 在开发 Web 应用的过程中,我们经常需要使用 focus() 方法来控制页面元素的聚焦,例如实现键盘导航、表单控件的自动获取焦点等。但是,focus() 在不同浏览器中的行为并不一致,尤其是在...

    4 年前
  • npm 包 endent 使用教程

    在前端开发中,我们经常需要对字符串进行格式化处理。这时候,一个好用的 npm 包就显得非常重要了。而在这篇文章中,我们将介绍如何使用一个名为 endent 的 npm 包进行字符串缩进和格式化处理。

    4 年前
  • npm 包 react-docgen-typescript-plugin 使用教程

    在前端开发中,React 是一个广泛采用的 JavaScript 库。常常需要在 React 中编写组件,而编写组件的过程中,每个组件往往都会需要一个文档对该组件的属性和方法进行详细说明。

    4 年前

相关推荐

    暂无文章