简介
@bentley/imodeljs-clients-backend
是一个用于后端应用程序的 Node.js 包,它提供了许多与 iModel.js 相关的客户端操作,例如通过 REST API 获取 iModel 数据、上传与下载 iModel 数据等等。
本篇文章将详细介绍使用 @bentley/imodeljs-clients-backend
的步骤和注意事项,并给出实际的代码示例。
安装
@bentley/imodeljs-clients-backend
可以通过 npm 安装:
npm install @bentley/imodeljs-clients-backend
使用步骤
1. 引入依赖
在使用 @bentley/imodeljs-clients-backend
之前需要先引入 IModelJsExpressServer
和 Config
的依赖:
const { IModelJsExpressServer } = require("@bentley/imodeljs-backend"); const { Config } = require("@bentley/imodeljs-clients");
2. 配置应用程序
在使用 @bentley/imodeljs-clients-backend
的过程中需要对应用程序进行一些配置,其中最重要的是设置 Config
对象:
Config.App.set({ imjs_buddi_resolve_url_using_region: 104, imjs_buddi_resolve_url_using_region_delay: 1000, imjs_default_relying_party_uri: "https://localhost:3001/signin", imjs_browser_authorization_client_id: "test_client_id", imjs_browser_authorization_scopes: "openid email profile organization imodelhub context-registry-service:read-only product-settings-service projectwise-share urlps-third-party", imjs_browser_authorization_redirect_uri: "http://localhost:3001/signin-callback", });
此处为默认的配置参数,你需要根据实际情况进行相应的修改。
3. 启动 iModel.js 后端服务器
启动 iModel.js 后端服务器代码示例:
const port = 3000; const server = new IModelJsExpressServer("http://localhost:" + port); await server.initialize(port); console.log(`iModel.js backend listening on port ${port}`);
在后端中启动 iModel.js 服务器是使用 IModelJsExpressServer
来实现的,来自 @bentley/imodeljs-backend
包。这个基本上是必须的。
4. 实际使用
可以使用 @bentley/imodeljs-clients-backend
所提供的类(如 IModelHubClient
,HubCode
,BriefcaseManager
等)来实现 iModel 的一些操作,例如获取 iModelHub 上的所有项目:
const { IModelHubClient } = require("@bentley/imodel-bridge/lib/IModelHubBackend"); const imodelClient = new IModelHubClient(); const accessToken = "valid_access_token"; // 你自己的 access token imodelClient.authorizationClient.setAccessToken(accessToken); const projects: any[] = await imodelClient.getProject();
如上所述,主要需要的步骤便是:
- 引入
@bentley/imodeljs-clients-backend
的依赖; - 相关配置;
- 启动 iModel.js 后端服务器;
- 使用
@bentley/imodeljs-clients-backend
的类进行实际操作。
示例代码
-- -------------------- ---- ------- -- ------- ----- - --------------------- - - ------------------------------------- ----- - ------ - - ------------------------------------- ----- - --------------- - - ------------------------------------------------------- -- ------ ---------------- ------------------------------------ ---- ------------------------------------------ ----- ------------------------------- -------------------------------- ------------------------------------- ----------------- ---------------------------------- ------- ----- ------- ------------ --------- ---------------------------------- ------------------------ ----------------- ------------------- ---------------------------------------- ---------------------------------------- --- -- -- --------- ----- ----- ---- - ----- ----- ------ - --- ----------------------------------------- - ------ ----- ------------------------ ---------------------- ------- --------- -- ---- ---------- -- -- --------- ------ ----- ------------ - --- ------------------ ----- ----------- - --------------------- -- ---- ------ ----- ------------------------------------------------------------- ----- --------- ----- - ----- -------------------------- ----------------------展开代码
总结
使用 @bentley/imodeljs-clients-backend
可以帮助你轻松地在后端应用程序中操作 iModel 相关的服务,本文提供了详细的使用步骤和示例代码,供读者参考和学习。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/155447