
实现 每个学生环境互相隔离、训练过程互不干扰,教师可 以一键操作即可创建一套全新的环境供学生进行备赛 训练,方便学生高效的完成训练操作的同时,大幅降 低了教师组织训练的难度和成本。
本系统运行在开源操作系统Linux平台下,应使用浏 览器/服务器模式提供服务,用户使用最新版本的谷歌 浏览器访问系统。系统支持包括管理员、教师、学生 三种角色。管理员负责系统配置维护、镜像环境维护 等 工 作 ;教师负责小组维护、训练任务维护等工作; 学生参与并完成训练。
1.管理员功能:
1.1专业管理:管理员可自主创建专业,编辑专业相 关内容,如:新增(编辑)专 业 ,删除专业。
1.2班级管理:管理员可自主创建班级,编辑班级相 关内容,如:新增(编辑)班级,删除班级。
1.3用户管理:管理员可自主创建用户,编辑用户相
关内 容 ,如:新增(编辑)用户的账号、姓名、手机
号、角色、状态、密码等,同时也可对用户进行删除 操作。
1.4镜像环境:管理员可维护镜像环境,可通过网页
上传Dockerfile文件来完成镜像环境的创建,也可从 本地镜像仓库进行镜像同步,并可对镜像环境执行编
辑和查看端口说明操作。
1.5环境配置:管理员依据镜像环境的具体应用场景通过添加环境配置来完善该镜像所需的CPU、内存、
磁盘空间等配置信息,并可对环境配置信息进行编辑
和删除。
★1.6服务器配置:管理员可配置计算节点服务器相 关信息,包括新增服务器名称、服务器IP地址、CPU 核数、内存大小、磁盘空间,也可对服务器配置信息
进行编辑和删除。(提供加盖制造商公章的功能截图证 明材料)
★1.7训练资源监控:管理员可监控正在进行的训练 资源,监控正在进行的训练状态、使用人数、占用资 源等信息,并可对相关的环境执行启动、挂起等操作。 (提供加盖制造商公章的功能截图证明材料)
1.8角色管理:管理员可自主创建角色,编辑角色相 关内容,如:添加(编辑)角色名称、角色备注(描
述 ) 、状 态 、权限分配(权限分配依据角色名称分配相 应权限)等,同时也可对角色进行删除操作。
1.9日志管理:管理员可查看当前系统操作日志和登 录日志。操作日志主要记录操作的账户、操作模块、 时间、IP等信息。登录日志主要记录登录的用户、IP 地 址 、登录状态等信 息 。
系统设置:可自定义系统名称,如浏览器标题、浏览 器LOGO、登录页标题、首页标题、首页LOGO等。
2.教师功能:
★2.1训练模块:教师可自主创建训练模块,编辑相 应的训练内容。内容包括训练的名称、介绍、使用状 态、该训练指定的一个或多个实训环境、可供下载的资源包、任务设置的具体形式包括上传任务说明、任
务参考等。(提供加盖制造商公章的功能截图证明材 料 )
2.2小组管理:教师可自主创建小组,并对小组进行 编 辑 、启用、禁用等操作。已启用的小组可以进行添
加成员、设置任务参考操 作 。在编辑具体小组时,通 过选择该小组所包含的成员,内容上选择所用到的训 练模块,完成小组的整体设置。
2.3训练监控:教师可查看各小组的训练情况,选择 启 动 、挂 起 、继续或结束训练环境。通过"进入"按 钮 ,可进入小组的某个环境进行指导操作,也可对小 组的某个训练环境执行启动、停止、重置或重启。
2.4训练报告:对已启用小组,记录每个小组中,学 生具体的训练情况,查阅学生提交上传的报告、附件 等信息,编辑每个学生对应的训练成绩。
2.5被测系统管理:可针对内置的"ERP(资源协同) 管理平台"被测系统进行Bug开关操作。
★2.6个人实验环境:教师可在个人实验环境中选择
镜像环境进行个人实验或练习等操作。(提供加盖制造
商公章的功能截图证明材料)
2.7消息通知:当学生完成训练报告的提交或附件上 传 时 ,教师会收到消息通知并可通过消息通知直接找
到训练报告或附件。
2.8个人资料:教师可修改个人头像及密码。
3.学生功能:
3.1学生登录平台,可进入对应的训练模块,在线查看任务说明、任务参考,并进入训练环境进行操作, 可在浏览器中访问自己的训练环境包括命令行形式的
或桌面形式的Linux操作系统,环境相关端口已映射, 可通过环境映射的相应宿主机端口访问环境中部署的 相应服务,也可对环境进行重置、重 启 、查看端口说 明 、上 传 、下载等操作,同时学生可以下载相关的资 源 文 件 ,提交个人的训练报告,上传相关附件完成训 练。
3.2个人中心:学生可修改个人头像及密码,也可查 看自己的训练记录。
三 、管理平台
系统角色及功能如下:
1.基础信息管理:基础信息管理包含商品信息、仓库 信息、客户信息、供应商信息,使用人为"系统管理 员",主要针对系统采购、库存、销售等业务功能所需
用到的基础信息进行管理。
商品信息-商品管理:该模块针对商品进行管理,确 定商品名称、分类、品牌、单位等 ,为后续业务模块 提供商品数据,包含新增、修改、启用、禁用、查询 功能。
商品信息-商品品牌:该模块针对商品的品牌进行管 理 ,为商品管理提供品牌选项,包含新增、修改、启 用 、禁用、查询功能。
商品信息-商品单位:该模块针对商品的单位进行管 理,为商品管理提供单位选项,包含新增、修改、启
用 、禁 用 、查询功能。商品信息-商品分类:该模块针对商品的分类进行管 理 ,为商品管理提供分类选项,包含新增、修改、启 用 、禁 用 、查询功能。
仓库信息:该模块针对仓库进行管理,确定仓库名 称 、仓库专员、联系电话、地址等,为后续业务模块 提供仓库数据,包含新增、修改、启用、禁用、查询 功能。
客户信息:该模块针对客户进行管理,确定客户名 称、联系人、联系电话、地址等,为后续业务模块提 供客户数据,包含新增、修改、查看、启用、禁用、
查询功能。
★供应商信息:该模块针对供应商进行管理,确定
供应商名称、联系人、联系电话、地址等,为后续业 务模块提供供应商数据,包含新增、修改、查看、启 用、禁用、查询功能。(提供加盖制造商公章的功能截
图证明材料)
2.采购管理:采购管理包含采购入库、采购退货,使 用人为"采购主管"、"采购专员",主要针对系统各种
采购进行管理,包括与与供应商及仓库之间的入库、 与供应商及仓库之间的退货等。
采购入库:该模块针对采购入库进行管理,确定采 购商品入库情况,包含新增、修改、查 看 、删除、提 交 、查询功能。
★采购退货:该模块针对采购退货进行管理,确定
商品退货情况,包含新增、修改、查看、删除、提交、 查询功能。(提供加盖制造商公章的功能截图证明材料 )
3.库存管理:库存管理包含入库审核、出库审核,使
用人为"仓库主管"、"仓库专员",主要针对系统各种
商品出入库进行管理。
出库审核:该模块针对出库审核进行管理,根据采 购、销售中涉及到商品出库的单据进行审核,包含查 看、审核、查询功能。
入库审核:该模块针对入库审核进行管理,根据采 购 、销售中涉及到商品入库的单据进行审核,包含查 看、审核、查询功能。
4.销售管理:销售管理包含销售出库、销售退货,使
用人为"销售主管"、"销售专员",主要针对系统各种 销售进行管理,包括与客户及仓库之间的出库、与客
户及仓库之间的退货等。
销售出库:该模块针对销售出库进行管理,确定销 售商品出库情况,包含新增、修改、查看、删除、提 交、查询功能。
销售退货:该模块针对销售退货进行管理,确定商 品退货情况,包含新增、修改、查看、删除、提交、 查询功能。
系统教学资源覆盖技术如下:
相关工具搭建;
测试文档设计;
单元测试;
接口 测 试 ;
功能测试;自动化测试;
性能测试。
具体教学资源类型如下:
基础资源:相关文档(需求说明书、测试用例、Bug 清单等文档)、相关模板(需求分析、测试计划、测试
报告、测试用例、Bug清单等模板)、相关环境(通用
环境、测试管理、单元测试、接口测试、自动化测试、
性能测试等安装包)。
任务资源:任务实训指导书(文档)、任务实训指导
书答案(文档)等,覆盖工具搭建、文档设计、单元
测试、接口测试、功能测试、自动化测试、性能测试
等。
知识资源:知识点实训指导书(文档)、知识点实训指
导书答案(文档)、知识点演示讲解(视频),覆盖单
元测试、接口测试、功能测试、自动化测试、性能测
试等。
软件参数:
软件平台功能如下:
1、孪生教育基础底座,负责所有教育教学资源的调度 和管理,通过底层服务系统完成多个教学系统之间的 调度使用;中层为多个教学服务系统,包括为孪生场 景提供对应的课程学习资源、提供渲染服务、视频融合服务、数据服务等多种服务。最上层为API教学系 统,提供渲染接口、API接口、数据接口等能力。
2、课程资源管理系统,提供对数字孪生项目所需要的 所有资源的统一管理,包括GIS数据、3D模型、建筑 模 型 、视频面片数据、POI数据、图片数据、图标数 据 、特效库等数据类型。
3、针对教育教学场景多终端的模式,使用师生授权管
理系统完成账户权限的划分和管理,最终形成教师端 对学生端的教学管理,最终完成不同账户间的权限划
分和管理。
4、孪生场景搭建教学系统,基于中心教学服务系统的 数据资源搭建三维场景,用户可以通过鼠标拖拽即可 以完成整个场景的搭建工作。用户可以使用GIS数据、 建筑模型、视频面片、数据面片、模型库、特效、POI、 标绘、路径、高 亮 、轮廓等数据类型进行场景构建。
5、开发实训系统,用于将搭建好的三维场景进行业务
属性的赋予和开发,让场景满足业务需求。
6、API接口教学管理系统,负责面向师生提供所见即 所得的API调试体验,可以帮助教师和学生快速学习、 理解所有API能力。调用某种API接口的同时即可以
在三维场景中看到相应的变化,实时响应。
7、中心教学服务系统,负责整个实训平台的资源调度 和后台开发支持。
8、在线考试管理系统。包括试题库管理:教师可以在 系统中创建和管理数字孪生试题库,包括选择题、填 空 题 、问答题等不同类型的题目。在线考试:考生可以通过网络进行在线考试,系统会根据设定的规则自 动判卷,节省了教师的时间和精力。实时监控:在线 考试系统具有监控考生活动的功能,可以检测作弊行
为 ,保证考试的公平性和合规性。
参数要求:
★支持16路1080P视频与三维地理信息场景同时融合 显示
★支持遥感影像加载和显示
★支持DEM模型加载和显示
★支持电子地图加载和显示
★360°多视角实时场景浏览,支持倾斜和旋转
★支持飞行浏览和轨迹漫游浏览
★支持三维电子放大功能,实现对实时和回放视频的 放大和缩小显示
★支持多种传感设备空间综合,多源传感数据空间化
管理和业务关联
★能够实现浏览、漫游、飞 行 、放 大 、缩小、改变相 机视角、第一人称等基本三维浏览功能操作
· 支持1教师端和50个学生端同时上课使用实训平台 进行上课教学
· 永久化私有部署,一次购买后可继续进行软件平台 的使用
★能够实现二三维联动,将三维场景中的对象在二维 地图中同步显示,并且三维所有的操作(旋转、缩 放 、 平移)都会与二维实时同步
★能够模拟晴天、下 雨 、下雪、多云、白天、黑夜等不同天气场景效果
★能够实现多种类的数据融合,包含影像数据、三维 模型数据、实景模型数据、矢量图层数据及业务图层 数据的融合
★能够实现多种类物联网设备的接入和应用
★能够实现4TB以上倾斜摄影数据加载和显示,遥感 影像加载和显示操作正常、DEM模型加载和显示操作
正常、电子地图加载和显示操作正常
★能够将通过视频融合算法处理的实时监控视频与三 维地理空间场景融合,可将分散的视频与三维空间场 景融合应用操作
·支持理论和实践相结合的教学实训方式,支持理论 课程的在线练习和在线考试
· 支持使用专业服务器或者是笔记本登录进行教学实 训,满足各种场景场合下的数字孪生实训学习
· 满足学校数据资产沉淀,所有数据支持沉淀到校园
的资源服务器
·实训平台软件及系列配套工具包括孪生教育基础底 座、课程资源管理系统、师生授权管理系统、孪生场 景搭建教学系统、API接口教学管理系统、在线考试 管理系统。教学素材均提供项目脱敏后的实践场景, 助力数字孪生理论+实践的融合创新
· 平台应用范围覆盖孪生教学的始终,学生对数字孪 生教学的多个阶段均支持,包括需求对接、场景搭建、 应用开发多个阶段★能够实现多路连续拼接融合、场景断续融合、室内 嵌入式融合,出入口低点融合、高点下沉式融合、单 点式融合、广告牌式融合、室内分层融合、无人机融 合矩阵融合、拼缝融合、平行融合、多行融合、不规 则融合、环形融合、鱼眼融合、十字形融合、V型融
合投射融合、全景融合等多和视频融合方式
★能够实现地表距离、空间距离、投影距离、地表面 积、空间面积、投影面积、垂直高度、两点高差、方 位测量、角度测量、坡度测量等测量类操作
★能够实现通视分析、视域分析、淹没分析、剖面分 析 、填挖分析、等高分析等分析类操作
·低代码操作,学生通过简单的代码知识即可以完成 复杂数字孪生应用的开发
· 全开放工具链,教学工具链全开放供教师学生教学 使用
· 重实践,提供真实脱敏项目的实际案例,通过实际
案例进行实训教学。
· 中国心,纯国产自研数字孪生平台,拥有完全的自 主知识产权,适配各种国产软硬件设备。
· 数字孪生+视频,独有的视频孪生能力教育实训能力 打造实时实景的三维的教学场景和实训
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法[1](#甘特图的mermaid语法1) 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.
javascript
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
| 项目 | Value |
|---|---|
| 电脑 | $1600 |
| 手机 | $12 |
| 导管 | $1 |
设定内容居中、居左、居右
使用:---------:居中
使用:----------居左
使用----------:居右
| 第一列 | 第二列 | 第三列 |
|---|---|---|
| 第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants 是一个文本转换工具,主要功能是将普通的 ASCII 标点符号自动转换为更美观的印刷体标点符号。例如:
| 原始符号 | 转换后 | 说明 |
|---|---|---|
"引号" |
"引号" | 直引号变弯引号 |
'单引号' |
'单引号' | 直单引号变弯单引号 |
-- |
-- | 两个连字符变短破折号 |
--- |
--- | 三个连字符变长破折号 |
... |
... | 三个点变省略号 |
创建一个自定义列表
:
Text-to- conversion tool
: John
: Luke
如何创建一个注脚
一个具有注脚的文本。[2](#2)
注释也是必不可少的
Markdown将文本转换为 。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
#mermaid-svg-j87yK7dcEs5nBsN6{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-j87yK7dcEs5nBsN6 .error-icon{fill:#552222;}#mermaid-svg-j87yK7dcEs5nBsN6 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-j87yK7dcEs5nBsN6 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-j87yK7dcEs5nBsN6 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-j87yK7dcEs5nBsN6 .marker.cross{stroke:#333333;}#mermaid-svg-j87yK7dcEs5nBsN6 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-j87yK7dcEs5nBsN6 p{margin:0;}#mermaid-svg-j87yK7dcEs5nBsN6 .mermaid-main-font{font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-j87yK7dcEs5nBsN6 .exclude-range{fill:#eeeeee;}#mermaid-svg-j87yK7dcEs5nBsN6 .section{stroke:none;opacity:0.2;}#mermaid-svg-j87yK7dcEs5nBsN6 .section0{fill:rgba(102, 102, 255, 0.49);}#mermaid-svg-j87yK7dcEs5nBsN6 .section2{fill:#fff400;}#mermaid-svg-j87yK7dcEs5nBsN6 .section1,#mermaid-svg-j87yK7dcEs5nBsN6 .section3{fill:white;opacity:0.2;}#mermaid-svg-j87yK7dcEs5nBsN6 .sectionTitle0{fill:#333;}#mermaid-svg-j87yK7dcEs5nBsN6 .sectionTitle1{fill:#333;}#mermaid-svg-j87yK7dcEs5nBsN6 .sectionTitle2{fill:#333;}#mermaid-svg-j87yK7dcEs5nBsN6 .sectionTitle3{fill:#333;}#mermaid-svg-j87yK7dcEs5nBsN6 .sectionTitle{text-anchor:start;font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-j87yK7dcEs5nBsN6 .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid-svg-j87yK7dcEs5nBsN6 .grid .tick text{font-family:"trebuchet ms",verdana,arial,sans-serif;fill:#333;}#mermaid-svg-j87yK7dcEs5nBsN6 .grid path{stroke-width:0;}#mermaid-svg-j87yK7dcEs5nBsN6 .today{fill:none;stroke:red;stroke-width:2px;}#mermaid-svg-j87yK7dcEs5nBsN6 .task{stroke-width:2;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskText{text-anchor:middle;font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutsideRight{fill:black;text-anchor:start;font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutsideLeft{fill:black;text-anchor:end;}#mermaid-svg-j87yK7dcEs5nBsN6 .task.clickable{cursor:pointer;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskText0,#mermaid-svg-j87yK7dcEs5nBsN6 .taskText1,#mermaid-svg-j87yK7dcEs5nBsN6 .taskText2,#mermaid-svg-j87yK7dcEs5nBsN6 .taskText3{fill:white;}#mermaid-svg-j87yK7dcEs5nBsN6 .task0,#mermaid-svg-j87yK7dcEs5nBsN6 .task1,#mermaid-svg-j87yK7dcEs5nBsN6 .task2,#mermaid-svg-j87yK7dcEs5nBsN6 .task3{fill:#8a90dd;stroke:#534fbc;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutside0,#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutside2{fill:black;}#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutside1,#mermaid-svg-j87yK7dcEs5nBsN6 .taskTextOutside3{fill:black;}#mermaid-svg-j87yK7dcEs5nBsN6 .active0,#mermaid-svg-j87yK7dcEs5nBsN6 .active1,#mermaid-svg-j87yK7dcEs5nBsN6 .active2,#mermaid-svg-j87yK7dcEs5nBsN6 .active3{fill:#bfc7ff;stroke:#534fbc;}#mermaid-svg-j87yK7dcEs5nBsN6 .activeText0,#mermaid-svg-j87yK7dcEs5nBsN6 .activeText1,#mermaid-svg-j87yK7dcEs5nBsN6 .activeText2,#mermaid-svg-j87yK7dcEs5nBsN6 .activeText3{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .done0,#mermaid-svg-j87yK7dcEs5nBsN6 .done1,#mermaid-svg-j87yK7dcEs5nBsN6 .done2,#mermaid-svg-j87yK7dcEs5nBsN6 .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid-svg-j87yK7dcEs5nBsN6 .doneText0,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText1,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText2,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText3{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .doneText0.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText0.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText1.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText1.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText2.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText2.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText3.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneText3.taskTextOutsideRight{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .crit0,#mermaid-svg-j87yK7dcEs5nBsN6 .crit1,#mermaid-svg-j87yK7dcEs5nBsN6 .crit2,#mermaid-svg-j87yK7dcEs5nBsN6 .crit3{stroke:#ff8888;fill:red;stroke-width:2;}#mermaid-svg-j87yK7dcEs5nBsN6 .activeCrit0,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCrit1,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCrit2,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCrit3{stroke:#ff8888;fill:#bfc7ff;stroke-width:2;}#mermaid-svg-j87yK7dcEs5nBsN6 .doneCrit0,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCrit1,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCrit2,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCrit3{stroke:#ff8888;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid-svg-j87yK7dcEs5nBsN6 .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid-svg-j87yK7dcEs5nBsN6 .milestoneText{font-style:italic;}#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText0,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText1,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText2,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText3{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText0.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText0.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText1.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText1.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText2.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText2.taskTextOutsideRight,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText3.taskTextOutsideLeft,#mermaid-svg-j87yK7dcEs5nBsN6 .doneCritText3.taskTextOutsideRight{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .vert{stroke:navy;}#mermaid-svg-j87yK7dcEs5nBsN6 .vertText{font-size:15px;text-anchor:middle;fill:navy!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .activeCritText0,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCritText1,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCritText2,#mermaid-svg-j87yK7dcEs5nBsN6 .activeCritText3{fill:black!important;}#mermaid-svg-j87yK7dcEs5nBsN6 .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-svg-j87yK7dcEs5nBsN6 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 2014-01-07 2014-01-09 2014-01-11 2014-01-13 2014-01-15 2014-01-17 2014-01-19 2014-01-21 已完成 进行中 计划一 计划二 现有任务 Adding GANTT diagram functionality to mermaid
- 关于 甘特图 语法,参考 这儿,
UML图表
可以使用UML图表进行渲染,例如下面产生的一个序列图:
王五 李四 张三 王五 李四 张三 #mermaid-svg-7YaIarhpplxWEFPB{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-7YaIarhpplxWEFPB .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-7YaIarhpplxWEFPB .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-7YaIarhpplxWEFPB .error-icon{fill:#552222;}#mermaid-svg-7YaIarhpplxWEFPB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-7YaIarhpplxWEFPB .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-7YaIarhpplxWEFPB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-7YaIarhpplxWEFPB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-7YaIarhpplxWEFPB .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-7YaIarhpplxWEFPB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-7YaIarhpplxWEFPB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-7YaIarhpplxWEFPB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-7YaIarhpplxWEFPB .marker.cross{stroke:#333333;}#mermaid-svg-7YaIarhpplxWEFPB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-7YaIarhpplxWEFPB p{margin:0;}#mermaid-svg-7YaIarhpplxWEFPB .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-7YaIarhpplxWEFPB text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-7YaIarhpplxWEFPB .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-7YaIarhpplxWEFPB .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-7YaIarhpplxWEFPB .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-7YaIarhpplxWEFPB .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-7YaIarhpplxWEFPB #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-7YaIarhpplxWEFPB .sequenceNumber{fill:white;}#mermaid-svg-7YaIarhpplxWEFPB #sequencenumber{fill:#333;}#mermaid-svg-7YaIarhpplxWEFPB #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-7YaIarhpplxWEFPB .messageText{fill:#333;stroke:none;}#mermaid-svg-7YaIarhpplxWEFPB .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-7YaIarhpplxWEFPB .labelText,#mermaid-svg-7YaIarhpplxWEFPB .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-7YaIarhpplxWEFPB .loopText,#mermaid-svg-7YaIarhpplxWEFPB .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-7YaIarhpplxWEFPB .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-7YaIarhpplxWEFPB .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-7YaIarhpplxWEFPB .noteText,#mermaid-svg-7YaIarhpplxWEFPB .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-7YaIarhpplxWEFPB .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-7YaIarhpplxWEFPB .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-7YaIarhpplxWEFPB .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-7YaIarhpplxWEFPB .actorPopupMenu{position:absolute;}#mermaid-svg-7YaIarhpplxWEFPB .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-7YaIarhpplxWEFPB .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-7YaIarhpplxWEFPB .actor-man circle,#mermaid-svg-7YaIarhpplxWEFPB line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-7YaIarhpplxWEFPB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 李四想了很长时间, 文字太长了 不适合放在一行. 你好!李四, 最近怎么样? 你最近怎么样,王五? 我很好,谢谢! 我很好,谢谢! 打量着王五... 很好... 王五, 你怎么样?
- 关于 UML图表 语法,参考 这儿,
流程图
#mermaid-svg-lMs1qwUmrspnLLuw{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-lMs1qwUmrspnLLuw .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-lMs1qwUmrspnLLuw .error-icon{fill:#552222;}#mermaid-svg-lMs1qwUmrspnLLuw .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lMs1qwUmrspnLLuw .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lMs1qwUmrspnLLuw .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lMs1qwUmrspnLLuw .marker.cross{stroke:#333333;}#mermaid-svg-lMs1qwUmrspnLLuw svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lMs1qwUmrspnLLuw p{margin:0;}#mermaid-svg-lMs1qwUmrspnLLuw .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-lMs1qwUmrspnLLuw .cluster-label text{fill:#333;}#mermaid-svg-lMs1qwUmrspnLLuw .cluster-label span{color:#333;}#mermaid-svg-lMs1qwUmrspnLLuw .cluster-label span p{background-color:transparent;}#mermaid-svg-lMs1qwUmrspnLLuw .label text,#mermaid-svg-lMs1qwUmrspnLLuw span{fill:#333;color:#333;}#mermaid-svg-lMs1qwUmrspnLLuw .node rect,#mermaid-svg-lMs1qwUmrspnLLuw .node circle,#mermaid-svg-lMs1qwUmrspnLLuw .node ellipse,#mermaid-svg-lMs1qwUmrspnLLuw .node polygon,#mermaid-svg-lMs1qwUmrspnLLuw .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-lMs1qwUmrspnLLuw .rough-node .label text,#mermaid-svg-lMs1qwUmrspnLLuw .node .label text,#mermaid-svg-lMs1qwUmrspnLLuw .image-shape .label,#mermaid-svg-lMs1qwUmrspnLLuw .icon-shape .label{text-anchor:middle;}#mermaid-svg-lMs1qwUmrspnLLuw .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-lMs1qwUmrspnLLuw .rough-node .label,#mermaid-svg-lMs1qwUmrspnLLuw .node .label,#mermaid-svg-lMs1qwUmrspnLLuw .image-shape .label,#mermaid-svg-lMs1qwUmrspnLLuw .icon-shape .label{text-align:center;}#mermaid-svg-lMs1qwUmrspnLLuw .node.clickable{cursor:pointer;}#mermaid-svg-lMs1qwUmrspnLLuw .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-lMs1qwUmrspnLLuw .arrowheadPath{fill:#333333;}#mermaid-svg-lMs1qwUmrspnLLuw .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-lMs1qwUmrspnLLuw .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-lMs1qwUmrspnLLuw .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lMs1qwUmrspnLLuw .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-lMs1qwUmrspnLLuw .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lMs1qwUmrspnLLuw .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-lMs1qwUmrspnLLuw .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-lMs1qwUmrspnLLuw .cluster text{fill:#333;}#mermaid-svg-lMs1qwUmrspnLLuw .cluster span{color:#333;}#mermaid-svg-lMs1qwUmrspnLLuw div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-lMs1qwUmrspnLLuw .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-lMs1qwUmrspnLLuw rect.text{fill:none;stroke-width:0;}#mermaid-svg-lMs1qwUmrspnLLuw .icon-shape,#mermaid-svg-lMs1qwUmrspnLLuw .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-lMs1qwUmrspnLLuw .icon-shape p,#mermaid-svg-lMs1qwUmrspnLLuw .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-lMs1qwUmrspnLLuw .icon-shape .label rect,#mermaid-svg-lMs1qwUmrspnLLuw .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-lMs1qwUmrspnLLuw .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-lMs1qwUmrspnLLuw .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-lMs1qwUmrspnLLuw :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 链接
长方形
圆
圆角长方形
菱形
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart.js的流程图语法:
Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
-
注脚的解释 ↩︎
*[HTML]: 超文本标记语言