当前位置:   article > 正文

【国产开源可视化引擎Meta2d.js】快速上手_meta2d.js使用

meta2d.js使用

提示

初始化引擎后,会生成一个 meta2d 全局对象,可直接使用。

调用meta2d前,需要确保meta2d所在的父容器element元素位置大小已经渲染完成。如果样式或css(特别是css动画)没有初始化完成,可能会报错(宽度为0)或影响显示。

划重点

所有js 语法均可打开 2D可视化编辑器 ,在浏览器控制台直接运行查看效果

如何学习

  1. 跟着“快速上手”文档做一遍,先有个总体认知
  2. 看一遍我们的视频教程,有个全面认识
  3. 多学习示例教程等

官方示例:https://github.com/le5le-com/meta2d.js/tree/main/examples

meta2d.js: The meta2d.js is real-time data exchange and interactive web 2D engine. Developers are able to build Web SCADA, IoT, Digital twins and so on. Meta2d.js是一个实时数据响应和交互的2d引擎,可用于Web组态,物联网,数字孪生等场景。 - Gitee.com

多找网上示例。找不到?你也可以多写学习心得,和大家一起交流学习。

  1. 多查阅Meta2d.js API
  2. 加入乐吾乐可视化交流群:

微信号:le5le-service,备注进交流群

在浏览器中体验

  1. 打开乐吾乐2D可视化编辑器
  2. F12打开浏览器控制台
  3. 在控制台输入
  1. // 定义一个pen,矩形
  2. const pen = {
  3. name: "rectangle",
  4. text: "矩形",
  5. x: 100,
  6. y: 100,
  7. width: 100,
  8. height: 100,
  9. };
  10. meta2d.addPen(pen);

Copy

在 ES5 中使用

  1. 获取 meta2d.js
npm install meta2d.js --save 
  1. 拷贝 node_modules/meta2d.js/meta2d.js 到静态资源目录。比例 index.html 所在目录
  2. 编写 index.html
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title i18n>乐吾乐 Meta2d</title>
  5. <meta charset="UTF-8" />
  6. </head>
  7. <body>
  8. <div id="meta2d" style="height:100vh;width:100vw;"></div>
  9. <script src="meta2d.js"></script>
  10. <script src="index.js"></script>
  11. </body>
  12. </html>

Copy

  1. 编写 index.js 加载 meta2d.js
  1. var meta2d = new Meta2d("meta2d");
  2. registerCommonDiagram(); //注册图形库
  3. // Get the json data
  4. // ...
  5. // Open the json
  6. meta2d.open(json);

Copy

参考例子: https://github.com/le5le-com/meta2d.js/tree/master/examples/es5

在 Vue3 中使用

  1. 获取 @meta2d/core 等库
  1. npm install @meta2d/core --save
  2. // Option
  3. npm install @meta2d/activity-diagram --save
  4. npm install @meta2d/chart-diagram --save
  5. npm install @meta2d/class-diagram --save
  6. npm install @meta2d/flow-diagram --save
  7. npm install @meta2d/fta-diagram --save
  8. npm install @meta2d/form-diagram --save
  9. npm install @meta2d/sequence-diagram --save
  10. npm install @meta2d/le5le-charts --save
  11. npm install @meta2d/svg --save
  1. 编写 Vue
  1. <template>
  2. <div class="main">
  3. <div id="meta2d"></div>
  4. </div>
  5. </template>

Copy

  1. 编写 js 加载 meta2d
  1. import { Options, Meta2d } from '@meta2d/core';
  2. import { flowPens } from '@meta2d/flow-diagram';
  3. import { activityDiagram } from '@meta2d/activity-diagram';
  4. import { classPens } from '@meta2d/class-diagram';
  5. import { sequencePens, sequencePensbyCtx } from '@meta2d/sequence-diagram';
  6. import { defineComponent, onMounted, onUnmounted, ref } from 'vue';
  7. import { formPens } from '@meta2d/form-diagram';
  8. declare const window: any;
  9. declare const meta2d: Meta2d;
  10. export default defineComponent({
  11. name: 'Meta2dCanvas',
  12. components: {},
  13. setup() {
  14. const meta2dOptions: Options = {};
  15. onMounted(() => {
  16. new Meta2d('meta2d', meta2dOptions);
  17. meta2d.register(flowPens());
  18. meta2d.register(activityDiagram());
  19. meta2d.register(classPens());
  20. meta2d.register(sequencePens());
  21. meta2d.registerCanvasDraw(sequencePensbyCtx());
  22. meta2d.registerCanvasDraw(formPens());
  23. // 监听消息事件
  24. meta2d.on('contextmenu', contextmenu);
  25. meta2d.on('click', click);
  26. // 打开文件
  27. meta2d.open(json);
  28. });
  29. onUnmounted(() => {
  30. if (meta2d) {
  31. meta2d.off('contextmenu', contextmenu);
  32. meta2d.off('click', click);
  33. meta2d.destroy();
  34. }
  35. });
  36. const contextMenuVisible = ref(false);
  37. function contextmenu() {
  38. contextMenuVisible.value = true;
  39. }
  40. function click() {
  41. contextMenuVisible.value = false;
  42. }
  43. return {
  44. contextMenuVisible,
  45. };
  46. },
  47. });

Copy

一个快速上手学习的示例

https://github.com/le5le-com/meta2d.js/tree/main/examples/diagram-editor-vue3

在 React 中使用

  1. 获取 @meta2d/core 等库
  1. npm install @meta2d/core --save
  2. // Option
  3. npm install @meta2d/activity-diagram --save
  4. npm install @meta2d/chart-diagram --save
  5. npm install @meta2d/class-diagram --save
  6. npm install @meta2d/flow-diagram --save
  7. npm install @meta2d/fta-diagram --save
  8. npm install @meta2d/form-diagram --save
  9. npm install @meta2d/sequence-diagram --save
  10. npm install @meta2d/le5le-charts --save
  11. npm install @meta2d/svg --save
  1. 编写 React jsx
  1. import React, { useEffect } from "react";
  2. import { Options, Meta2d } from "@meta2d/core";
  3. import { flowPens } from "@meta2d/flow-diagram";
  4. import { activityDiagram } from "@meta2d/activity-diagram";
  5. import { classPens } from "@meta2d/class-diagram";
  6. import { sequencePens, sequencePensbyCtx } from "@meta2d/sequence-diagram";
  7. import { formPens } from "@meta2d/form-diagram";
  8. const Meta2dContainer = () => {
  9. useEffect(() => {
  10. window.meta2d = new Meta2d("meta2d");
  11. meta2d.register(flowPens());
  12. meta2d.register(activityDiagram());
  13. meta2d.register(classPens());
  14. meta2d.register(sequencePens());
  15. meta2d.registerCanvasDraw(sequencePensbyCtx());
  16. meta2d.registerCanvasDraw(formPens());
  17. // 打开文件
  18. meta2d.open(json);
  19. }, []);
  20. return (
  21. <div className="main">
  22. <div className="meta2d" id="meta2d"></div>
  23. </div>
  24. );
  25. };
  26. export default Meta2dContainer;

Copy

参考例子: https://github.com/le5le-com/meta2d.js/tree/master/examples/react

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/791050
推荐阅读
相关标签
  

闽ICP备14008679号