当前位置: 首页 > news >正文

【国产开源可视化引擎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. 在控制台输入
// 定义一个pen,矩形
const pen = {name: "rectangle",text: "矩形",x: 100,y: 100,width: 100,height: 100,
};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
<!DOCTYPE html> 
<html>   <head><title i18n>乐吾乐 Meta2d</title><meta charset="UTF-8" /> </head>  <body>    <div id="meta2d" style="height:100vh;width:100vw;"></div> <script src="meta2d.js"></script><script src="index.js"></script>  </body>
</html> 

Copy

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

Copy

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

在 Vue3 中使用

  1. 获取 @meta2d/core 等库
npm install @meta2d/core --save 
// Option 
npm install @meta2d/activity-diagram --save 
npm install @meta2d/chart-diagram --save 
npm install @meta2d/class-diagram --save 
npm install @meta2d/flow-diagram --save 
npm install @meta2d/fta-diagram --save 
npm install @meta2d/form-diagram --save 
npm install @meta2d/sequence-diagram --save 
npm install @meta2d/le5le-charts --save 
npm install @meta2d/svg --save 
  1. 编写 Vue
<template>   <div class="main">     <div id="meta2d"></div>  </div> 
</template> 

Copy

  1. 编写 js 加载 meta2d
import {         Options,         Meta2d     } from '@meta2d/core'; 
import {     flowPens } from '@meta2d/flow-diagram'; 
import {     activityDiagram } from '@meta2d/activity-diagram'; 
import {     classPens } from '@meta2d/class-diagram'; 
import {     sequencePens,     sequencePensbyCtx } from '@meta2d/sequence-diagram'; 
import {     defineComponent,     onMounted,     onUnmounted,     ref } from 'vue'; 
import { formPens } from '@meta2d/form-diagram'; declare const window: any; 
declare const meta2d: Meta2d; 
export default defineComponent({     name: 'Meta2dCanvas',     components: {},     setup() {         const meta2dOptions: Options = {};  onMounted(() => {        new Meta2d('meta2d', meta2dOptions);   meta2d.register(flowPens());    meta2d.register(activityDiagram());  meta2d.register(classPens());    meta2d.register(sequencePens()); meta2d.registerCanvasDraw(sequencePensbyCtx());    meta2d.registerCanvasDraw(formPens());            // 监听消息事件       meta2d.on('contextmenu', contextmenu);      meta2d.on('click', click);            // 打开文件            meta2d.open(json);       });     onUnmounted(() => {    if (meta2d) {      meta2d.off('contextmenu', contextmenu);      meta2d.off('click', click);      meta2d.destroy();          }       });        const contextMenuVisible = ref(false);   function contextmenu() {    contextMenuVisible.value = true;       }        function click() {      contextMenuVisible.value = false;   }        return {        contextMenuVisible,    };    },
}); 

Copy

一个快速上手学习的示例

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

在 React 中使用

  1. 获取 @meta2d/core 等库
npm install @meta2d/core --save 
// Option 
npm install @meta2d/activity-diagram --save 
npm install @meta2d/chart-diagram --save 
npm install @meta2d/class-diagram --save 
npm install @meta2d/flow-diagram --save 
npm install @meta2d/fta-diagram --save 
npm install @meta2d/form-diagram --save 
npm install @meta2d/sequence-diagram --save 
npm install @meta2d/le5le-charts --save 
npm install @meta2d/svg --save 
  1. 编写 React jsx
import React, { useEffect } from "react"; 
import { Options, Meta2d } from "@meta2d/core"; 
import { flowPens } from "@meta2d/flow-diagram"; 
import { activityDiagram } from "@meta2d/activity-diagram"; 
import { classPens } from "@meta2d/class-diagram"; 
import { sequencePens, sequencePensbyCtx } from "@meta2d/sequence-diagram"; 
import { formPens } from "@meta2d/form-diagram"; 
const Meta2dContainer = () => {  useEffect(() => {    window.meta2d = new Meta2d("meta2d");   meta2d.register(flowPens());   meta2d.register(activityDiagram());   meta2d.register(classPens());  meta2d.register(sequencePens());     meta2d.registerCanvasDraw(sequencePensbyCtx()); meta2d.registerCanvasDraw(formPens());    // 打开文件     meta2d.open(json);  }, []);   return (    <div className="main">    <div className="meta2d" id="meta2d"></div>    </div>  ); 
}; 
export default Meta2dContainer; 

Copy

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

http://www.lryc.cn/news/389589.html

相关文章:

  • c#与倍福Plc通信
  • 【OceanBase诊断调优】—— 如何通过trace_id找到对应的执行节点IP
  • 鸿蒙开发Ability Kit(程序访问控制):【使用粘贴控件】
  • PL/SQL入门到实践
  • 双非本 985 硕,我马上要入职上海AI实验室大模型算法岗
  • C盘清理和管理
  • 晚上睡觉要不要关路由器?一语中的
  • ardupilot开发 --- 坐标变换 篇
  • git clone 别人项目后正确的修改和同步操作
  • JAVA连接FastGPT实现流式请求SSE效果
  • 二分查找1
  • 什么美业门店管理系统好用?2024美业收银系统软件排名分享
  • 【文件上传】
  • Golang 单引号、双引号和反引号的概念、用法以及区别
  • linux和mysql基础指令
  • JDK 为什么需要配置环境变量
  • ViewBinding的使用(因为kotlin-android-extensions插件的淘汰)
  • IOS Swift 从入门到精通:ios 连接数据库 安装 Firebase 和 Firestore
  • QT4-QT5(6)-const char* QString 乱码转换
  • 报错:RuntimeError_ cuDNN error_ CUDNN_STATUS_EXECUTION_FAILED
  • 黑马点评项目总结1-使用Session发送验证码和登录login和 使用Redis存储验证码和Redis的token登录
  • 【大模型】Vllm基础学习
  • 使用vue动态给同一个a标签添加内容 并给a标签设置hover,悬浮文字变色,结果鼠标悬浮有的字上面不变色
  • 【ajax实战06】进行文章发布
  • Codeforces Round 954 (Div. 3)(A~E)
  • 基于Java微信小程序同城家政服务系统设计和实现(源码+LW+调试文档+讲解等)
  • [21] Opencv_CUDA应用之使用Haar级联的对象检测
  • CXL:拯救NVMe SSD缓存不足设计难题-2
  • Opencv学习项目6——pyzbar
  • Switch 刷安卓11 (LineageOS 18.1) 大气层双系统图文教程