{"id":10552,"date":"2026-07-09T16:42:16","date_gmt":"2026-07-09T08:42:16","guid":{"rendered":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/"},"modified":"2026-07-09T18:04:06","modified_gmt":"2026-07-09T10:04:06","slug":"beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling","status":"publish","type":"post","link":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/","title":{"rendered":"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b"},"content":{"rendered":"<h2 data-nodeid=\"28691\">\u6587\u4ef6\u5371\u6a5f<\/h2>\n<p data-nodeid=\"28692\">\u6bcf\u500b\u5de5\u7a0b\u5718\u968a\u90fd\u6df1\u77e5\u9019\u7a2e\u75db\u82e6\u3002\u4f60\u82b1\u8cbb\u6578\u9031\u6642\u9593\u8a2d\u8a08\u512a\u96c5\u7684\u5fae\u670d\u52d9\u67b6\u69cb\uff0c\u7cbe\u5fc3\u7de8\u7e6a\u80fd\u4ee4\u5229\u5bb3\u95dc\u4fc2\u4eba\u8b9a\u5606\u7684 Visio \u5716\u8868\u3002\u516d\u500b\u6708\u5f8c\uff0c\u7cfb\u7d71\u5df2\u7d93\u6f14\u9032\u2014\u2014\u65b0\u589e\u4e86\u65b0\u670d\u52d9\u3001\u9077\u79fb\u4e86\u8cc7\u6599\u5eab\u3001\u68c4\u7528\u4e86 API \u7aef\u9ede\uff0c\u4f46\u5716\u8868\u537b\u51dd\u56fa\u5728\u904e\u53bb\u3002\u5b83\u5df2\u6210\u907a\u7269\uff0c\u751a\u81f3\u662f\u4e00\u7a2e\u8b0a\u8a00\u3002<\/p>\n<p data-nodeid=\"28693\">\u9019\u5c31\u662f\u300c\u6587\u4ef6\u8150\u8755\u300d\uff0c\u5b83\u662f\u5de5\u7a0b\u751f\u7522\u529b\u7684\u7121\u8072\u6bba\u624b\u3002\u7576\u5716\u8868\u5931\u771f\uff0c\u958b\u767c\u8005\u4fbf\u6703\u5ffd\u8996\u5b83\u5011\uff1b\u7576\u958b\u767c\u8005\u5ffd\u8996\u6587\u4ef6\uff0c\u90e8\u843d\u77e5\u8b58\u4fbf\u6703\u53d6\u800c\u4ee3\u4e4b\uff1b\u7576\u552f\u4e00\u4e86\u89e3\u7cfb\u7d71\u7684\u4eba\u96e2\u8077\uff0c\u4f60\u4fbf\u53ea\u5269\u4e0b\u4e00\u5957\u8907\u96dc\u7684\u7a0b\u5f0f\u78bc\u5eab\uff0c\u537b\u6beb\u7121\u5730\u5716\u6307\u5f15\u3002<\/p>\n<p data-nodeid=\"28694\"><strong data-nodeid=\"28864\">\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\uff08DaC\uff09<\/strong>\u662f\u89e3\u6c7a\u65b9\u6848\u3002\u800c\u5176\u6838\u5fc3\u6b63\u662f<strong data-nodeid=\"28865\">Mermaid<\/strong>\uff0c\u9019\u662f\u4e00\u6b3e\u57fa\u65bc JavaScript \u7684\u5716\u5f62\u5de5\u5177\uff0c\u80fd\u5c07\u7d14\u6587\u5b57\u8f49\u5316\u70ba\u7cbe\u7f8e\u7684\u8996\u89ba\u5716\u8868\u3002<\/p>\n<p id=\"TeQLNvu\"><img alt=\"\u5716\u8868\u5373\u7a0b\u5f0f\u78bc\uff08DaC\uff09\uff1a\u89e3\u6c7a\u6587\u4ef6\u5371\u6a5f\" class=\"alignnone wp-image-25239 size-full\" decoding=\"async\" height=\"572\" loading=\"lazy\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png 1024w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810-300x168.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810-768x429.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810-150x84.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810-400x223.png 400w\" width=\"1024\"\/><\/p>\n<hr data-nodeid=\"28695\"\/>\n<h2 data-nodeid=\"28696\">\u6838\u5fc3\u7406\u5ff5\uff1a\u5c07\u5716\u5f62\u8996\u70ba\u8edf\u9ad4<\/h2>\n<p data-nodeid=\"28697\">\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6839\u672c\u8f49\u8b8a\u5728\u65bc\uff0c\u4ee5\u8207\u61c9\u7528\u7a0b\u5f0f\u7a0b\u5f0f\u78bc\u76f8\u540c\u7684\u56b4\u8b39\u5ea6\u4f86\u8655\u7406\u5716\u5f62\u3002\u9019\u610f\u5473\u8457\uff1a<\/p>\n<h3 data-nodeid=\"28698\">1. \u7248\u672c\u63a7\u5236\u6210\u70ba\u6a19\u6e96<\/h3>\n<p data-nodeid=\"28699\">\u7576\u4f60\u7684\u5716\u5f62\u662f<code data-backticks=\"1\" data-nodeid=\"28870\">.mermaid<\/code>\u6a94\u6848\uff0c\u5b83\u4fbf\u8207\u4f60\u7684\u539f\u59cb\u78bc\u4e00\u540c\u5b58\u653e\u5728\u4f60\u7684 Git \u5132\u5b58\u5eab\u4e2d\u3002\u6bcf\u4e00\u6b21\u8b8a\u66f4\u90fd\u6703\u88ab\u8ffd\u8e64\u3002\u4f60\u53ef\u4ee5<code data-backticks=\"1\" data-nodeid=\"28872\">git blame<\/code>\u4f86\u67e5\u770b\u662f\u8ab0\u65b0\u589e\u4e86\u8a72\u670d\u52d9\uff0c<code data-backticks=\"1\" data-nodeid=\"28874\">git diff<\/code>\u4f86\u5728\u5408\u4f75\u524d\u5be9\u67e5\u8b8a\u66f4\uff0c\u4e26\u53ef\u56de\u6efe\u81f3\u4efb\u4f55\u5148\u524d\u72c0\u614b\u3002<\/p>\n<p id=\"RGdXOPO\"><img alt=\"\" class=\"alignnone size-full wp-image-25226\" decoding=\"async\" height=\"868\" loading=\"lazy\" sizes=\"auto, (max-width: 1915px) 100vw, 1915px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f.png 1915w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-300x136.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-1030x467.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-768x348.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-1536x696.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-150x68.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5a9ac2d5f-400x181.png 400w\" width=\"1915\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNjbsOwjAMRXck\/sHqjhArWyfUCRY+wCQmsSAPGaeof08qCEuFhCUvvsfnOtaDYPbrFdQxKQRWYLuHboisjHdAMZ6VjBahbon11kJ5kEDdkU1DLoLReLgSzn\/bJJZk80GWkuMcNwOMux89GadAUcGh0hOnRnkyt1QUAnJ8nwKJo3\/Lz9lWH\/Sn4St+AfvmWDg=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzyxxL0osyOBSAILk\/NzczBKFzBQrBaWnHXOfLu9+Nm\/bs+XdShiyz6ZteLpo3pO9+59PWfGiofXZnN6n3TMhypKKEvOSMxTSUhNLSotS9fOLUlKLdItTi8oyk1MxzHmxounptHUQ7QplhrgsejZl\/ZPdM15Om\/GycTJUTUZqcnZ+aYlCbmJmHlgkN7UoPZVIa5\/N3gI0WMExwFMBaigAJ59tKA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28700\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">gitGraph\n    commit id: \"\u521d\u59cb\u67b6\u69cb\"\n    commit id: \"\u65b0\u589e\u4f7f\u7528\u8005\u670d\u52d9\"\n    branch feature\/order-service\n    commit id: \"\u8a02\u55ae\u670d\u52d9 v1\"\n    commit id: \"\u65b0\u589e\u652f\u4ed8\u9598\u9053\"\n    checkout main\n    merge feature\/order-service\n    commit id: \"\u66f4\u65b0 API \u9598\u9053\"\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLzyxxL0osyOBSAILk\/NzczBKFzBQrBaWnHXOfLu9+Nm\/bs+XdShiyz6ZteLpo3pO9+59PWfGiofXZnN6n3TMhypKKEvOSMxTSUhNLSotS9fOLUlKLdItTi8oyk1MxzHmxounptHUQ7QplhrgsejZl\/ZPdM15Om\/GycTJUTUZqcnZ+aYlCbmJmHlgkN7UoPZVIa5\/N3gI0WMExwFMBaigAJ59tKA==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNjbsOwjAMRXck\/sHqjhArWyfUCRY+wCQmsSAPGaeof08qCEuFhCUvvsfnOtaDYPbrFdQxKQRWYLuHboisjHdAMZ6VjBahbon11kJ5kEDdkU1DLoLReLgSzn\/bJJZk80GWkuMcNwOMux89GadAUcGh0hOnRnkyt1QUAnJ8nwKJo3\/Lz9lWH\/Sn4St+AfvmWDg=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28701\"><em data-nodeid=\"28883\">\u7bc4\u4f8b\uff1a\u4f7f\u7528 Mermaid \u7684 Git Graph \u8a9e\u6cd5\u8996\u89ba\u5316\u5716\u5f62\u672c\u8eab\u7684 Git \u6b77\u53f2<\/em><\/p>\n<h3 data-nodeid=\"28702\">2. \u5716\u5f62\u7684\u7a0b\u5f0f\u78bc\u5be9\u67e5<\/h3>\n<p data-nodeid=\"28703\">\u62c9\u53d6\u8acb\u6c42\uff08Pull Requests\uff09\u4e0d\u518d\u50c5\u9650\u65bc\u7a0b\u5f0f\u78bc\u3002\u7576\u958b\u767c\u8005\u63d0\u51fa\u65b0\u670d\u52d9\u6216\u4fee\u6539\u8cc7\u6599\u6d41\u7a0b\u6642\uff0c\u8a72\u8b8a\u66f4\u6703\u4ee5\u53ef\u8b80\u7684\u5dee\u7570\uff08diff\uff09\u5f62\u5f0f\u51fa\u73fe\u5728\u62c9\u53d6\u8acb\u6c42\u4e2d\u3002\u5be9\u67e5\u8005\u53ef\u4ee5\u76f4\u63a5\u5c0d\u5716\u5f62\u672c\u8eab\u9032\u884c\u8a55\u8ad6\uff0c\u78ba\u4fdd\u67b6\u69cb\u6c7a\u7b56\u5728\u5408\u4f75\u524d\u7d93\u904e\u8a0e\u8ad6\u8207\u6838\u51c6\u3002<\/p>\n<h3 data-nodeid=\"28704\">3. CI\/CD \u6574\u5408<\/h3>\n<p data-nodeid=\"28705\">\u4f60\u7684\u5716\u5f62\u53ef\u5728\u4f60\u7684 CI\/CD \u6d41\u7a0b\u4e2d\u81ea\u52d5\u751f\u6210\u8207\u9a57\u8b49\u3002\u60f3\u50cf\u4e00\u500b GitHub Action \u80fd\u5920\uff1a<\/p>\n<ul data-nodeid=\"28706\">\n<li data-nodeid=\"28707\">\n<p data-nodeid=\"28708\">\u5c07\u6240\u6709 Mermaid \u5716\u5f62\u6e32\u67d3\u70ba PNG\/SVG \u683c\u5f0f<\/p>\n<\/li>\n<li data-nodeid=\"28709\">\n<p data-nodeid=\"28710\">\u5c07\u5b83\u5011\u4e0a\u50b3\u81f3\u4f60\u7684\u6587\u4ef6\u7db2\u7ad9<\/p>\n<\/li>\n<li data-nodeid=\"28711\">\n<p data-nodeid=\"28712\">\u82e5\u5075\u6e2c\u5230\u7121\u6548\u7684 Mermaid \u8a9e\u6cd5\uff0c\u5247\u4f7f\u5efa\u7f6e\u5931\u6557<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p id=\"XNMrwui\"><img alt=\"\" class=\"alignnone size-full wp-image-25227\" decoding=\"async\" height=\"284\" loading=\"lazy\" sizes=\"auto, (max-width: 1549px) 100vw, 1549px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d.png 1549w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-300x55.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-1030x189.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-768x141.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-1536x282.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-150x28.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ab77f24d-400x73.png 400w\" width=\"1549\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u7f8e\u4eba\u9b5a<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVkMFqwzAMhu+DvoNOvfUVNpK46QLdKGk7GCYHE6utwLFN7Gwty959mtNBpqP+T7\/062TcZ3tRfYRtvXgArkwK\/EDjPPawG8IFAxROYwOr1SPksqhgRx4NWYR6sKGZpvIkF5JbcMAQ\/\/eFrNFqNnzBvlOkQZA696r7o0Si1l9vyrC4v9mork\/fk7b+1cZ3DCOU8uiNUxqiA+HaoUMGIznbzNFXN8JGlooM5AMZDUvIDHLCA6ruTpZp4TNHZcMbZN4baudWmwRUs1+UdOVXTLfdoSpB2Q8FEV8E\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8AniUgACx+iX07qfz9zzoqH1Wd+Klw2Nz1d0P93T\/3zRnlgFXV07BadoZ0+FZ1vBwvO3v1jYEwvW5gSWdI6GiD3bsebFymXIMi7Rz3ZsejZ\/8vN9fU927Xq5dtbTOdNeLFwBUeICVuJa\/WLVvGebpz6b0\/lsasf7PfNrwZKuIMmaZzPWK9QouEU\/2dH1tGnzi\/bNz6a1P9m9LRZJydMJy4BK3KOf7t71fO+6p0s2Pps6\/cmOZS8bZj2fv\/TpnBkvZ3VBlLuBrfOIftm84vneTc\/aO59PWQHxJUTeHSzviQiIJ\/vXPVu7GOI6iBJPsBJHAKj2mho=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28713\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">flowchart LR\n    A[\u958b\u767c\u8005\u63a8\u9001\u7a0b\u5f0f\u78bc] --&gt; B[CI \u6d41\u7a0b\u57f7\u884c]\n    B --&gt; C[\u57f7\u884c\u6e2c\u8a66]\n    B --&gt; D[\u6e32\u67d3\u7f8e\u4eba\u9b5a\u5716\u8868]\n    D --&gt; E{\u8a9e\u6cd5\u6709\u6548\uff1f}\n    E --&gt;|\u662f | F[\u4e0a\u50b3\u81f3\u6587\u4ef6]\n    E --&gt;|\u5426 | G[\u5efa\u7f6e\u5931\u6557\u4e26\u901a\u77e5\u5718\u968a]\n    F --&gt; H[\u90e8\u7f72\u61c9\u7528\u7a0b\u5f0f]\n    G --&gt; I[\u958b\u767c\u8005\u4fee\u6b63\u8a9e\u6cd5]\n    I --&gt; A\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8AniUgACx+iX07qfz9zzoqH1Wd+Klw2Nz1d0P93T\/3zRnlgFXV07BadoZ0+FZ1vBwvO3v1jYEwvW5gSWdI6GiD3bsebFymXIMi7Rz3ZsejZ\/8vN9fU927Xq5dtbTOdNeLFwBUeICVuJa\/WLVvGebpz6b0\/lsasf7PfNrwZKuIMmaZzPWK9QouEU\/2dH1tGnzi\/bNz6a1P9m9LRZJydMJy4BK3KOf7t71fO+6p0s2Pps6\/cmOZS8bZj2fv\/TpnBkvZ3VBlLuBrfOIftm84vneTc\/aO59PWQHxJUTeHSzviQiIJ\/vXPVu7GOI6iBJPsBJHAKj2mho=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpVkMFqwzAMhu+DvoNOvfUVNpK46QLdKGk7GCYHE6utwLFN7Gwty959mtNBpqP+T7\/062TcZ3tRfYRtvXgArkwK\/EDjPPawG8IFAxROYwOr1SPksqhgRx4NWYR6sKGZpvIkF5JbcMAQ\/\/eFrNFqNnzBvlOkQZA696r7o0Si1l9vyrC4v9mork\/fk7b+1cZ3DCOU8uiNUxqiA+HaoUMGIznbzNFXN8JGlooM5AMZDUvIDHLCA6ruTpZp4TNHZcMbZN4baudWmwRUs1+UdOVXTLfdoSpB2Q8FEV8E\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28714\"><em data-nodeid=\"28898\">\u7bc4\u4f8b\uff1a\u7528\u65bc\u5716\u8868\u9a57\u8b49\u8207\u90e8\u7f72\u7684 CI\/CD \u5de5\u4f5c\u6d41\u7a0b<\/em><\/p>\n<hr data-nodeid=\"28715\"\/>\n<h2 data-nodeid=\"28716\">\u7f8e\u4eba\u9b5a\u5be6\u4f5c\uff1a\u771f\u5be6\u4e16\u754c\u7bc4\u4f8b<\/h2>\n<p data-nodeid=\"28717\">\u8b93\u6211\u5011\u900f\u904e\u5be6\u7528\u4e14\u771f\u5be6\u4e16\u754c\u7684\u7bc4\u4f8b\uff0c\u4f86\u63a2\u7d22\u7f8e\u4eba\u9b5a\u652f\u63f4\u7684\u5716\u8868\u985e\u578b\u3002<\/p>\n<h3 data-nodeid=\"28718\">\u7bc4\u4f8b 1\uff1a\u5fae\u670d\u52d9\u67b6\u69cb\uff08\u6d41\u7a0b\u5716\uff09<\/h3>\n<p data-nodeid=\"28719\">\u9019\u662f\u6700\u5e38\u898b\u7684\u4f7f\u7528\u60c5\u5883\u2014\u2014\u8996\u89ba\u5316\u60a8\u7684\u670d\u52d9\u5982\u4f55\u9032\u884c\u6e9d\u901a\u3002<\/p>\n<p id=\"tgTdNNL\"><img alt=\"\" class=\"alignnone size-full wp-image-25228\" decoding=\"async\" height=\"606\" loading=\"lazy\" sizes=\"auto, (max-width: 1240px) 100vw, 1240px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d.png 1240w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d-300x147.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d-1030x503.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d-768x375.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d-150x73.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5acd8a67d-400x195.png 400w\" width=\"1240\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u7f8e\u4eba\u9b5a<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9ks9ugzAMxu+V+g5RT92hrzCplGqatGrV2LRDtIMJ7ohEAYW0Xd9++QsZicYlxr\/P8YfNqelurAYhyXu2XBD1DJfyW0Bfk9Wu4dhK8gJ3FCsL9XPoSt7gtu+pjYgKvyb8iaVm6tCg4Qwk71onwLZaLuZ9tsdn8gQSb3AP2rgMDeh\/lxw4E92A4soZDsE1HypXXBnVJyksD9y+ispyEyQER9FVFya1xIUpEdzPalRGZMOZKGk5BwnRdLXPPKNr41crShjwYe5YK6zjlMQZ1SLvOSV7w4oPdG0OsgNWjzRpd\/8jUbTQ+E8Lp1xIwXuk9vDjCFrtz8AbtUlqAqKiuNP4X5HN5tGv3CL7T8V592KAW3QM\/IpjMu02wcaVen+uwdgsz+K8maVN+7aTB1\/whwQVk53Qna+aUVfn2GjWMLuGRDO\/hmSVh79WnyhS\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1ks1OwkAUhfd9igkrWPAKJhCMcWEkonHRuCh0lCb8NKVI2InEoEGDBmwkulDCogmRRA0sROVlmP68hW2n7dBO6Waae77bc3rvnJaqjUKRk2RwmGaA9dTq+TOJE4sghqYj7XqOPsYxR7CfvWpeKMGUKLLG2y3qPmqdG32g6moX\/fROfOoY5m1En3+ary0agRWeCVmlsrvAVJ7MVp947XAybHBNlmgb29HfVHu5Q90h6T6qQSl3XmBXv0vL3ri4wgAJuS\/xmDDUS6RMw3JWqvL1gmwD+mCE+i0K4JplWHEAs\/OgzQJAREbjq6Mpw8A07YyZNBv3M7rM9yQRymlTOGcU4ma1IZw1CjqAvFBj484B0HKCekpi80DHitlWwzPNyZIgQhYfAP81Mdguc0LJWhZrPi\/Q+73Znq0Wc2AVQi7+HQLJ5Ja3ZYbcG6rsvjt1d61U3dsmJZA90pK\/QRzM\/bbvk0lTZWd6zPr1Ie4uHhAIT3Ksx3J7QiLuYoK3zFHw6Gkfb\/ZRPZ72D4Tbaxc=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28720\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">flowchart TB\n    subgraph \"\u5ba2\u6236\u5c64\"\n        MobileApp[\u884c\u52d5\u61c9\u7528\u7a0b\u5f0f]\n        WebApp[\u7db2\u9801\u61c9\u7528\u7a0b\u5f0f]\n    end\n\n    subgraph \"API \u9598\u9053\"\n        Gateway[API \u9598\u9053]\n    end\n\n    subgraph \"\u5fae\u670d\u52d9\"\n        UserSvc[\u4f7f\u7528\u8005\u670d\u52d9]\n        OrderSvc[\u8a02\u55ae\u670d\u52d9]\n        ProductSvc[\u7522\u54c1\u670d\u52d9]\n        PaymentSvc[\u91d1\u6d41\u670d\u52d9]\n    end\n\n    subgraph \"\u8cc7\u6599\u5c64\"\n        UserDB[(\u4f7f\u7528\u8005\u8cc7\u6599\u5eab)]\n        OrderDB[(\u8a02\u55ae\u8cc7\u6599\u5eab)]\n        ProductDB[(\u7522\u54c1\u8cc7\u6599\u5eab)]\n        Redis[(Redis \u5feb\u53d6)]\n    end\n\n    subgraph \"\u5916\u90e8\u670d\u52d9\"\n        Stripe[Stripe \u91d1\u6d41]\n        EmailAPI[\u96fb\u5b50\u90f5\u4ef6 API]\n    end\n\n    MobileApp --&gt; Gateway\n    WebApp --&gt; Gateway\n    Gateway --&gt; UserSvc\n    Gateway --&gt; OrderSvc\n    Gateway --&gt; ProductSvc\n    Gateway --&gt; PaymentSvc\n\n    UserSvc --&gt; UserDB\n    UserSvc --&gt; Redis\n    OrderSvc --&gt; OrderDB\n    OrderSvc --&gt; Redis\n    ProductSvc --&gt; ProductDB\n    ProductSvc --&gt; Redis\n\n    PaymentSvc --&gt; Stripe\n    OrderSvc --&gt; EmailAPI\n    PaymentSvc --&gt; EmailAPI\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1ks1OwkAUhfd9igkrWPAKJhCMcWEkonHRuCh0lCb8NKVI2InEoEGDBmwkulDCogmRRA0sROVlmP68hW2n7dBO6Waae77bc3rvnJaqjUKRk2RwmGaA9dTq+TOJE4sghqYj7XqOPsYxR7CfvWpeKMGUKLLG2y3qPmqdG32g6moX\/fROfOoY5m1En3+ary0agRWeCVmlsrvAVJ7MVp947XAybHBNlmgb29HfVHu5Q90h6T6qQSl3XmBXv0vL3ri4wgAJuS\/xmDDUS6RMw3JWqvL1gmwD+mCE+i0K4JplWHEAs\/OgzQJAREbjq6Mpw8A07YyZNBv3M7rM9yQRymlTOGcU4ma1IZw1CjqAvFBj484B0HKCekpi80DHitlWwzPNyZIgQhYfAP81Mdguc0LJWhZrPi\/Q+73Znq0Wc2AVQi7+HQLJ5Ja3ZYbcG6rsvjt1d61U3dsmJZA90pK\/QRzM\/bbvk0lTZWd6zPr1Ie4uHhAIT3Ksx3J7QiLuYoK3zFHw6Gkfb\/ZRPZ72D4Tbaxc=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9ks9ugzAMxu+V+g5RT92hrzCplGqatGrV2LRDtIMJ7ohEAYW0Xd9++QsZicYlxr\/P8YfNqelurAYhyXu2XBD1DJfyW0Bfk9Wu4dhK8gJ3FCsL9XPoSt7gtu+pjYgKvyb8iaVm6tCg4Qwk71onwLZaLuZ9tsdn8gQSb3AP2rgMDeh\/lxw4E92A4soZDsE1HypXXBnVJyksD9y+ispyEyQER9FVFya1xIUpEdzPalRGZMOZKGk5BwnRdLXPPKNr41crShjwYe5YK6zjlMQZ1SLvOSV7w4oPdG0OsgNWjzRpd\/8jUbTQ+E8Lp1xIwXuk9vDjCFrtz8AbtUlqAqKiuNP4X5HN5tGv3CL7T8V592KAW3QM\/IpjMu02wcaVen+uwdgsz+K8maVN+7aTB1\/whwQVk53Qna+aUVfn2GjWMLuGRDO\/hmSVh79WnyhS\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28721\"><em data-nodeid=\"28908\">\u7bc4\u4f8b\uff1a\u5305\u542b\u5feb\u53d6\u3001\u8cc7\u6599\u5eab\u8207\u5916\u90e8\u76f8\u4f9d\u6027\u7684\u5b8c\u6574\u5fae\u670d\u52d9\u67b6\u69cb<\/em><\/p>\n<h3 data-nodeid=\"28722\">\u7bc4\u4f8b 2\uff1a\u4f7f\u7528\u8005\u9a57\u8b49\u6d41\u7a0b\uff08\u5e8f\u5217\u5716\uff09<\/h3>\n<p data-nodeid=\"28723\">\u5e8f\u5217\u5716\u975e\u5e38\u9069\u5408\u8a18\u9304\u670d\u52d9\u4e4b\u9593\u8907\u96dc\u7684\u4e92\u52d5\u3002<\/p>\n<p id=\"MosCkLQ\"><img alt=\"\" class=\"alignnone size-full wp-image-25229\" decoding=\"async\" height=\"1006\" loading=\"lazy\" sizes=\"auto, (max-width: 1513px) 100vw, 1513px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741.png 1513w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741-300x199.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741-1030x685.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741-768x511.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741-150x100.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ae0ac741-400x266.png 400w\" width=\"1513\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u7f8e\u4eba\u9b5a<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8Fu00AQvSPxD3OqqEhFgujFh0ptUxAgUajTckTj9cRexd4Ns+NE5usZe52ENgbqg727fjPvzZvZQD8bcobmFgvG+uUL0Acb8a6pM+K4XyOLNXaNTuA+jJ2+Z++EXH7857KRMt0YwNAvISXeWEPjiedXHa5bwRwFMwwjwGs0JXW4O8ptiNtj1E2NthqI+\/WBOYI7lrOLi53yBG70y2CYcnJisQoRtwModqglga+36QLeVL6wDl5Rl32i5CFsPeenMWzAalQsLIFvDXELTVdc1kIfdVAyvzr7k+COpGEHJYaS8n1qOInhuXrzlGUf+kBsl+0hZmvV9cxwu5YYM\/S4EnjAyuZw\/bTivyT+QI4YheDT9wWIX5Ebg\/ftSCAVzwSBQrBePVpRm\/Taf9h8AiJVArOST48TPOrI2+kUbj\/D6zHGfVsGh5N+HJiMKFIdCmXmkYeBpCoQfHSb59S7G5wEFmyLQu1e6oF2IbYbK2L5j+530xncO71FpWf7i\/J\/qU5LvwVi9gy1uoXFMMv7yxTfX7wa7zeqZmCcHHReLrvBPd\/pRBGq1xImqtisAI3xjV6IpTLMzqG27jd9uT2k\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU99v0lAYffevuI8uugjGvS5R54smzrgZH00HN1sTflnKEt\/cZBQQCkTWUcZECGxjyEDJlIxu+2f63d4+7V\/w0hJXVhb6du8953zn+77TKP4YwyEfXuK5dYEL3kPs42JiOBQLrmHBOkY4QeR9fIQLiUi\/uDKKx\/TzjusFUlmj3XVdP42JGyubPmS29mgnRSpZ+Kq6QO+iWFh6diNO+xJRVDhvu5DPOd8GRm+xn48iuGpDTnFBXgQ5PmCV3B9CJ29+OdOHf8aFLfD\/MvOLi7bra61MtQHsNEmiwFxaKPuFQZzOGfDN8soqehQIr\/MhdN9Z4lrLQDdh1LU5i++kMRV3b0xLvzyYMFlt0lZ9csRu3rzbE+x\/h+0+pH8wA3CZMcpx2wlNSrf406zdErMZaM0nfIqIY6wtZ5HthARERCopspt0TGy2tFGsG8Uqevl+FZGfaXKg3MWzVzvqLP4bOiX429QvKmZZJqdnbOhSwSz02GOMxeYD73+IzC2ZVKpE3TaVb+zei6CXY6e56fLOtT\/2eNDyK\/RgmqdxApzLYwxTyhKlBz0Z8gUq9fXBkMhHkOtZNByIYmTEa7MH48rmKINHA0PVDHXIkgiNX2SXUQ6NxvnsNp54vGwfJ0ROsh5mNVDrMk0z06UnDXqcJlv2T4tD\/pv9vg6LGIU3sYAmN5iZ6nuBTa5mG4bSHm0dsgyOsLICp2UY9KlaRd4FBMmEmS\/9A9u1aWI=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28724\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">sequenceDiagram\n    autonumber\n    participant \u4f7f\u7528\u8005\n    participant \u524d\u7aef\n    participant AuthSvc \u9a57\u8b49\u670d\u52d9\n    participant UserDB \u4f7f\u7528\u8005\u8cc7\u6599\u5eab\n    participant Cache Redis \u5feb\u53d6\n    participant EmailSvc \u96fb\u5b50\u90f5\u4ef6\u670d\u52d9\n\n    \u4f7f\u7528\u8005-&gt;&gt;\u524d\u7aef\uff1a\u8f38\u5165\u6191\u8b49\n    \u524d\u7aef-&gt;&gt;\u9a57\u8b49\u670d\u52d9\uff1aPOST \/login (\u96fb\u5b50\u90f5\u4ef6\uff0c\u5bc6\u78bc)\n    \u9a57\u8b49\u670d\u52d9-&gt;&gt;\u4f7f\u7528\u8005\u8cc7\u6599\u5eab\uff1a\u4f9d\u96fb\u5b50\u90f5\u4ef6\u67e5\u8a62\u4f7f\u7528\u8005\n    \u4f7f\u7528\u8005\u8cc7\u6599\u5eab--&gt;&gt;\u9a57\u8b49\u670d\u52d9\uff1a\u56de\u50b3\u52a0\u5bc6\u5f8c\u7684\u5bc6\u78bc\u8207\u4f7f\u7528\u8005\u8cc7\u6599\n    \u9a57\u8b49\u670d\u52d9-&gt;&gt;\u9a57\u8b49\u670d\u52d9\uff1a\u4f7f\u7528 bcrypt \u9a57\u8b49\u5bc6\u78bc\n    \n    alt \u6709\u6548\u6191\u8b49\n        \u9a57\u8b49\u670d\u52d9-&gt;&gt;\u9a57\u8b49\u670d\u52d9\uff1a\u7522\u751f JWT \u6b0a\u6756\n        \u9a57\u8b49\u670d\u52d9-&gt;&gt;\u5feb\u53d6\uff1a\u5132\u5b58\u5de5\u4f5c\u968e\u6bb5 (\u91d1\u9470\uff1auser_id, \u904e\u671f\u6642\u9593\uff1a1 \u5c0f\u6642)\n        \u9a57\u8b49\u670d\u52d9--&gt;&gt;\u524d\u7aef\uff1a200 OK + JWT \u6b0a\u6756\n        \u524d\u7aef--&gt;&gt;\u4f7f\u7528\u8005\uff1a\u91cd\u65b0\u5c0e\u5411\u81f3\u4e3b\u63a7\u53f0\n    else \u7121\u6548\u6191\u8b49\n        \u9a57\u8b49\u670d\u52d9-&gt;&gt;\u96fb\u5b50\u90f5\u4ef6\u670d\u52d9\uff1a\u89f8\u767c\u767b\u5165\u5931\u6557\u8b66\u793a\n        \u9a57\u8b49\u670d\u52d9--&gt;&gt;\u524d\u7aef\uff1a401 \u672a\u6388\u6b0a\n        \u524d\u7aef--&gt;&gt;\u4f7f\u7528\u8005\uff1a\u986f\u793a\u932f\u8aa4\u8a0a\u606f\n    end\n    \n    Note over \u9a57\u8b49\u670d\u52d9\uff0c\u96fb\u5b50\u90f5\u4ef6\u670d\u52d9\uff1a5 \u6b21\u5931\u6557\u5617\u8a66\u5f8c\uff0c\u9396\u5b9a\u5e33\u865f 15 \u5206\u9418\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU99v0lAYffevuI8uugjGvS5R54smzrgZH00HN1sTflnKEt\/cZBQQCkTWUcZECGxjyEDJlIxu+2f63d4+7V\/w0hJXVhb6du8953zn+77TKP4YwyEfXuK5dYEL3kPs42JiOBQLrmHBOkY4QeR9fIQLiUi\/uDKKx\/TzjusFUlmj3XVdP42JGyubPmS29mgnRSpZ+Kq6QO+iWFh6diNO+xJRVDhvu5DPOd8GRm+xn48iuGpDTnFBXgQ5PmCV3B9CJ29+OdOHf8aFLfD\/MvOLi7bra61MtQHsNEmiwFxaKPuFQZzOGfDN8soqehQIr\/MhdN9Z4lrLQDdh1LU5i++kMRV3b0xLvzyYMFlt0lZ9csRu3rzbE+x\/h+0+pH8wA3CZMcpx2wlNSrf406zdErMZaM0nfIqIY6wtZ5HthARERCopspt0TGy2tFGsG8Uqevl+FZGfaXKg3MWzVzvqLP4bOiX429QvKmZZJqdnbOhSwSz02GOMxeYD73+IzC2ZVKpE3TaVb+zei6CXY6e56fLOtT\/2eNDyK\/RgmqdxApzLYwxTyhKlBz0Z8gUq9fXBkMhHkOtZNByIYmTEa7MH48rmKINHA0PVDHXIkgiNX2SXUQ6NxvnsNp54vGwfJ0ROsh5mNVDrMk0z06UnDXqcJlv2T4tD\/pv9vg6LGIU3sYAmN5iZ6nuBTa5mG4bSHm0dsgyOsLICp2UY9KlaRd4FBMmEmS\/9A9u1aWI=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8Fu00AQvSPxD3OqqEhFgujFh0ptUxAgUajTckTj9cRexd4Ns+NE5usZe52ENgbqg727fjPvzZvZQD8bcobmFgvG+uUL0Acb8a6pM+K4XyOLNXaNTuA+jJ2+Z++EXH7857KRMt0YwNAvISXeWEPjiedXHa5bwRwFMwwjwGs0JXW4O8ptiNtj1E2NthqI+\/WBOYI7lrOLi53yBG70y2CYcnJisQoRtwModqglga+36QLeVL6wDl5Rl32i5CFsPeenMWzAalQsLIFvDXELTVdc1kIfdVAyvzr7k+COpGEHJYaS8n1qOInhuXrzlGUf+kBsl+0hZmvV9cxwu5YYM\/S4EnjAyuZw\/bTivyT+QI4YheDT9wWIX5Ebg\/ftSCAVzwSBQrBePVpRm\/Taf9h8AiJVArOST48TPOrI2+kUbj\/D6zHGfVsGh5N+HJiMKFIdCmXmkYeBpCoQfHSb59S7G5wEFmyLQu1e6oF2IbYbK2L5j+530xncO71FpWf7i\/J\/qU5LvwVi9gy1uoXFMMv7yxTfX7wa7zeqZmCcHHReLrvBPd\/pRBGq1xImqtisAI3xjV6IpTLMzqG27jd9uT2k\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28725\"><em data-nodeid=\"28914\">\u7bc4\u4f8b\uff1a\u8a73\u7d30\u7684\u9a57\u8b49\u6d41\u7a0b\uff0c\u986f\u793a\u6210\u529f\u8207\u5931\u6557\u8def\u5f91\uff0c\u5305\u542b\u5feb\u53d6\u8207\u8b66\u793a\u7b49\u526f\u4f5c\u7528<\/em><\/p>\n<h3 data-nodeid=\"28726\">\u7bc4\u4f8b 3\uff1aAWS \u96f2\u7aef\u57fa\u790e\u8a2d\u65bd\uff08\u985e\u5225\u5716\uff09<\/h3>\n<p data-nodeid=\"28727\">\u985e\u5225\u5716\u4e0d\u50c5\u7528\u65bc\u7a0b\u5f0f\u78bc\uff0c\u4e5f\u80fd\u5efa\u6a21\u96f2\u7aef\u8cc7\u6e90\u53ca\u5176\u95dc\u4fc2\u3002<\/p>\n<p id=\"xdKtVYE\"><img alt=\"\" class=\"alignnone size-full wp-image-25230\" decoding=\"async\" height=\"1005\" loading=\"lazy\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5af55bb75.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5af55bb75.png 698w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5af55bb75-208x300.png 208w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5af55bb75-104x150.png 104w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5af55bb75-400x576.png 400w\" width=\"698\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">\u7f8e\u4eba\u9b5a<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk01rwzAMhu+D\/oeQ0z5o2cd9sLUr9DAo7djVyI5ITR072EpHO\/bf5zTp5qQO1CejR4le65WEAudmEnILxegq8UfUkeRzOU2+m0B97hxZqfNEyMwyrozYnjOLuTQ6iAuLQLiuuEa6vglAhgr74Gd0FdZvYEwC7EAq4FJJ2rOD0XihSm6MQtCJdKysuJIiYEAEYrMyFeEHcIUDot6mjwvtCLTAmDLZMkb7MqIKCslkFsSlpsSRsZAjy3nnA7Ddjvm0shOw6N8z1LzVbD0DAg4uqhN1LmNt26F1XQcHFZ6aWVSKJINDgAi2uNZQuo2hnuT6Vzi3pujzvvlPr5XYxu3nR8I0FHjBCJ50tk\/zOQx17XDoQ1UqA9lc\/vveTKn50n3QE7p4eV\/5AjGd1scHVJbGT9+eZUZUBWo6m8Plkfc25hz8aal3NX1Ik\/H4OUlv03Z3GtbuUYiDKY7n3E8m\/hoMUaSMz6krtUY1CeF61EltdxoYzmQAfwGDlzGH\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8tqwzAQvPcrjE99kNDHvdAmDeRQCEnpVazkxVkiS0aSU5LSf6\/sOLVsq7Q62TOLdjQ7KyRYOyfIDRQXiT+iBpL31Sz5bP7rc2OdIZUngjLDuNRiN6IM5qRVBwuD4HBTcYXu8qrDM5Q4wL8ugsYnJtIb9kASOElyB3bUCv+ljmstEVRClpUVlyQ6CpwDsV3ryuEbcIkxNS+z+6WyDpTAiCRqKeYO5VgOFMQo62BSLrFOG8iR5TwsB9OzyBeV4b9B\/4qoWev5Zg4OONiYPFQ5RWzao7G9Uf0m7OxdUUlHDI4d42CHGwWl3WrXV1rfgwujiwHdn\/HDcyV20SnzhmAKCvwzYmd97YN8CUNVTzIwvSqlhmxBP+M9hVB\/qAHeE7h8el37uyP6jIfj6krt03VgmRZVgcoNc7Zq6P4mjPBWRL186V2aTCaPSXqdtjvRUO16hGyQ0WjJ7XTqP4OojHv4krpNO5aGD5Nf17SWNFwYu4D7BsRALtY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28728\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">classDiagram\n    class VPC {\n        +string cidr_block\n        +string region\n        +createSubnet()\n        +deleteSubnet()\n    }\n\n    class Subnet {\n        +string availability_zone\n        +string cidr_block\n        +boolean is_public\n        +attachRouteTable()\n    }\n\n    class EC2Instance {\n        +string instance_type\n        +string ami_id\n        +int storage_gb\n        +start()\n        +stop()\n        +reboot()\n    }\n\n    class RDSDatabase {\n        +string engine\n        +string version\n        +int storage_gb\n        +boolean multi_az\n        +takeSnapshot()\n        +restoreFromSnapshot()\n    }\n\n    class S3Bucket {\n        +string bucket_name\n        +string region\n        +boolean versioning_enabled\n        +uploadFile()\n        +downloadFile()\n    }\n\n    class IAMRole {\n        +string role_name\n        +string policy_document\n        +attachPolicy()\n        +detachPolicy()\n    }\n\n    VPC \"1\" --&gt; \"*\" Subnet\n    Subnet \"1\" --&gt; \"*\" EC2Instance\n    Subnet \"1\" --&gt; \"0..1\" RDSDatabase\n    VPC \"1\" --&gt; \"0..*\" S3Bucket\n    EC2Instance --&gt; IAMRole\n    RDSDatabase --&gt; IAMRole\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8tqwzAQvPcrjE99kNDHvdAmDeRQCEnpVazkxVkiS0aSU5LSf6\/sOLVsq7Q62TOLdjQ7KyRYOyfIDRQXiT+iBpL31Sz5bP7rc2OdIZUngjLDuNRiN6IM5qRVBwuD4HBTcYXu8qrDM5Q4wL8ugsYnJtIb9kASOElyB3bUCv+ljmstEVRClpUVlyQ6CpwDsV3ryuEbcIkxNS+z+6WyDpTAiCRqKeYO5VgOFMQo62BSLrFOG8iR5TwsB9OzyBeV4b9B\/4qoWev5Zg4OONiYPFQ5RWzao7G9Uf0m7OxdUUlHDI4d42CHGwWl3WrXV1rfgwujiwHdn\/HDcyV20SnzhmAKCvwzYmd97YN8CUNVTzIwvSqlhmxBP+M9hVB\/qAHeE7h8el37uyP6jIfj6krt03VgmRZVgcoNc7Zq6P4mjPBWRL186V2aTCaPSXqdtjvRUO16hGyQ0WjJ7XTqP4OojHv4krpNO5aGD5Nf17SWNFwYu4D7BsRALtY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk01rwzAMhu+D\/oeQ0z5o2cd9sLUr9DAo7djVyI5ITR072EpHO\/bf5zTp5qQO1CejR4le65WEAudmEnILxegq8UfUkeRzOU2+m0B97hxZqfNEyMwyrozYnjOLuTQ6iAuLQLiuuEa6vglAhgr74Gd0FdZvYEwC7EAq4FJJ2rOD0XihSm6MQtCJdKysuJIiYEAEYrMyFeEHcIUDot6mjwvtCLTAmDLZMkb7MqIKCslkFsSlpsSRsZAjy3nnA7Ddjvm0shOw6N8z1LzVbD0DAg4uqhN1LmNt26F1XQcHFZ6aWVSKJINDgAi2uNZQuo2hnuT6Vzi3pujzvvlPr5XYxu3nR8I0FHjBCJ50tk\/zOQx17XDoQ1UqA9lc\/vveTKn50n3QE7p4eV\/5AjGd1scHVJbGT9+eZUZUBWo6m8Plkfc25hz8aal3NX1Ik\/H4OUlv03Z3GtbuUYiDKY7n3E8m\/hoMUaSMz6krtUY1CeF61EltdxoYzmQAfwGDlzGH\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f\u7f8e\u4eba\u9b5a<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28729\"><em data-nodeid=\"28922\">\u7bc4\u4f8b\uff1a\u5c07 AWS \u57fa\u790e\u8a2d\u65bd\u5efa\u6a21\u70ba\u5177\u6709\u5c6c\u6027\u8207\u65b9\u6cd5\u7684\u985e\u5225\uff0c\u9069\u7528\u65bc\u6587\u4ef6\u64b0\u5beb\u8207\u57fa\u790e\u8a2d\u65bd\u5373\u7a0b\u5f0f\u78bc\u898f\u5283<\/em><\/p>\n<h3 data-nodeid=\"28730\">\u7bc4\u4f8b 4\uff1a\u96fb\u5b50\u5546\u52d9\u8a02\u55ae\u8655\u7406\uff08\u72c0\u614b\u5716\uff09<\/h3>\n<p data-nodeid=\"28731\">\u72c0\u614b\u5716\u64c5\u9577\u5c55\u793a\u5be6\u9ad4\u5982\u4f55\u5728\u4e0d\u540c\u72c0\u614b\u4e4b\u9593\u8f49\u63db\u3002<\/p>\n<p id=\"XBAUpbM\"><img alt=\"\" class=\"alignnone size-full wp-image-25231\" decoding=\"async\" height=\"1649\" loading=\"lazy\" sizes=\"auto, (max-width: 978px) 100vw, 978px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700.png 978w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-178x300.png 178w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-611x1030.png 611w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-768x1295.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-911x1536.png 911w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-89x150.png 89w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b0ab5700-400x674.png 400w\" width=\"978\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9lEtrGzEQx++Ffochx4KhFHoxbSA4mAQaGuz2VHpQtOO16l1J1cPGlH73avTwSq4dnyzN\/6d57ljHHN4L1hs2zvYf3r6B8Pvx7ifMZrewYMbN4btFA6zrLAiHo00SMiXNFvlO+aLTRnHEoHUKeDYlInP5LrLP7DiidM8oOyH7\/IL1L6NwFpTp0CSo1TUoubM20o9SOBGyAZ1s0IfDgR1r9\/9h+THRzYstBMDJuPHD60y8XTIxYAV3yAchsbvgNEkvFc2gMwJtCfwaFdpSuvHCZKekBR7a0LoSSfuVqrdQciPMSPGtQ+2ApzNzQknAMbycqFac0jOomYl1vQtJ95IaemAGt8pbbFwWZeTWW6E1OXygCPchVhoEZkJ+uZlZEdWP8pth0opQiEXSgBZ8Z8Hr2sVJFqF7HER4mJzkv8eSWan7SRKBFe4FHkL\/Ru2IWuFvj9aBT7UnY+2tlZ9VvkxnjZ1723jZZR\/kLnIiDyeRZG8dNkT1yp0O39M+9s9rrcInx9KNrcmiqsA8rEQ+KYlHGjFvTnN5JppyjJMAfFC2HWFLawJuHkS\/na2E3cHSMN+lOb4BZtM5HuFPQppFQoY1VwYn23QXJV\/UgR4OmcarT\/Dx\/VUthVGLbz836mKO2icmPRtST+ewHFgPGxWmEtk4EbWojabU9hXt2SZY4S\/krhB\/L22fao9NdQskxcxCQ6yNuyQshb6nuUp0VeIrGzBH\/Q8\/JtE7\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9lE9PGkEYxu\/9FBuPTUyaJr2Y1qTRmDZpU6O9NT1sZISNsNBZwDRNk12tgBKUVCCIRiytyh+rVmJDAemX2Znd+RadnYHdWZXuYQ8zv2eemWfed7S4HAezihyEcmQy+fiBRL93D99Lk5PT0owM41OSefPXKtRtfQOXLlHtEBVTaNdgnDPPwRBYWokmRJjoV2jj2LrOo06bwVwxBJlqXv4YAWp8HqgBRQ2KRjt5s\/vDrq+h0jmT+UmfGEaXgKYxPSpWUbaICxdmr0xKZWLsesZ38OEiSmBK4gqcyaOt6n9hNjonK2HgqojxE2e\/3vHh0Nhs0jm7ccIXGKOiVyAGUhjg71\/sdt\/abNi9LdFO4fwbGABwJqouKzDi7M7a6xPdsGpdu5kj69dm7zfj\/Rg\/FgQxGfIAMymykbPTbaRvom5LsBkxTLEYUmIxZnLao\/dkXZ8QI0vdaGUwejjP2JfqWyirmkKP70JopzTaD\/u5DFPMgrCSBNBZn+LEKPBDMNKdY+QCSCpgld5SJBZ3cLuVxb\/W3NDsRhGt\/\/Fs\/Ph9KfOy82S37ZYTamABfEgAjfm5QqvQpt5E1+2rnujn44U1nsdiMJp0lkDnNXyQQxcNfNQheoUY24J0hAnKYUmy+jsbkCPaZjraPxRELuEdkDcSbUX8LeNtT3MaX5ogrTKp1UmlaTfy+KyLmzVcPZ6QZE2ag3IiwKpX+sQUvqfBGV9cikLgTnlDjHgVXV1QtBVWVbjYkZ5KTx6NY18owZAPnn4m0qNpxr6W1YQc5pdJU6jv2fWyOdhHB2VS2XKSrB67QpH1b4rmjdKp8eCtZienxijmz3cfFeFZ8kKjuZ92nDYcpls0+5dMJeQ65iEzb7a56h\/5BVKz\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28732\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">stateDiagram-v2\n    [*] --&gt; Cart: \u4f7f\u7528\u8005\u65b0\u589e\u5546\u54c1\n    Cart --&gt; Checkout: \u4f7f\u7528\u8005\u9032\u5165\u7d50\u5e33\n    \n    Checkout --&gt; PaymentPending: \u4f7f\u7528\u8005\u63d0\u4ea4\u8a02\u55ae\n    PaymentPending --&gt; PaymentProcessing: \u555f\u52d5\u652f\u4ed8\u9598\u9053\n    \n    PaymentProcessing --&gt; Paid: \u652f\u4ed8\u6210\u529f\n    PaymentProcessing --&gt; PaymentFailed: \u652f\u4ed8\u906d\u62d2\n    \n    PaymentFailed --&gt; Checkout: \u4f7f\u7528\u8005\u91cd\u8a66\u652f\u4ed8\n    PaymentFailed --&gt; [*]: \u4f7f\u7528\u8005\u653e\u68c4\u8cfc\u7269\u8eca\n    \n    Paid --&gt; OrderConfirmed: \u767c\u9001\u78ba\u8a8d\u90f5\u4ef6\n    OrderConfirmed --&gt; Preparing: \u5206\u914d\u81f3\u5009\u5eab\n    \n    Preparing --&gt; Shipped: \u79fb\u4ea4\u7d66\u904b\u9001\u5546\n    Shipped --&gt; InTransit: \u904b\u9001\u5546\u53d6\u4ef6\n    \n    InTransit --&gt; Delivered: \u9001\u9054\u78ba\u8a8d\n    Delivered --&gt; ReviewPrompted: \u8acb\u6c42\u4f7f\u7528\u8005\u8a55\u50f9\n    \n    ReviewPrompted --&gt; [*]: \u4f7f\u7528\u8005\u63d0\u4ea4\u8a55\u50f9\n    Delivered --&gt; RefundRequested: \u4f7f\u7528\u8005\u7533\u8acb\u9000\u8cbb\n    \n    RefundRequested --&gt; RefundApproved: \u5ba2\u670d\u5be9\u6838\u901a\u904e\n    RefundApproved --&gt; RefundProcessed: \u6b3e\u9805\u9000\u56de\n    RefundProcessed --&gt; [*]: \u8a02\u55ae\u7d50\u6848\n    \n    state \"\u9ad8\u98a8\u96aa\u8a50\u6b3a\u6aa2\u67e5\" as FraudCheck {\n        [*] --&gt; CheckScore\n        CheckScore --&gt; LowRisk: \u5206\u6578 &lt; 50\n        CheckScore --&gt; HighRisk: \u5206\u6578 &gt;= 50\n        HighRisk --&gt; ManualReview: \u6a19\u8a18\u4f9b\u5718\u968a\u5be9\u67e5\n        ManualReview --&gt; LowRisk: \u6838\u51c6\n        ManualReview --&gt; PaymentFailed: \u99c1\u56de\n    }\n    \n    PaymentPending --&gt; FraudCheck: \u89f8\u767c\u98a8\u96aa\u8a55\u4f30\n    FraudCheck --&gt; PaymentProcessing: \u4f4e\u98a8\u96aa<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9lE9PGkEYxu\/9FBuPTUyaJr2Y1qTRmDZpU6O9NT1sZISNsNBZwDRNk12tgBKUVCCIRiytyh+rVmJDAemX2Znd+RadnYHdWZXuYQ8zv2eemWfed7S4HAezihyEcmQy+fiBRL93D99Lk5PT0owM41OSefPXKtRtfQOXLlHtEBVTaNdgnDPPwRBYWokmRJjoV2jj2LrOo06bwVwxBJlqXv4YAWp8HqgBRQ2KRjt5s\/vDrq+h0jmT+UmfGEaXgKYxPSpWUbaICxdmr0xKZWLsesZ38OEiSmBK4gqcyaOt6n9hNjonK2HgqojxE2e\/3vHh0Nhs0jm7ccIXGKOiVyAGUhjg71\/sdt\/abNi9LdFO4fwbGABwJqouKzDi7M7a6xPdsGpdu5kj69dm7zfj\/Rg\/FgQxGfIAMymykbPTbaRvom5LsBkxTLEYUmIxZnLao\/dkXZ8QI0vdaGUwejjP2JfqWyirmkKP70JopzTaD\/u5DFPMgrCSBNBZn+LEKPBDMNKdY+QCSCpgld5SJBZ3cLuVxb\/W3NDsRhGt\/\/Fs\/Ph9KfOy82S37ZYTamABfEgAjfm5QqvQpt5E1+2rnujn44U1nsdiMJp0lkDnNXyQQxcNfNQheoUY24J0hAnKYUmy+jsbkCPaZjraPxRELuEdkDcSbUX8LeNtT3MaX5ogrTKp1UmlaTfy+KyLmzVcPZ6QZE2ag3IiwKpX+sQUvqfBGV9cikLgTnlDjHgVXV1QtBVWVbjYkZ5KTx6NY18owZAPnn4m0qNpxr6W1YQc5pdJU6jv2fWyOdhHB2VS2XKSrB67QpH1b4rmjdKp8eCtZienxijmz3cfFeFZ8kKjuZ92nDYcpls0+5dMJeQ65iEzb7a56h\/5BVKz\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp9lEtrGzEQx++Ffochx4KhFHoxbSA4mAQaGuz2VHpQtOO16l1J1cPGlH73avTwSq4dnyzN\/6d57ljHHN4L1hs2zvYf3r6B8Pvx7ifMZrewYMbN4btFA6zrLAiHo00SMiXNFvlO+aLTRnHEoHUKeDYlInP5LrLP7DiidM8oOyH7\/IL1L6NwFpTp0CSo1TUoubM20o9SOBGyAZ1s0IfDgR1r9\/9h+THRzYstBMDJuPHD60y8XTIxYAV3yAchsbvgNEkvFc2gMwJtCfwaFdpSuvHCZKekBR7a0LoSSfuVqrdQciPMSPGtQ+2ApzNzQknAMbycqFac0jOomYl1vQtJ95IaemAGt8pbbFwWZeTWW6E1OXygCPchVhoEZkJ+uZlZEdWP8pth0opQiEXSgBZ8Z8Hr2sVJFqF7HER4mJzkv8eSWan7SRKBFe4FHkL\/Ru2IWuFvj9aBT7UnY+2tlZ9VvkxnjZ1723jZZR\/kLnIiDyeRZG8dNkT1yp0O39M+9s9rrcInx9KNrcmiqsA8rEQ+KYlHGjFvTnN5JppyjJMAfFC2HWFLawJuHkS\/na2E3cHSMN+lOb4BZtM5HuFPQppFQoY1VwYn23QXJV\/UgR4OmcarT\/Dx\/VUthVGLbz836mKO2icmPRtST+ewHFgPGxWmEtk4EbWojabU9hXt2SZY4S\/krhB\/L22fao9NdQskxcxCQ6yNuyQshb6nuUp0VeIrGzBH\/Q8\/JtE7\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28733\"><em data-nodeid=\"28928\">\u7bc4\u4f8b\uff1a\u5305\u542b\u8a50\u6b3a\u5075\u6e2c\u5de2\u72c0\u72c0\u614b\u7684\u5b8c\u6574\u96fb\u5b50\u5546\u52d9\u8a02\u55ae\u72c0\u614b\u6a5f<\/em><\/p>\n<h3 data-nodeid=\"28734\">\u7bc4\u4f8b 5\uff1a\u4f7f\u7528 GitHub \u554f\u984c\u9032\u884c\u885d\u7a0b\u898f\u5283\uff08Git \u5716\u5f62\uff09<\/h3>\n<p data-nodeid=\"28735\">Git \u5716\u5f62\u53ef\u4ee5\u8868\u793a\u8d85\u8d8a Git \u672c\u8eab\u7684\u5de5\u4f5c\u6d41\u7a0b\u3002<\/p>\n<p id=\"dtaJlXg\"><img alt=\"\" class=\"alignnone size-full wp-image-25232\" decoding=\"async\" height=\"531\" loading=\"lazy\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679.png 956w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679-300x167.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679-768x427.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679-150x83.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b2658679-400x222.png 400w\" width=\"956\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk99qwjAUxu8He4dDhN35p91d7kZRO3BT1D1AtGdpsE1Ccjr17RcrFbd200JbCCff953fSaSiqRM2f3yA8GxNWSoClXFgK+uUJlgUQmulJQM6WuSQvk7TWXjX5x3n78YJvc3B11v6UVvsw6ODFRl3hF40ijjMjFQaFkIiu1Udc6gXliiVJydIGc063DeV\/FSHYW4o\/Nqiab3O4aWiHNZmhxrGB6vcsQmQ43ZnKvrVRYlOYpf2rdjPPLTn\/d64LET3SD8yX9xKofS1U+MOJGTQ\/IoGo8GI\/Q07bueYoKDKIfTiE+lVbqwNA4REOGL\/VgfSSZNrUph9ly0eLDpVoqahUH2HJynUWT0V31ZfzBMOb7NA4LoQxjqMH7uJ3NVYoDt3WeCdhjNhLkO8D27cwI1bcK\/tllig8AjvhtAHkOcLEcETxJCY0hZIyL4B+\/jyVA==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk91OwjAcxe99imZci2ze7QXExEtfYGKFxmwssxi9Ew0fDgSigmIkqIlkEMEoIRqZ8jK06658BSsoEYdmTdomTXvO+f\/aRhFeMhQ9Ngd4i8RVFWGA1mUgsOuaY+VYo0jMAwHgXR3KILy8FF7hfXW0ezSsGYoWiYEt3UAanhc9MsPXgXNqsb0ULaeGLzkQEEOiDJxqn6Ru3aukW7sR\/JyRZDBZZVafpE3Bk2EtEd1AOwuxOOaTR9RJPwwHHfLWfLcv3OYZax\/SO5PWKm6yQC\/rXyFiMLIZT+DpclRoROEMdT+5F2VA7tPOje1mjpjV\/hF64qUqSPvh820NsBLlmttiMBQMCX8BlzwhiFlnB68gIH1yZl3bOWyyvin8s4+zdXol8tylvSS\/cq8X3NGhgVSo4QUFzRvwUwZq6wpGcW3LI0wb+2TQGyPmrGmzTqoWaT87g2NasFilQewyPSnMQuGjKA6UWfuk0qHtJ1J89A9U+gYq\/QI69UiqNrvOs1aLnhd49vEfACJg2QyQAOnkabYkfABVKUlz\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28736\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">gitGraph\n    commit id: \"\u885d\u7a0b\u898f\u5283\" type: HIGHLIGHT\n    \n    branch sprint-1\n    commit id: \"\u4f7f\u7528\u8005\u6545\u4e8b #101: \u767b\u5165\u9801\u9762\"\n    commit id: \"\u4f7f\u7528\u8005\u6545\u4e8b #102: \u4f7f\u7528\u8005\u8a3b\u518a\"\n    \n    branch bugfix\/hotfix\n    commit id: \"\u71b1\u4fee\u5fa9\uff1a\u9a57\u8b49\u6b0a\u6756\u904e\u671f\"\n    checkout sprint-1\n    merge bugfix\/hotfix\n    \n    commit id: \"\u4f7f\u7528\u8005\u6545\u4e8b #103: \u5bc6\u78bc\u91cd\u8a2d\"\n    \n    checkout main\n    merge sprint-1 tag: \"v1.0.0\"\n    \n    branch sprint-2\n    commit id: \"\u529f\u80fd #201: \u8cfc\u7269\u8eca\"\n    commit id: \"\u529f\u80fd #202: \u7d50\u5e33\u6d41\u7a0b\"\n    \n    branch experiment\/ai-recommendations\n    commit id: \"\u6982\u5ff5\u9a57\u8b49\uff1a\u6a5f\u5668\u5b78\u7fd2\u63a8\u85a6\u5f15\u64ce\"\n    \n    checkout sprint-2\n    commit id: \"\u529f\u80fd #203: \u8a02\u55ae\u6b77\u53f2\"\n    \n    checkout main\n    merge sprint-2 tag: \"v2.0.0\"\n    \n    commit id: \"\u767c\u884c\u8aaa\u660e\uff1a\u885d\u7a0b 1 \u8207 2 \u5b8c\u6210\"<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk91OwjAcxe99imZci2ze7QXExEtfYGKFxmwssxi9Ew0fDgSigmIkqIlkEMEoIRqZ8jK06658BSsoEYdmTdomTXvO+f\/aRhFeMhQ9Ngd4i8RVFWGA1mUgsOuaY+VYo0jMAwHgXR3KILy8FF7hfXW0ezSsGYoWiYEt3UAanhc9MsPXgXNqsb0ULaeGLzkQEEOiDJxqn6Ru3aukW7sR\/JyRZDBZZVafpE3Bk2EtEd1AOwuxOOaTR9RJPwwHHfLWfLcv3OYZax\/SO5PWKm6yQC\/rXyFiMLIZT+DpclRoROEMdT+5F2VA7tPOje1mjpjV\/hF64qUqSPvh820NsBLlmttiMBQMCX8BlzwhiFlnB68gIH1yZl3bOWyyvin8s4+zdXol8tylvSS\/cq8X3NGhgVSo4QUFzRvwUwZq6wpGcW3LI0wb+2TQGyPmrGmzTqoWaT87g2NasFilQewyPSnMQuGjKA6UWfuk0qHtJ1J89A9U+gYq\/QI69UiqNrvOs1aLnhd49vEfACJg2QyQAOnkabYkfABVKUlz\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNk99qwjAUxu8He4dDhN35p91d7kZRO3BT1D1AtGdpsE1Ccjr17RcrFbd200JbCCff953fSaSiqRM2f3yA8GxNWSoClXFgK+uUJlgUQmulJQM6WuSQvk7TWXjX5x3n78YJvc3B11v6UVvsw6ODFRl3hF40ijjMjFQaFkIiu1Udc6gXliiVJydIGc063DeV\/FSHYW4o\/Nqiab3O4aWiHNZmhxrGB6vcsQmQ43ZnKvrVRYlOYpf2rdjPPLTn\/d64LET3SD8yX9xKofS1U+MOJGTQ\/IoGo8GI\/Q07bueYoKDKIfTiE+lVbqwNA4REOGL\/VgfSSZNrUph9ly0eLDpVoqahUH2HJynUWT0V31ZfzBMOb7NA4LoQxjqMH7uJ3NVYoDt3WeCdhjNhLkO8D27cwI1bcK\/tllig8AjvhtAHkOcLEcETxJCY0hZIyL4B+\/jyVA==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28737\"><em data-nodeid=\"28934\">\u7bc4\u4f8b\uff1a\u5c07\u5c08\u6848\u7ba1\u7406\u3001\u885d\u7a0b\u8207\u529f\u80fd\u5206\u652f\u8996\u89ba\u5316\u70ba Git \u5716\u5f62<\/em><\/p>\n<hr data-nodeid=\"28738\"\/>\n<h2 data-nodeid=\"28739\">\u5716\u5f62\u7e6a\u88fd\u7684 AI \u9769\u547d<\/h2>\n<p data-nodeid=\"28740\">\u5118\u7ba1 Mermaid \u512a\u96c5\uff0c\u4f46\u5176\u8a9e\u6cd5\u53ef\u80fd\u6210\u70ba\u969c\u7919\u3002\u7576\u60a8\u8a66\u5716\u8a18\u9304\u7cfb\u7d71\u6642\uff0c\u8ab0\u9084\u60f3\u9664\u932f\u7bad\u982d\u672a\u5c0d\u9f4a\u6216\u62ec\u865f\u907a\u6f0f\u7684\u554f\u984c\u5462\uff1f<\/p>\n<p data-nodeid=\"28741\">\u9019\u5c31\u662f AI \u9a45\u52d5\u5de5\u5177\u6539\u8b8a\u4e00\u5207\u7684\u5730\u65b9\u3002<\/p>\n<h3 data-nodeid=\"28742\">AI \u81ea\u52d5\u4fee\u5fa9<\/h3>\n<p data-nodeid=\"28743\">\u50cf\u300c<strong data-nodeid=\"28954\">VPasCode<\/strong>\uff08Visual Paradigm \u7684\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u5e73\u53f0\uff09\u8207\u300c<strong data-nodeid=\"28955\">Mermaid Chart<\/strong>\u300d\u5df2\u6574\u5408 AI \u6a21\u578b\uff08\u5982 Google Gemini \u8207 OpenAI\uff09\uff0c\u80fd\u5920\uff1a\u300c<\/p>\n<ul data-nodeid=\"28744\">\n<li data-nodeid=\"28745\">\n<p data-nodeid=\"28746\"><strong data-nodeid=\"28960\">\u81ea\u52d5\u5075\u6e2c<\/strong>\u8a9e\u6cd5\u932f\u8aa4<\/p>\n<\/li>\n<li data-nodeid=\"28747\">\n<p data-nodeid=\"28748\"><strong data-nodeid=\"28965\">\u4fee\u5fa9<\/strong>\u640d\u6bc0\u7684\u5716\u5f62\uff0c\u53ea\u9700\u55ae\u64ca\u4e00\u6b21<\/p>\n<\/li>\n<li data-nodeid=\"28749\">\n<p data-nodeid=\"28750\"><strong data-nodeid=\"28970\">\u5efa\u8b70<\/strong>\u5716\u5f62\u7d50\u69cb\u7684\u6539\u9032<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"28751\">\u8b93\u6211\u5011\u770b\u770b\u5be6\u969b\u904b\u4f5c\uff1a<\/p>\n<p data-nodeid=\"28752\"><strong data-nodeid=\"28977\">\u640d\u6bc0\u7684 Mermaid \u7a0b\u5f0f\u78bc\uff1a<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"BhGdFVf\"><img alt=\"\" class=\"alignnone size-full wp-image-25233\" decoding=\"async\" height=\"613\" loading=\"lazy\" sizes=\"auto, (max-width: 1546px) 100vw, 1546px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab.png 1546w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-300x119.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-1030x408.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-768x305.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-1536x609.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-150x59.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5b504c2ab-400x159.png 400w\" width=\"1546\"\/><\/p>\n<p data-nodeid=\"28752\"><strong data-nodeid=\"28977\">\u00a0<\/strong><\/p>\n<pre data-nodeid=\"28753\"><code>flowchart LR\n    A[\u524d\u7aef] --&gt; B(API \u9598\u9053\n    B --&gt; C[\u4f7f\u7528\u8005\u670d\u52d9]\n    C --&gt; D[(\u8cc7\u6599\u5eab\n    D --&gt; E[\u5feb\u53d6]\n<\/code><\/pre>\n<p data-nodeid=\"28754\"><strong data-nodeid=\"28981\">AI \u4fee\u5fa9\u7684\u7a0b\u5f0f\u78bc\uff1a<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"IfVwudL\"><img alt=\"\" class=\"alignnone size-full wp-image-25234\" decoding=\"async\" height=\"1337\" loading=\"lazy\" sizes=\"auto, (max-width: 2281px) 100vw, 2281px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47.png 2281w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-300x176.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-1030x604.png 1030w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-768x450.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-1536x900.png 1536w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-2048x1200.png 2048w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-150x88.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5d5383d47-400x234.png 400w\" width=\"2281\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8Ani5VIAAsdot6L8vJLUvJRYBV1dOwUnDccATwX3xJLU8sRKTYgaJ7CMc3RocWqRQnBqUVlmcmosRMoZLOUSreGSWJKYlFicqgmVcAFLuEY7JyZnpMYCAPA\/IGQ=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8AniUgACx+innb3PV6+PVdDVtVNw0nAM8FR4OW3Gy8bJmmB5J7C4c\/STvfufT1nxoqH12Zzep90zY8GSzmBJl2iNF5vbn02b+XTXak2IhAtYwjX66f7VT\/unxQIAaeIuVw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28755\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">flowchart LR\n    A[\u524d\u7aef] --&gt; B(API \u9598\u9053)\n    B --&gt; C[\u4f7f\u7528\u8005\u670d\u52d9]\n    C --&gt; D[(\u8cc7\u6599\u5eab)]\n    D --&gt; E[\u5feb\u53d6]\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8AniUgACx+innb3PV6+PVdDVtVNw0nAM8FR4OW3Gy8bJmmB5J7C4c\/STvfufT1nxoqH12Zzep90zY8GSzmBJl2iNF5vbn02b+XTXak2IhAtYwjX66f7VT\/unxQIAaeIuVw==\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpLy8kvT85ILCpR8Ani5VIAAsdot6L8vJLUvJRYBV1dOwUnDccATwX3xJLU8sRKTYgaJ7CMc3RocWqRQnBqUVlmcmosRMoZLOUSreGSWJKYlFicqgmVcAFLuEY7JyZnpMYCAPA\/IGQ=\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"28756\">AI \u80fd\u8b58\u5225\u7f3a\u5931\u7684\u9589\u5408\u62ec\u865f\u8207\u65b9\u62ec\u865f\uff0c\u4e26\u7acb\u5373\u4fee\u5fa9\u3002<\/p>\n<h3 data-nodeid=\"28757\">\u81ea\u7136\u8a9e\u8a00\u8f49\u70ba\u5716\u8868<\/h3>\n<p data-nodeid=\"28758\">\u6216\u8a31\u6700\u5f37\u5927\u7684\u529f\u80fd\u662f\u5f9e\u81ea\u7136\u8a9e\u8a00\u63cf\u8ff0\u751f\u6210\u5716\u8868\u3002\u900f\u904e\u50cf\u300c<strong data-nodeid=\"28991\">OpenDocs<\/strong>\u300d\uff08VP \u7684\u6587\u4ef6\u5e73\u53f0\uff09\uff0c\u60a8\u53ea\u9700\u63cf\u8ff0\u60a8\u7684\u9700\u6c42\uff1a<\/p>\n<blockquote data-nodeid=\"28759\">\n<p data-nodeid=\"28760\">\u300c\u5efa\u7acb\u4e00\u500b\u6d41\u7a0b\u5716\uff0c\u986f\u793a\u4f7f\u7528\u8005\u767b\u5165\u3002\u82e5\u6191\u8b49\u6709\u6548\uff0c\u5247\u91cd\u65b0\u5c0e\u5411\u81f3\u4e3b\u63a7\u53f0\u3002\u82e5\u7121\u6548\uff0c\u5247\u986f\u793a\u932f\u8aa4\u4e26\u5141\u8a31 3 \u6b21\u5617\u8a66\u3002\u5931\u6557 3 \u6b21\u5f8c\uff0c\u9396\u5b9a\u5e33\u865f\u3002\u300d<\/p>\n<\/blockquote>\n<p data-nodeid=\"28761\"><strong data-nodeid=\"28998\">AI \u751f\u6210\u7684 Mermaid\uff1a<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"gyFaFpN\"><img alt=\"\" class=\"alignnone size-full wp-image-25235\" decoding=\"async\" height=\"948\" loading=\"lazy\" sizes=\"auto, (max-width: 883px) 100vw, 883px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391.png 883w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391-279x300.png 279w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391-768x825.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391-140x150.png 140w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5dbd78391-400x429.png 400w\" width=\"883\"\/><\/p>\n<p data-nodeid=\"28761\"><strong data-nodeid=\"28998\">\u00a0<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1UU1LAzEQvQv+hzlJe+hBxJsIZbuHgkqxKkjYQ0ym3eBuIpPURbr+d\/Ox2VXRnN7MvDfzZrJrTCdqTg4eVqcn4N\/W+WjGHi0SLJ3D9s1ZuDF7pas5LBbXUGqHVBBKyyKEsuWqgTPYcGs7Q7JKjSZelD3xRknu8JgBhBpqp3hjP5NkLHlBH4MeVtzWL4aTZPcoFaFw4MyUrf5QrvV70hY1ite8xHHc5gouhoE\/CFH7jLaHtRaErffGRpRvAYU5hMWGuVM97LitTVcSGWIBQYRwi9byPQ6CkfLrlv\/5uTO9v75PChEGs4BhCGDn25xfQuv\/Jum\/MZMh1HLZIDkWkA\/FgZT7gJhLH5d9ZebgS87Yhozw3kNgq3mijXfPtC8e9r3b\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kU1LAkEYx+99ijnqwUNEtwhEPQTdjC6Lh213wkjdGCc8aKCUr5StkC\/bmylma6QriCFp9GWc3Zlv0bqr9kZzGJjn+f2f5\/\/Msx+SYkKQRxjseFeAefzYfDi46fuHcaXSZJrUqrTTNpQxST8GnMDl2gS+CIbIg6AY5ehkZMbZzZh0ZXY6nI5faS5LtIzRnASscl+sJd3lQwcij2Gcdaq0m9czJfM+schFasYl9Nu8Xs4lgJePBvckHokcy17olT7pF4lcotnBdDTWi0\/ksh\/4KzbOGpbYE4TCoRtjGD7C0bg9iP5i5kZgA6zZXX8wduualgBbEQHBMIxgjjTvSeHBFlM1Z4qJotpNl5A1mj8oxXwISYhjDc1ovbFzjT63qFrQU5rNL4lfv\/iPESK3E2BbMqOCIB2bVlixQnrXZDSgSh2srgOSyzC5Ztf+xtluYER0hyDCnKFMWDJFenmSVmm3PXP2bV1zZwt67kx0cFQpG3LGGMr6XT3gtKjlMhbUJ5M3B5c=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28762\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">flowchart TD\n    Start([\u4f7f\u7528\u8005\u5617\u8a66\u767b\u5165]) --&gt; EnterCreds[\u8f38\u5165\u96fb\u5b50\u90f5\u4ef6\u8207\u5bc6\u78bc]\n    EnterCreds --&gt; Validate{\u9a57\u8b49\u6191\u8b49}\n    Validate --&gt;|\u6709\u6548| Dashboard[\u91cd\u65b0\u5c0e\u5411\u81f3\u4e3b\u63a7\u53f0]\n    Validate --&gt;|\u7121\u6548| CheckAttempts{\u5617\u8a66\u6b21\u6578 &lt; 3}\n    CheckAttempts --&gt;|\u662f| Increment[\u589e\u52a0\u5617\u8a66\u8a08\u6578\u5668]\n    Increment --&gt; ShowError[\u986f\u793a\u932f\u8aa4\u8a0a\u606f]\n    ShowError --&gt; EnterCreds\n    CheckAttempts --&gt;|\u5426| LockAccount[\u9396\u5b9a\u5e33\u865f 15 \u5206\u9418]\n    LockAccount --&gt; SendAlert[\u767c\u9001\u5b89\u5168\u8b66\u793a\u96fb\u5b50\u90f5\u4ef6]\n    SendAlert --&gt; End([\u8655\u7406\u7d50\u675f])\n    Dashboard --&gt; End\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kU1LAkEYx+99ijnqwUNEtwhEPQTdjC6Lh213wkjdGCc8aKCUr5StkC\/bmylma6QriCFp9GWc3Zlv0bqr9kZzGJjn+f2f5\/\/Msx+SYkKQRxjseFeAefzYfDi46fuHcaXSZJrUqrTTNpQxST8GnMDl2gS+CIbIg6AY5ehkZMbZzZh0ZXY6nI5faS5LtIzRnASscl+sJd3lQwcij2Gcdaq0m9czJfM+schFasYl9Nu8Xs4lgJePBvckHokcy17olT7pF4lcotnBdDTWi0\/ksh\/4KzbOGpbYE4TCoRtjGD7C0bg9iP5i5kZgA6zZXX8wduualgBbEQHBMIxgjjTvSeHBFlM1Z4qJotpNl5A1mj8oxXwISYhjDc1ovbFzjT63qFrQU5rNL4lfv\/iPESK3E2BbMqOCIB2bVlixQnrXZDSgSh2srgOSyzC5Ztf+xtluYER0hyDCnKFMWDJFenmSVmm3PXP2bV1zZwt67kx0cFQpG3LGGMr6XT3gtKjlMhbUJ5M3B5c=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1UU1LAzEQvQv+hzlJe+hBxJsIZbuHgkqxKkjYQ0ym3eBuIpPURbr+d\/Ox2VXRnN7MvDfzZrJrTCdqTg4eVqcn4N\/W+WjGHi0SLJ3D9s1ZuDF7pas5LBbXUGqHVBBKyyKEsuWqgTPYcGs7Q7JKjSZelD3xRknu8JgBhBpqp3hjP5NkLHlBH4MeVtzWL4aTZPcoFaFw4MyUrf5QrvV70hY1ite8xHHc5gouhoE\/CFH7jLaHtRaErffGRpRvAYU5hMWGuVM97LitTVcSGWIBQYRwi9byPQ6CkfLrlv\/5uTO9v75PChEGs4BhCGDn25xfQuv\/Jum\/MZMh1HLZIDkWkA\/FgZT7gJhLH5d9ZebgS87Yhozw3kNgq3mijXfPtC8e9r3b\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"28763\">\u5716\u8868\u985e\u578b\u9593\u7684\u8f49\u63db<\/h3>\n<p data-nodeid=\"28764\">AI \u4e5f\u80fd\u5728\u4e0d\u540c\u5716\u8868\u683c\u5f0f\u9593\u9032\u884c\u8f49\u63db\u3002\u9700\u8981\u5c07 PlantUML \u5716\u8868\u8f49\u63db\u70ba Mermaid \u55ce\uff1fAI \u5de5\u5177\u53ef\u4ee5\u8655\u7406\uff1a<\/p>\n<p data-nodeid=\"28765\"><strong data-nodeid=\"29004\">PlantUML \u8f38\u5165\uff1a<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"GzAyyzr\"><img alt=\"\" class=\"alignnone size-full wp-image-25236\" decoding=\"async\" height=\"358\" loading=\"lazy\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ddd0aafe.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ddd0aafe.png 390w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ddd0aafe-300x275.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ddd0aafe-150x138.png 150w\" width=\"390\"\/><\/p>\n<p data-nodeid=\"28765\"><strong data-nodeid=\"29004\">\u00a0<\/strong><\/p>\n<pre data-nodeid=\"28766\"><code>@startuml\nactor User\nparticipant \"\u524d\u7aef\" as FE\nparticipant \"\u5f8c\u7aef\" as BE\ndatabase \"DB\" as DB\n\nUser -&gt; FE: \u9ede\u64ca\u767b\u5165\nFE -&gt; BE: POST \/login\nBE -&gt; DB: SELECT user\nDB --&gt; BE: \u4f7f\u7528\u8005\u8cc7\u6599\nBE --&gt; FE: JWT token\nFE --&gt; User: \u986f\u793a\u4e3b\u63a7\u53f0\n@enduml\n<\/code><\/pre>\n<p data-nodeid=\"28767\"><strong data-nodeid=\"29008\">AI \u8f49\u63db\u7684 Mermaid\uff1a<\/strong><\/p>\n<p>\u00a0<\/p>\n<p id=\"BSjicDY\"><img alt=\"\" class=\"alignnone size-full wp-image-25237\" decoding=\"async\" height=\"483\" loading=\"lazy\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" src=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e.png\" srcset=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e.png 850w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e-300x170.png 300w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e-768x436.png 768w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e-150x85.png 150w, https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5df81122e-400x227.png 400w\" width=\"850\"\/><\/p>\n<p data-nodeid=\"28767\"><strong data-nodeid=\"29008\">\u00a0<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptjkEOgjAQRfcm3mEuQNyzYCHgwpBoQo3roTTQgC22JV7faUpV1Fk0mb6fN9+K+ywUF4XEzuBtuwEa5E4buFhhwj6hcZLLCZWDg9HKCdX+kj3y4S8o0GGDVgQSXi9PsizaUshHyQeodCdVSEREqcWcwvlUM9iN79BCKBOPpFCXVZkzmF\/1I0o+VR5DS2QtWnU6Xhk4Tf9fjSjk+9OpXj9Ib\/tGo2mfzR1mgw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorTi0sTc1LTnXJTEwvSszlUgCCxOSS\/CKF0OLUIjC3ILGoJDM5syAxr0TBrSg\/ryQ1LwVDwikxORubuEtiSWJSYnEqWAJMgMzVtbODmWSl8HL3vGeTu57P3P20dSlYBUwKqApqrJVCgH9wiIJ+Tn56Zh5YDVQCqARmg5VCsKuPq3OIQinM4TAZXWSDnuzd\/3zKihcNrS82tz+bNhPFMBRneYWHKJTkA8VR3QRUA\/IB0NkL1z9fsuvJjt3P+pY\/7d8AANFEd30=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\" data-nodeid=\"28768\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">sequenceDiagram\n    actor User\n    participant Frontend\n    participant Backend\n    participant Database\n    \n    User-&gt;&gt;Frontend: \u9ede\u64ca\u767b\u5165\n    Frontend-&gt;&gt;Backend: POST \/login\n    Backend-&gt;&gt;Database: SELECT user\n    Database--&gt;&gt;Backend: \u4f7f\u7528\u8005\u8cc7\u6599\n    Backend--&gt;&gt;Frontend: JWT token\n    Frontend--&gt;&gt;User: \u986f\u793a\u4e3b\u63a7\u53f0\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNorTi0sTc1LTnXJTEwvSszlUgCCxOSS\/CKF0OLUIjC3ILGoJDM5syAxr0TBrSg\/ryQ1LwVDwikxORubuEtiSWJSYnEqWAJMgMzVtbODmWSl8HL3vGeTu57P3P20dSlYBUwKqApqrJVCgH9wiIJ+Tn56Zh5YDVQCqARmg5VCsKuPq3OIQinM4TAZXWSDnuzd\/3zKihcNrS82tz+bNhPFMBRneYWHKJTkA8VR3QRUA\/IB0NkL1z9fsuvJjt3P+pY\/7d8AANFEd30=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptjkEOgjAQRfcm3mEuQNyzYCHgwpBoQo3roTTQgC22JV7faUpV1Fk0mb6fN9+K+ywUF4XEzuBtuwEa5E4buFhhwj6hcZLLCZWDg9HKCdX+kj3y4S8o0GGDVgQSXi9PsizaUshHyQeodCdVSEREqcWcwvlUM9iN79BCKBOPpFCXVZkzmF\/1I0o+VR5DS2QtWnU6Xhk4Tf9fjSjk+9OpXj9Ib\/tGo2mfzR1mgw==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f Mermaid<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"28769\">\u4e92\u52d5\u5f0f\u804a\u5929\u6a5f\u5668\u4eba\u6574\u5408<\/h3>\n<p data-nodeid=\"28770\">\u90e8\u5206\u5e73\u53f0\u73fe\u5df2\u63d0\u4f9b\u7528\u65bc\u5efa\u7acb\u5716\u8868\u7684\u804a\u5929\u6a5f\u5668\u4eba\u4ecb\u9762\u3002\u60a8\u53ef\u4ee5\u9032\u884c\u5c0d\u8a71\uff1a<\/p>\n<blockquote data-nodeid=\"28771\">\n<p data-nodeid=\"28772\"><strong data-nodeid=\"29022\">\u4f7f\u7528\u8005\uff1a<\/strong>\u300c\u5728\u6211\u7684\u67b6\u69cb\u5716\u4e2d\u65b0\u589e\u4e00\u500b\u540d\u70ba\u300e\u5eab\u5b58\u670d\u52d9\u300f\u7684\u65b0\u670d\u52d9\u3002\u300d<\/p>\n<p data-nodeid=\"28773\"><strong data-nodeid=\"29032\">AI\uff1a<\/strong>\u300c\u6211\u5c07\u65b0\u589e\u4e00\u500b\u5eab\u5b58\u670d\u52d9\uff0c\u9023\u63a5\u5230\u60a8\u73fe\u6709\u7684\u7522\u54c1\u8207\u8a02\u55ae\u670d\u52d9\u3002\u300d<\/p>\n<p data-nodeid=\"28774\"><em data-nodeid=\"29036\">\u5716\u8868\u6703\u81ea\u52d5\u66f4\u65b0<\/em><\/p>\n<p data-nodeid=\"28775\"><strong data-nodeid=\"29048\">\u4f7f\u7528\u8005\uff1a<\/strong>\u300c\u5be6\u969b\u4e0a\uff0c\u8acb\u8b93\u5b83\u4e5f\u9023\u63a5\u5230\u4e00\u500b\u540d\u70ba\u300eInventoryDB\u300f\u7684\u65b0\u8cc7\u6599\u5eab\u3002\u300d<\/p>\n<p data-nodeid=\"28776\"><strong data-nodeid=\"29056\">AI\uff1a<\/strong>\u300c\u5b8c\u6210\u3002\u5eab\u5b58\u670d\u52d9\u73fe\u5728\u5df2\u9023\u63a5\u5230\u7522\u54c1\u670d\u52d9\u3001\u8a02\u55ae\u670d\u52d9\u4ee5\u53ca\u65b0\u7684 InventoryDB\u3002\u300d<\/p>\n<\/blockquote>\n<hr data-nodeid=\"28777\"\/>\n<h2 data-nodeid=\"28778\">\u5c07\u7a0b\u5f0f\u78bc\u5716\u8868\u6574\u5408\u5230\u60a8\u7684\u5de5\u4f5c\u6d41\u7a0b\u4e2d<\/h2>\n<h3 data-nodeid=\"28779\">\u6b65\u9a5f 1\uff1a\u5f9e\u5c0f\u8655\u8457\u624b<\/h3>\n<p data-nodeid=\"28780\">\u4e0d\u8981\u8a66\u5716\u4e00\u6b21\u5c07\u6574\u500b\u7cfb\u7d71\u5716\u8868\u5316\u3002\u5f9e\u55ae\u4e00\u5143\u4ef6\u958b\u59cb\u2014\u2014\u4f8b\u5982\u60a8\u7684\u9a57\u8b49\u6d41\u7a0b\uff0c\u6216\u662f\u60a8\u6b63\u5728\u5efa\u69cb\u7684\u65b0\u529f\u80fd\u3002<\/p>\n<h3 data-nodeid=\"28781\">\u6b65\u9a5f 2\uff1a\u5d4c\u5165\u6587\u4ef6<\/h3>\n<p data-nodeid=\"28782\">\u5c07\u60a8\u7684<code data-backticks=\"1\" data-nodeid=\"29066\">.mermaid<\/code>\u6a94\u6848\u8207\u60a8\u7684\u6587\u4ef6\u4e26\u5217\u5b58\u653e\uff08\u4f8b\u5982\uff0c\u653e\u5728<code data-backticks=\"1\" data-nodeid=\"29068\">\/docs<\/code>\u8cc7\u6599\u593e\u4e2d\uff09\u3002\u4f7f\u7528\u5982<code data-backticks=\"1\" data-nodeid=\"29070\">mermaid-cli<\/code>\u7b49\u5de5\u5177\uff0c\u5728\u5efa\u7f6e\u904e\u7a0b\u4e2d\u5c07\u5176\u6e32\u67d3\u3002<\/p>\n<h3 data-nodeid=\"28783\">\u6b65\u9a5f 3\uff1a\u5584\u7528 VPasCode \u7684\u7d71\u4e00\u5f15\u64ce<\/h3>\n<p data-nodeid=\"28784\">\u5982\u679c\u60a8\u5728\u4e00\u500b\u504f\u597d\u5404\u7570\u7684\u5718\u968a\u4e2d\u5de5\u4f5c\uff0c<strong data-nodeid=\"29082\">VPasCode<\/strong>\u81f3\u95dc\u91cd\u8981\u3002\u5b83\u80fd\u5728\u540c\u4e00\u4f4d\u7f6e\u652f\u63f4\u591a\u7a2e\u7a0b\u5f0f\u78bc\u5716\u8868\u8a9e\u8a00\uff1a<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">YAML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjD0KwkAUBvtA7vBBWo2Q0lYbQSGN9s\/dZ7K4P2GzS0znIbb0dDmJQUSIw5TDFDhYXGrqd07yCqOLEGRh1ANkJQwF0W7zTCpqPJl+k2fAlF5Tes6CvGhVYBGi59KwN6TkspDcaTcatqHsotH4UKDWZMP5dPyLKdCVel6zl8td+haD8\/ebdkMpK\/wosK8wD5tIDb8B1GZNAA==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f YAML<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">YAML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpTVng6Z4VCWEBisXN+SqrCkx1r3+\/peda04mn\/+ie7lz7bvv3phI5nE9a+bO19v2cWL1dKZmJ6UWJusT4vl4LCoylzHk1pACKFxKLkjMyS1OSS0qJUvdzUotzEzBRUFSmpBTn5lbmpeSV6BaW5OQpgoKwQkJOYVxLq64OmOLEkMSmxOFU3tSgF1bgpUBXl+UXZaTn55XopRgpwoKzgYqTwYtW8FysaAJp9XRY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-yaml\" data-nodeid=\"28785\"><code class=\"language-yaml\" data-language=\"yaml\" class=\"language-yaml\"># \u5728 VPasCode \u4e2d\uff0c\u60a8\u53ef\u4ee5\u6df7\u5408\u642d\u914d\uff1a\r\ndiagrams\/\r\n  \u251c\u2500\u2500 architecture.mermaid\r\n  \u251c\u2500\u2500 deployment.puml      # PlantUML\r\n  \u251c\u2500\u2500 database-erd.mermaid\r\n  \u2514\u2500\u2500 workflow.d2          # D2 \u8a9e\u8a00\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpTVng6Z4VCWEBisXN+SqrCkx1r3+\/peda04mn\/+ie7lz7bvv3phI5nE9a+bO19v2cWL1dKZmJ6UWJusT4vl4LCoylzHk1pACKFxKLkjMyS1OSS0qJUvdzUotzEzBRUFSmpBTn5lbmpeSV6BaW5OQpgoKwQkJOYVxLq64OmOLEkMSmxOFU3tSgF1bgpUBXl+UXZaTn55XopRgpwoKzgYqTwYtW8FysaAJp9XRY=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjD0KwkAUBvtA7vBBWo2Q0lYbQSGN9s\/dZ7K4P2GzS0znIbb0dDmJQUSIw5TDFDhYXGrqd07yCqOLEGRh1ANkJQwF0W7zTCpqPJl+k2fAlF5Tes6CvGhVYBGi59KwN6TkspDcaTcatqHsotH4UKDWZMP5dPyLKdCVel6zl8td+haD8\/ebdkMpK\/wosK8wD5tIDb8B1GZNAA==\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f YAML<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"28786\">\u6b65\u9a5f 4\uff1a\u900f\u904e CI\/CD \u5be6\u73fe\u81ea\u52d5\u5316<\/h3>\n<p data-nodeid=\"28787\">\u5c07\u6b65\u9a5f\u52a0\u5165\u60a8\u7684 GitHub Actions \u6216 GitLab CI\uff1a<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">YAML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjrFuwkAQRHtL\/ocRcqSAdFyRzmkoaGlA+YDjbo028e1ad2cRlOTfgzE0dG80mqcxEBepxZ4kUMKOUnQcsGV3Si7mugLSKC1+JwI6Tei4J7Cgee1YAoL6DDNZsFit4yxYLN+vxbwBZPjG5t6Yz2wf6HuGYTQ3o1E0PxO9PCR\/60FOsyOoUF3Vlbnf\/Rh6dQFFsVU\/RpLiCqvgwIWeP7tzRn5Dvoi\/nbXX1Fp70TGZKZvj6L+o2H\/Lq1KD\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f YAML<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">YAML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjjsKwkAARPtA7jCECCpstrCLjRfwEDHZyKrZDVmDBrWxEWwFQRDETrBTkIDX0egxNB8buxmGeTwC4QTMRpZessMGXRYFDvfw3G\/fx5OuAVEsbMzzBPgygs9HDFzArPtcePCkq0ByBoymFZR3o9H+DuUHEOEUnWohA0V\/0R1xEA6zIBIJc5an2g+ysELRLxmeFEzXdI1Uso90\/Vxe36trtl097rfX7fI67\/5lnYmCakElwi0s6bfZlCYyjkjeSS92h2xMP0fsWkg=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-yaml\" data-nodeid=\"28788\"><code class=\"language-yaml\" data-language=\"yaml\" class=\"language-yaml\">- name: \u6e32\u67d3 Mermaid \u5716\u8868\r\n  run: |\r\n    for file in $(find docs -name \"*.mermaid\"); do\r\n      npx @mermaid-js\/mermaid-cli -i $file -o ${file%.mermaid}.png\r\n    done\r\n\r\n- name: \u4e0a\u50b3\u81f3\u6587\u4ef6\u7db2\u7ad9\r\n  run: |\r\n    aws s3 sync docs\/ s3:\/\/your-docs-bucket\/\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjjsKwkAARPtA7jCECCpstrCLjRfwEDHZyKrZDVmDBrWxEWwFQRDETrBTkIDX0egxNB8buxmGeTwC4QTMRpZessMGXRYFDvfw3G\/fx5OuAVEsbMzzBPgygs9HDFzArPtcePCkq0ByBoymFZR3o9H+DuUHEOEUnWohA0V\/0R1xEA6zIBIJc5an2g+ysELRLxmeFEzXdI1Uso90\/Vxe36trtl097rfX7fI67\/5lnYmCakElwi0s6bfZlCYyjkjeSS92h2xMP0fsWkg=\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpdjrFuwkAQRHtL\/ocRcqSAdFyRzmkoaGlA+YDjbo028e1ad2cRlOTfgzE0dG80mqcxEBepxZ4kUMKOUnQcsGV3Si7mugLSKC1+JwI6Tei4J7Cgee1YAoL6DDNZsFit4yxYLN+vxbwBZPjG5t6Yz2wf6HuGYTQ3o1E0PxO9PCR\/60FOsyOoUF3Vlbnf\/Rh6dQFFsVU\/RpLiCqvgwIWeP7tzRn5Dvoi\/nbXX1Fp70TGZKZvj6L+o2H\/Lq1KD\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>\u5728 VPasCode \u4e2d\u7de8\u8f2f YAML<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"28789\">\u6b65\u9a5f 5\uff1a\u5728\u62c9\u53d6\u8acb\u6c42\u4e2d\u9032\u884c\u5be9\u67e5<\/h3>\n<p data-nodeid=\"28790\">\u5236\u5b9a\u653f\u7b56\uff0c\u898f\u5b9a\u6240\u6709\u67b6\u69cb\u8b8a\u66f4\u90fd\u5fc5\u9808\u66f4\u65b0\u5716\u8868\u3002\u4f7f\u7528\u62c9\u53d6\u8acb\u6c42\u8a55\u8ad6\u4f86\u8a0e\u8ad6\u8996\u89ba\u8b8a\u66f4\uff1a<\/p>\n<blockquote data-nodeid=\"28791\">\n<p data-nodeid=\"28792\"><strong data-nodeid=\"29098\">\u5be9\u67e5\u8005\uff1a<\/strong>\u300c\u5feb\u53d6\u4e0d\u61c9\u8a72\u4f4d\u65bc\u8a02\u55ae\u670d\u52d9\u8207\u8cc7\u6599\u5eab\u4e4b\u9593\u55ce\uff1f\u76ee\u524d\u5b83\u50c5\u9644\u52a0\u5728\u7528\u6236\u670d\u52d9\u4e0a\u3002\u300d<\/p>\n<p data-nodeid=\"28793\"><strong data-nodeid=\"29108\">\u4f5c\u8005\uff1a<\/strong>\u300c\u6293\u5f97\u771f\u597d\u3002\u6211\u6703\u66f4\u65b0\u5716\u8868\u3002\u300d<\/p>\n<\/blockquote>\n<hr data-nodeid=\"28794\"\/>\n<h2 data-nodeid=\"28795\">\u5be6\u969b\u5f71\u97ff\uff1a\u6848\u4f8b\u7814\u7a76<\/h2>\n<p data-nodeid=\"28796\">\u8003\u616e\u4e00\u5bb6\u63a1\u7528 Mermaid \u548c VPasCode \u5be6\u65bd\u300c\u5716\u8868\u5373\u7a0b\u5f0f\u78bc\u300d\u7684\u91d1\u878d\u79d1\u6280\u521d\u5275\u516c\u53f8\uff1a<\/p>\n<ul data-nodeid=\"28797\">\n<li data-nodeid=\"28798\">\n<p data-nodeid=\"28799\"><strong data-nodeid=\"29115\">\u4e4b\u524d\uff1a<\/strong>47 \u500b\u975c\u614b Visio \u6a94\u6848\uff0c\u5927\u591a\u6578\u8d85\u904e 6 \u500b\u6708\u672a\u66f4\u65b0\u3002\u65b0\u9032\u54e1\u5de5\u82b1\u4e86 3 \u9031\u624d\u7406\u89e3\u67b6\u69cb\u3002<\/p>\n<\/li>\n<li data-nodeid=\"28800\">\n<p data-nodeid=\"28801\"><strong data-nodeid=\"29120\">\u4e4b\u5f8c\uff1a<\/strong>12 \u500b Mermaid \u5716\u8868\uff0c\u5168\u90e8\u5132\u5b58\u65bc Git \u4e2d\uff0c\u96a8\u6bcf\u500b\u529f\u80fd\u66f4\u65b0\u3002\u65b0\u9032\u54e1\u5de5\u5728\u7b2c\u4e00\u9031\u5373\u80fd\u7522\u51fa\u6210\u679c\u3002<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"28802\">\u5718\u968a\u7684\u6280\u8853\u9577\u6307\u51fa\uff1a\u300c\u6211\u5011\u5df2\u5c07\u5716\u8868\u5f9e\u5408\u898f\u6aa2\u67e5\u9805\u76ee\u8f49\u8b8a\u70ba\u958b\u767c\u6d41\u7a0b\u4e2d\u6d3b\u751f\u751f\u7684\u90e8\u5206\u3002\u7576\u6211\u5011\u8faf\u8ad6\u65b0\u67b6\u69cb\u6642\uff0c\u6211\u5011\u6703\u958b\u555f Mermaid \u7de8\u8f2f\u5668\uff0c\u76f4\u63a5\u7528\u7a0b\u5f0f\u78bc\u7e6a\u88fd\u8349\u5716\u3002\u9019\u662f\u4e00\u9805\u9769\u547d\u6027\u7684\u6539\u8b8a\u3002\u300d<\/p>\n<hr data-nodeid=\"28803\"\/>\n<h2 data-nodeid=\"28804\">\u672a\u4f86\uff1a\u6301\u7e8c\u6027\u6587\u4ef6<\/h2>\n<p data-nodeid=\"28805\">\u6700\u7d42\u76ee\u6a19\u662f\u300c\u6301\u7e8c\u6027\u6587\u4ef6\u300d\uff0c\u5373\u5716\u8868\u53ef\u5f9e\u60a8\u7684\u57fa\u790e\u8a2d\u65bd\u6216\u7a0b\u5f0f\u78bc\u81ea\u52d5\u751f\u6210\u3002\u76f8\u95dc\u5de5\u5177\u5df2\u958b\u59cb\u51fa\u73fe\uff0c\u80fd\u5920\uff1a<\/p>\n<ul data-nodeid=\"28806\">\n<li data-nodeid=\"28807\">\n<p data-nodeid=\"28808\">\u6383\u63cf\u60a8\u7684 Kubernetes \u6e05\u55ae\u4e26\u751f\u6210\u670d\u52d9\u62d3\u64b2\u5716<\/p>\n<\/li>\n<li data-nodeid=\"28809\">\n<p data-nodeid=\"28810\">\u89e3\u6790 OpenAPI\/Swagger \u6a94\u6848\u4e26\u5efa\u7acb API \u6d41\u7a0b\u5716<\/p>\n<\/li>\n<li data-nodeid=\"28811\">\n<p data-nodeid=\"28812\">\u76e3\u63a7\u60a8\u7684\u96f2\u7aef\u8cc7\u6e90\u4e26\u81ea\u52d5\u66f4\u65b0\u67b6\u69cb\u5716<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"28813\">Mermaid \u8655\u65bc\u9019\u5834\u904b\u52d5\u7684\u6838\u5fc3\uff0c\u63d0\u4f9b\u4e00\u7a2e\u7c21\u55ae\u3001\u57fa\u65bc\u6587\u5b57\u7684\u683c\u5f0f\uff0c\u6a5f\u5668\u53ef\u751f\u6210\uff0c\u4eba\u985e\u4e5f\u80fd\u7406\u89e3\u3002<\/p>\n<hr data-nodeid=\"28814\"\/>\n<h2 data-nodeid=\"28815\">\u4eca\u65e5\u958b\u59cb<\/h2>\n<p data-nodeid=\"28816\">\u6e96\u5099\u8d85\u8d8a\u975c\u614b\u5716\u7247\u55ce\uff1f\u9019\u662f\u60a8\u7684\u884c\u52d5\u8a08\u756b\uff1a<\/p>\n<ol data-nodeid=\"28817\">\n<li data-nodeid=\"28818\">\n<p data-nodeid=\"28819\"><strong data-nodeid=\"29147\">\u5b89\u88dd Mermaid \u64f4\u5145\u529f\u80fd<\/strong>  \u5728\u60a8\u559c\u611b\u7684 IDE \u4e2d\uff08VS Code\u3001IntelliJ\uff09<\/p>\n<\/li>\n<li data-nodeid=\"28820\">\n<p data-nodeid=\"28821\"><strong data-nodeid=\"29156\">\u5efa\u7acb\u60a8\u7684\u7b2c\u4e00\u5f35\u5716\u8868<\/strong>  \u5728\u4e00\u500b <code data-backticks=\"1\" data-nodeid=\"29152\">.md<\/code>  \u6a94\u6848\u4e2d\uff0c\u4f7f\u7528 Mermaid \u8a9e\u6cd5<\/p>\n<\/li>\n<li data-nodeid=\"28822\">\n<p data-nodeid=\"28823\"><strong data-nodeid=\"29163\">\u63a2\u7d22 VPasCode \u7684\u514d\u8cbb\u65b9\u6848<\/strong>  \u9ad4\u9a57 AI \u9a45\u52d5\u7684\u5716\u8868\u7e6a\u88fd\u529f\u80fd<\/p>\n<\/li>\n<li data-nodeid=\"28824\">\n<p data-nodeid=\"28825\"><strong data-nodeid=\"29168\">\u5efa\u7acb\u4e00\u4efd\u6d3b\u751f\u751f\u7684\u6587\u4ef6\u5132\u5b58\u5eab<\/strong>\u8207\u60a8\u7684\u7a0b\u5f0f\u78bc\u5eab\u4e26\u884c<\/p>\n<\/li>\n<li data-nodeid=\"28826\">\n<p data-nodeid=\"28827\"><strong data-nodeid=\"29173\">\u8207\u60a8\u7684\u5718\u968a\u5206\u4eab\u9019\u7bc7\u6587\u7ae0<\/strong>\u4e26\u958b\u555f\u5c0d\u8a71<\/p>\n<\/li>\n<\/ol>\n<p data-nodeid=\"28828\">\u60a8\u7684\u67b6\u69cb\u503c\u5f97\u64c1\u6709\u6bd4\u88ab\u907a\u5fd8\u8cc7\u6599\u593e\u4e2d\u5875\u5c01\u5716\u8868\u66f4\u597d\u7684\u5f85\u9047\u3002\u662f\u6642\u5019\u5c07\u60a8\u7684\u5716\u8868\u8996\u70ba\u5176\u61c9\u6709\u7684\u95dc\u9375\u8cc7\u7522\u4f86\u5c0d\u5f85\u4e86\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u4ef6\u5371\u6a5f \u6bcf\u500b\u5de5\u7a0b\u5718\u968a\u90fd\u6df1\u77e5\u9019\u7a2e\u75db\u82e6\u3002\u4f60\u82b1\u8cbb\u6578\u9031\u6642\u9593\u8a2d\u8a08\u512a\u96c5\u7684\u5fae\u670d\u52d9\u67b6\u69cb\uff0c\u7cbe\u5fc3\u7de8\u7e6a\u80fd\u4ee4\u5229\u5bb3\u95dc\u4fc2\u4eba\u8b9a\u5606\u7684 Vis [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10553,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-10552","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","loop-entry","clr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2\" \/>\n<meta property=\"og:description\" content=\"\u6587\u4ef6\u5371\u6a5f \u6bcf\u500b\u5de5\u7a0b\u5718\u968a\u90fd\u6df1\u77e5\u9019\u7a2e\u75db\u82e6\u3002\u4f60\u82b1\u8cbb\u6578\u9031\u6642\u9593\u8a2d\u8a08\u512a\u96c5\u7684\u5fae\u670d\u52d9\u67b6\u69cb\uff0c\u7cbe\u5fc3\u7de8\u7e6a\u80fd\u4ee4\u5229\u5bb3\u95dc\u4fc2\u4eba\u8b9a\u5606\u7684 Vis [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm \u535a\u5ba2\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-09T08:42:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-09T10:04:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png\" \/><meta property=\"og:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"572\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/\",\"url\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/\",\"name\":\"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2\",\"isPartOf\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png\",\"datePublished\":\"2026-07-09T08:42:16+00:00\",\"dateModified\":\"2026-07-09T10:04:06+00:00\",\"author\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage\",\"url\":\"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png\",\"contentUrl\":\"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png\",\"width\":1024,\"height\":572},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.visual-paradigm.com\/tw\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/#website\",\"url\":\"https:\/\/blog.visual-paradigm.com\/tw\/\",\"name\":\"Visual Paradigm \u535a\u5ba2\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.visual-paradigm.com\/tw\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-TW\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/a649c442f11a53040710ddec750926c6\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/blog.visual-paradigm.com\/tw\/author\/vpadminuser\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/","og_locale":"zh_TW","og_type":"article","og_title":"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2","og_description":"\u6587\u4ef6\u5371\u6a5f \u6bcf\u500b\u5de5\u7a0b\u5718\u968a\u90fd\u6df1\u77e5\u9019\u7a2e\u75db\u82e6\u3002\u4f60\u82b1\u8cbb\u6578\u9031\u6642\u9593\u8a2d\u8a08\u512a\u96c5\u7684\u5fae\u670d\u52d9\u67b6\u69cb\uff0c\u7cbe\u5fc3\u7de8\u7e6a\u80fd\u4ee4\u5229\u5bb3\u95dc\u4fc2\u4eba\u8b9a\u5606\u7684 Vis [&hellip;]","og_url":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/","og_site_name":"Visual Paradigm \u535a\u5ba2","article_published_time":"2026-07-09T08:42:16+00:00","article_modified_time":"2026-07-09T10:04:06+00:00","og_image":[{"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png","type":"","width":"","height":""},{"width":1024,"height":572,"url":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png","type":"image\/png"}],"author":"Admin","twitter_card":"summary_large_image","twitter_image":"https:\/\/blog.visual-paradigm.com\/wp-content\/uploads\/2026\/07\/img_6a4f5ec3ed810.png","twitter_misc":{"\u4f5c\u8005:":"Admin","\u9810\u4f30\u95b1\u8b80\u6642\u9593":"8 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/","url":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/","name":"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b - Visual Paradigm \u535a\u5ba2","isPartOf":{"@id":"https:\/\/blog.visual-paradigm.com\/tw\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage"},"image":{"@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png","datePublished":"2026-07-09T08:42:16+00:00","dateModified":"2026-07-09T10:04:06+00:00","author":{"@id":"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/a649c442f11a53040710ddec750926c6"},"breadcrumb":{"@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/"]}]},{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#primaryimage","url":"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png","contentUrl":"https:\/\/blog.visual-paradigm.com\/tw\/wp-content\/uploads\/sites\/6\/2026\/07\/img_6a4f5ec3ed810.png","width":1024,"height":572},{"@type":"BreadcrumbList","@id":"https:\/\/blog.visual-paradigm.com\/tw\/beyond-static-images-unlocking-the-power-of-diagram-as-code-with-mermaid-and-ai-tooling\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.visual-paradigm.com\/tw\/"},{"@type":"ListItem","position":2,"name":"\u8d85\u8d8a\u975c\u614b\u5716\u50cf\uff1a\u5229\u7528 Mermaid \u8207 AI \u5de5\u5177\u89e3\u9396\u5716\u5f62\u5373\u7a0b\u5f0f\u78bc\u7684\u6f5b\u529b"}]},{"@type":"WebSite","@id":"https:\/\/blog.visual-paradigm.com\/tw\/#website","url":"https:\/\/blog.visual-paradigm.com\/tw\/","name":"Visual Paradigm \u535a\u5ba2","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.visual-paradigm.com\/tw\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-TW"},{"@type":"Person","@id":"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/a649c442f11a53040710ddec750926c6","name":"Admin","image":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/blog.visual-paradigm.com\/tw\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b756c36f5e9132f6067fb4d22bef2e3?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/blog.visual-paradigm.com\/tw\/author\/vpadminuser\/"}]}},"modified_by":"Admin","_links":{"self":[{"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/posts\/10552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/comments?post=10552"}],"version-history":[{"count":0,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/posts\/10552\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/media\/10553"}],"wp:attachment":[{"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/media?parent=10552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/categories?post=10552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.visual-paradigm.com\/tw\/wp-json\/wp\/v2\/tags?post=10552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}