快速入门
本部分内容主要介绍前端项目如何快速集成 中望云CAD SDK,按照语言或框架划分为以下四个部分,html 集成、vue 项目集成、angular 项目集成、react 项目集成。
# html 集成 SDK
本节内容将介绍如何使用 html 集成 中望云CAD SDK,实现查看图纸的功能。
1.在项目根目录下新建 src 目录,在 src 目录下新建 assets 文件夹用于存放静态资源,将前端 sdk 包中的 ZwCloud2DSDK 文件夹放置在该目录下。
2.在项目根目录下新建 index.html 文件,引用 ZwCloud2D.js 文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>html demo</title>
</head>
<body></body>
<script type="text/javascript" src="/assets/ZwCloud2DSDK/ZwCloud2D.js"></script>
</html>
3.设置后端服务地址,分为私有化部署后端地址和 Cloud2D 公网服务地址。
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
4.设置加载图纸的 docId。
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
5.创建一个 dom 元素作为 sdk 的容器。
<div id="container"></div>
6.初始化前端组件,异步操作。
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
7.加载图纸,需要在初始化前端组件完成后执行。
ZwCloud2D.ZwEditor.load();
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>html demo</title>
</head>
<body>
<div id="container"></div>
<script
type="text/javascript"
src="/assets/ZwCloud2DSDK/ZwCloud2D.js"
></script>
<script>
//设置后端服务地址
ZwCloud2D.setConnectUrl('http://192.168.56.176:8888');
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
//设置加载图纸的docId
ZwCloud2D.ZwEditor.setDocId('1606196943661817856');
//初始化前端组件
await ZwCloud2D.ZwEditor.init(document.getElementById('container'));
//加载图纸
ZwCloud2D.ZwEditor.load();
</script>
</body>
</html>
# vue 集成 SDK
本节内容将介绍如何在 vue 项目中集成 中望云CAD SDK,实现查看图纸的功能。
1.在项目根目录下新建 src 目录,在 src 目录下新建 assets 文件夹用于存放静态资源,将前端 sdk 包中的 ZwCloud2DSDK 文件夹放置在该目录下。
2.在项目中的 index.html 文件中引用 ZwCloud2D.js 文件。
<script type="text/javascript" src="/assets/ZwCloud2DSDK/ZwCloud2D.js"></script>
3.在项目中新建一个组件。
<template>
</template>
<script>
export default {
name: "cloud2d",
data() {
return {};
},
props: [],
components: {},
mounted() {},
methods: {},
};
</script>
4.在 mouted 钩子函数执行后续操作,设置后端服务地址,分为私有化部署后端地址和 Cloud2D 公网服务地址。
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
5.设置加载图纸的 docId。
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
6.创建一个 dom 元素作为 sdk 的容器。
<div id="container"></div>
7.初始化前端组件,异步操作。
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
8.加载图纸,需要在初始化前端组件完成后执行。
ZwCloud2D.ZwEditor.load();
完整代码
<template>
<div id="container"></div>
</template>
<script>
export default {
name: "cloud2d",
data() {
return {};
},
props: [],
components: {},
mounted() {
//设置后端服务地址
ZwCloud2D.setConnectUrl('http://192.168.56.176:8888');
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
//设置加载图纸的docId
ZwCloud2D.ZwEditor.setDocId('1606196943661817856');
//初始化前端组件
await ZwCloud2D.ZwEditor.init(document.getElementById('container'));
//加载图纸
ZwCloud2D.ZwEditor.load();
},
methods: {},
};
</script>
<style>
#container {
width: 100vw;
height: 100vh;
}
</style>
# angular 集成 SDK
本节内容将介绍如何在 angular 项目中集成 中望云CAD SDK,实现查看图纸的功能。
1.在项目根目录下新建 src 目录,在 src 目录下新建 assets 文件夹用于存放静态资源,将前端 sdk 包中的 ZwCloud2DSDK 文件夹放置在该目录下。
2.在项目中的 index.html 文件中引用 ZwCloud2D.js 文件。
<script type="text/javascript" src="/assets/ZwCloud2DSDK/ZwCloud2D.js"></script>
3.在项目中新建一个组件
// dwg-editor.component.ts
import { Component, OnInit } from "@angular/core";
@Component({
selector: "app-dwg-editor",
templateUrl: "./dwg-editor.component.html",
styleUrls: ["./dwg-editor.component.scss"],
})
export class DwgEditorComponent implements OnInit {
constructor() {}
ngOnInit(): void { }
}
3.在 ngOnInit 生命周期执行后续操作,设置后端服务地址,分为私有化部署后端地址和 Cloud2D 公网服务地址。
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
4.设置加载图纸的 docId。
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
5.创建一个 dom 元素作为 sdk 的容器。
<!-- dwg-editor.component.html -->
<div id="container"></div>
6.初始化前端组件,异步操作。
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
7.加载图纸,需要在初始化前端组件完成后执行。
ZwCloud2D.ZwEditor.load();
完整代码
import { Component, OnInit } from "@angular/core";
@Component({
selector: "app-dwg-editor",
templateUrl: "./dwg-editor.component.html",
styleUrls: ["./dwg-editor.component.scss"],
})
export class DwgEditorComponent implements OnInit {
constructor() {}
ngOnInit(): void {
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
//设置加载图纸的docId
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
//初始化前端组件
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
//加载图纸
ZwCloud2D.ZwEditor.load();
}
}
# react 集成 SDK
本节内容将介绍如何在 react 项目中集成 中望云CAD SDK,实现查看图纸的功能。
1.在项目根目录下新建 src 目录,在 src 目录下新建 assets 文件夹用于存放静态资源,将前端 sdk 包中的 ZwCloud2DSDK 文件夹放置在该目录下。
2.在项目中的 index.html 文件中引用 ZwCloud2D.js 文件。
<script type="text/javascript" src="/assets/ZwCloud2DSDK/ZwCloud2D.js"></script>
3.在项目中新建一个组件
import React, { useEffect } from "react";
const View = () => {
useEffect(() => {
// 清理函数(根据需要添加)
return () => {
// 如果需要清理资源,在此添加
};
}, []);
return (
<div></div>
);
};
export default View;
4.在 useEffect 钩子函数执行后续操作,设置后端服务地址,分为私有化部署后端地址和 Cloud2D 公网服务地址。
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
5.设置加载图纸的 docId。
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
6.创建一个 dom 元素作为 sdk 的容器。
return (
<div
id="container"
style={{
width: "100vw",
height: "100vh",
top: 0,
left: 0,
}}
/>
);
6.初始化前端组件,异步操作。
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
7.加载图纸,需要在初始化前端组件完成后执行。
ZwCloud2D.ZwEditor.load();
完整代码
import React, { useEffect } from "react";
import { useLocation } from "react-router-dom";
const View = () => {
useEffect(() => {
//设置后端服务地址
ZwCloud2D.setConnectUrl("http://192.168.56.176:8888");
//使用Cloud2D公网服务时,需要设置请求token
//ZwCloud2D.setConnectUrl('https://test2d.zwsoft.cn');
//ZwCloud2D.setToken('');
//设置加载图纸的docId
ZwCloud2D.ZwEditor.setDocId("1606196943661817856");
//初始化前端组件
await ZwCloud2D.ZwEditor.init(document.getElementById("container"));
//加载图纸
ZwCloud2D.ZwEditor.load();
// 清理函数(根据需要添加)
return () => {
// 如果需要清理资源,在此添加
};
}, []);
return (
<div
id="container"
style={{
width: "100vw",
height: "100vh",
top: 0,
left: 0,
}}
/>
);
};
export default View;
# 常见问题
1.如遇编译报错类似 Module is not defined,Module、ZwCloud2D 均为挂载到 window 上的全局对象,在对应的对象前添加 window 即可解决,如 window.Module、window.Zwcloud2D 等;
2.如遇报错 unexpected token '<',请检查 js 文件引用路径是否正确。如引用路径错误,对于请求会返回 index.html 中的内容,可据此判断;