JS端调用离线数据包

当离线数据包部署到本地服务器以后,开发者可以按照以下方式集成JavaScript完成整个流程。本质上,离线数据包和在线访问相比,只是数据访问路径发生了变化,因此,进行如下三个设置即可。

1. 确定离线数据包的部署路径

在线模式下,通常需要根据fileId、integrateId获取viewToken,以便于确定应该显示哪个模型或图纸。而部署离线数据包之后,该步骤已经省略。 假设,你的离线数据包部署在: http://{你的域名或IP地址}/bimface/cea1da8a380fd215b01bff8c58312839/(注:cea1da8a380fd215b01bff8c58312839是数据包解压后的根目录) 那么,上述路径就是你某个模型数据包的部署目录

2. 引用离线数据包中的JSSDK

改变之前引用JS组件的方式,直接引用数据包中的JSSDK(仅支持相对路径)

<script src="./jssdk/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>

3. 初始化Viewer的配置

改变BimfaceLoaderConfig的两个配置项:

  • BimfaceLoaderConfig.env
  • BimfaceLoaderConfig.path

如:

var options = new BimfaceSDKLoaderConfig();
options.env = BimfaceEnvOption.Local;
options.path = './viewToken.json';//(仅支持相对路径)

一个完整的例子

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>your page title</title>
  <script src="./jssdk/BimfaceSDKLoader@latest-release.js" charset="utf-8"></script>
</head>

<body>

<!-- 定义DOM元素,用于在该DOM元素中显示模型或图纸 -->
<div id="domId" style="width:900px; height:600px"></div>

<script type="text/javascript">

  // 初始化显示组件
  var options = new BimfaceSDKLoaderConfig();
  options.env = BimfaceEnvOption.Local;
  options.path = './viewToken.json';
  BimfaceSDKLoader.load(options, successCallback, failureCallback);

  function successCallback(viewMetaData) {
    // 创建WebApplication,直接显示模型或图纸
    var dom4Show = document.getElementById('domId');
    new Glodon.Bimface.Application.WebApplicationDemo(viewMetaData, dom4Show);
  }

  function failureCallback(error) {
    console.log(error);
  };
  </script>
  </body>
  </html>