文章目录

    • 背景
    • Mermaid
    • 使用 AI 编写 Mermaid
    • 应用

背景

  • 在 markdown 文档中虽然可以插入图片,但是也需要管理图片,一旦图片位置变了,文档中的图片就无法显示。
  • 图片占用空间较大,对于在线文档,为了加载速度,能不使用图片就不使用。
  • Mermaid 流程图是一个非常好的工具,基于文本快速绘制各种图表(如流程图、时序图、甘特图等)。
  • 人工手动编写 Mermaid 有点小繁琐,但是借用 AI 之力,绘制流程图效率非常高。

Mermaid

Mermaid 是一种基于文本的图表生成工具,可以通过简单的语法快速绘制各种图表(如流程图、时序图、甘特图等)。它易于编写、可嵌入 Markdown,并支持实时渲染,非常适合文档编写和技术绘图。

Mermaid 流程图核心特点

  1. 简单直观
    • 使用纯文本描述,语法类似自然语言。
    • 无需图形界面,直接嵌入代码即可生成图表。
  2. 常用图表支持
    • 流程图(Flowchart):描述步骤和决策逻辑。
    • 时序图(Sequence Diagram):展示交互时序(如支付流程例子)。
    • 其他:类图、状态图、甘特图等。
  3. 跨平台兼容
    • 支持 GitHub、GitLab、VS Code、Obsidian 等平台的 Markdown 渲染。

为什么用 Mermaid?

  • 效率高:改代码比拖拽图形更快。
  • 版本友好:文本格式便于 Git 管理。
  • 轻量化:无需依赖复杂工具(如 Visio)。

使用 AI 编写 Mermaid

很早就了解过 Mermaid,但是由于都需要自己手动编写文本,还是有些繁琐和困难,而且往往自己编写的效果不如自己想象的那么好。

借助 AI,将现有的图片格式的流程图丢给 AI 工具,让它根据图片生成 Mermaid 流程图,或者我描述流程内容,让它生成流程图,大大节省了时间和精力。

目前用来生成 Mermaid 的 AI 工具有:Claude、Gemini、Grok、Deepseek、Chatgpt,为啥要用这么多呢?

同样的一张流程图,丢给不同的 AI 工具,生成的 Mermaid 图,往往不一样,特别是流程稍微复杂一点。

于是我集众多 AI 工具之力,第一版先得到一个预期结构符合的结果,将这个结果,也就是生成的 Mermaid 文本,分别再输入给 AI 工具,不断优化和调整局部。

在这里插入图片描述

应用

下面是3张 AI 生成的 Mermaid 流程图(非图片格式):

下单支付流程

用户 前端 服务端 微信后端 1.创建订单 2.提交订单 3.支付下单 4.返回支付二维码地址 5.前端轮询查询订单状态 6.前端将支付二维码地址转为二维码图形 7.用户扫码 7.用户发起支付 8.商城回调接口 9.服务器接收并更新订单信息状态 二维码包含商户信息、订单信息以及商城回调地址 用户 前端 服务端 微信后端

对应的 mermaid 文本:

sequenceDiagramparticipant 用户participant 前端participant 服务端participant 微信后端前端->>服务端: 1.创建订单前端->>服务端: 2.提交订单前端->>服务端: 3.支付下单服务端-->>前端: 4.返回支付二维码地址前端->>服务端: 5.前端轮询查询订单状态前端->>前端: 6.前端将支付二维码地址转为二维码图形用户->>前端: 7.用户扫码用户->>微信后端: 7.用户发起支付微信后端->>服务端: 8.商城回调接口服务端->>服务端: 9.服务器接收并更新订单信息状态Note over 前端: 二维码包含商户信息、订单信息以及商城回调地址

token鉴权

用户 客户端 服务器 输入用户名和密码 发送登录请求 (用户名, 密码) 返回 Token (包含身份信息和有效期) Token 是加密字符串 包含用户身份信息 服务器不存储状态 存储 Token (如 LocalStorage) 发起操作请求 发送请求 (Header: Authorization: Bearer Token) 验证 Token (解密, 检查有效期) 无需查数据库 直接验证 Token 返回操作结果 用户 客户端 服务器

对应的文本:

sequenceDiagramparticipant 用户participant 客户端participant 服务器用户->>客户端: 输入用户名和密码客户端->>服务器: 发送登录请求 (用户名, 密码)服务器-->>客户端: 返回 Token (包含身份信息和有效期)Note right of 服务器: Token 是加密字符串<br>包含用户身份信息<br>服务器不存储状态客户端->>客户端: 存储 Token (如 LocalStorage)用户->>客户端: 发起操作请求客户端->>服务器: 发送请求 (Header: Authorization: Bearer Token)服务器->>服务器: 验证 Token (解密, 检查有效期)Note right of 服务器: 无需查数据库<br>直接验证 Token服务器-->>客户端: 返回操作结果

Cookie+Session鉴权

用户 客户端 服务器 输入用户名和密码 发送登录请求 (用户名, 密码) 生成 Session ID, 存储 Session 数据 Session 数据存储在服务器 如内存或数据库 返回 Cookie (包含 Session ID) 浏览器自动存储 Cookie 发起操作请求 发送请求 (自动携带 Cookie: Session ID) 根据 Session ID 查询 Session 数据 需查数据库或内存 验证 Session 有效性 返回操作结果 用户 客户端 服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88499.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88499.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88499.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定位坐标系深度研究报告

一、引言 定位坐标系是用于描述地理位置的数学工具&#xff0c;其发展与人类对地球形状的认知和技术需求密切相关。早期的定位依赖于天文观测&#xff08;如经纬度&#xff09;&#xff0c;现代则结合卫星技术&#xff08;如GPS&#xff09;和数学投影方法&#xff08;如墨卡托…

数字孪生技术引领UI前端设计潮流:沉浸式体验的新篇章

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 当虚拟世界与物理现实的边界逐渐模糊&#xff0c;数字孪生技术正以燎原之势重构 UI 前端设计的…

VR油库虚拟仿真系统:开启智慧油库新时代

在科技快速发展的当下&#xff0c;VR 技术在多行业广泛应用&#xff0c;以沉浸式等特点重塑行业模式。油库作为石油储存与转运关键枢纽&#xff0c;传统运营管理依赖人工经验和常规设备&#xff0c;存在安全风险高、培训成本大等问题。在此背景下&#xff0c;油库引入 VR 虚拟仿…

Oracle获取前100条记录

在Oracle数据库中&#xff0c;获取前100条记录可以通过多种方式实现&#xff0c;最常见的方法是使用ROWNUM或者在较新版本的Oracle中使用FETCH FIRST子句。以下是几种常见的方法&#xff1a; 方法1&#xff1a;使用ROWNUM ROWNUM是Oracle特有的一个伪列&#xff0c;用于为结果…

【开源库 | libpng】使用 libpng 读写 png 文件详细教程(附带源码)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

Nuttx之nxsched_add_readytorun(non-SMP)

声明&#xff1a;此处代码分析&#xff0c;来源与 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一图镇楼。 /***************************************************************************** Name: nxsched_add_readytorun** Description:* This function adds a TCB …

Nuttx之nxsched_add_blocked

声明&#xff1a;此处代码分析&#xff0c;来源与 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一图镇楼。 /***************************************************************************** Name: nxsched_add_blocked** Description:* This function adds a TCB to o…

python 包含虚拟环境venv项目的移动

python 包含虚拟环境venv项目的移动 在ubuntu环境下&#xff0c;移动一个包含venv虚拟环境的项目后&#xff0c;在执行时会报错: 错误1&#xff1a; Traceback (most recent call last):File "app.py", line 2, in <module>from flask import Flask, request…

WPF中实现TreeView的SelectedItem双向绑定到ViewModel

WPF中实现TreeView的SelectedItem双向绑定到ViewModel WPF中实现TreeView的SelectedItem双向绑定到ViewModel问题背景解决方案一&#xff1a;附加行为&#xff08;推荐&#xff09;实现步骤优点 解决方案二&#xff1a;通过IsSelected属性绑定实现步骤注意事项 两种方案对比补充…

类型转换运算符重载

C 类型转换函数详解 类型转换函数是C中用于实现类类型与其他类型之间相互转换的特殊成员函数&#xff0c;分为两种主要形式&#xff1a;转换构造函数和类型转换运算符。 1. 转换构造函数 (Conversion Constructor) 基本概念 转换构造函数是一种特殊的构造函数&#xff0c;它…

ES10(ES2019)新特性整理

一、Array.prototype.flat() 和 flatMap()&#xff08;数组扁平化&#xff09; &#xff08;1&#xff09;flat(depth) 将嵌套数组“拉平”到指定深度&#xff08;默认 depth1&#xff09;。 const arr [1, [2, [3]]]; arr.flat(); // [1, 2, [3]]&#xff08;默认深度 …

基于 LCD1602 的超声波测距仪设计与实现:从原理到应用

具体材料可在主页资源里下载 超声波测距技术作为非接触式测量的重要手段&#xff0c;在工业检测、智能家居、机器人避障等领域有着广泛应用。本文将详细介绍一款基于 STC89C51 单片机与 LCD1602 显示屏的超声波测距系统&#xff0c;从硬件架构到软件实现&#xff0c;完整呈现一…

2.5G/5G/10G自协商An

IEEE 802.3 协议中&#xff0c;**2.5GBASE-T、5GBASE-T 和 10GBASE-T** 的链路自协商&#xff08;auto-negotiation&#xff0c;简称 AN&#xff09;是在物理层&#xff08;PHY&#xff09;完成的。它的作用是&#xff1a; * **让连接双方&#xff08;主机和对端&#xff09;自…

闲庭信步使用SV搭建图像测试平台:第五课——使用task

&#xff08;本系列只需要modelsim即可完成数字图像的处理&#xff0c;每个工程都搭建了全自动化的仿真环境&#xff0c;只需要双击top_tb.bat文件就可以完成整个的仿真&#xff0c;大大降低了初学者的门槛&#xff01;&#xff01;&#xff01;&#xff01;如需要该系列的工程…

Android数据库GreenDao的使用

简介 GreenDao 是一个轻量级的对象关系映射&#xff08;ORM&#xff09;库&#xff0c;用于简化 Android 应用中的数据库操作。它提供了以下主要功能&#xff1a; 简化数据库操作&#xff1a;通过注解定义实体类&#xff0c;GreenDao 自动生成 DAO&#xff08;数据访问对象&a…

24小时留言板

title: 24小时留言板 date: 2025-06-25 23:32:53 tags: 代码工具 24小时留言板 核心效果如图所示 代码解析 # TodoController 代码解析## 整体架构 这是一个基于Spring WebFlux的响应式控制器&#xff0c;结合Redis发布\订阅机制实现实时更新的待办事项系统。关键组件包括&a…

深入理解Redis整数集合(intset)的升级策略:内存优化的核心魔法

引言 作为Redis中最节省内存的数据结构之一&#xff0c;整数集合&#xff08;intset&#xff09; 专门用于高效存储整型数据。但你可能不知道&#xff0c;它背后藏着一个精妙的「动态升级」机制——能在不浪费内存的前提下&#xff0c;灵活适配不同大小的整数。今天我们就来扒…

高性能计算(HPC)集群和工作流:intel-oneapi-hpc-toolkit安装与使用

成功安装了 Intel oneAPI HPC Toolkit&#xff01;这个工具包包含了很多强大的工具&#xff0c;可以帮助你优化和加速高性能计算&#xff08;HPC&#xff09;任务&#xff0c;特别是在使用 Intel 的硬件&#xff08;如 Xeon 处理器和 GPU&#xff09;时。 接下来&#xff0c;…

QT vscode cmake 编译 undefined reference to `vtable for 问题解决

编译时出现undefined reference to vtable for 问题&#xff0c;是没有添加头文件到目标&#xff0c;添加即可&#xff1a; 如果使用的是qt5, 没有qt_add_executable, 使用qt 5的 自动处理即可&#xff1a; # 启用 Qt 自动处理功能 set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC …

linux内核奔溃转储之kexec、kdump

一、kexec是什么&#xff1f; kexec 是 Linux 内核提供的一种关键技术&#xff0c;允许系统‌在不经过完整硬件重启&#xff08;BIOS/UEFI 初始化&#xff09;的情况下&#xff0c;直接从当前正在运行的内核加载并启动另一个新内核‌。以下是其核心要点&#xff1a; ‌定义与核…