md2ui 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +65 -20
  2. package/bin/build.js +13 -2
  3. package/bin/md2ui.js +25 -12
  4. package/package.json +2 -2
  5. package/public/docs/02-Markdown/346/270/262/346/237/223/00-/345/237/272/347/241/200/350/257/255/346/263/225.md +2 -0
  6. package/public/docs/02-Markdown/346/270/262/346/237/223/06-Mermaid/345/244/215/346/235/202/345/233/276/350/241/250/346/265/213/350/257/225.md +1376 -0
  7. package/public/docs/02-Markdown/346/270/262/346/237/223/assets/img-1777383093712.png +0 -0
  8. package/public/docs/03-/345/257/274/350/210/252/344/270/216/345/270/203/345/261/200/05-/345/244/247/347/272/262/345/216/213/345/212/233/346/265/213/350/257/225.md +340 -0
  9. package/public/docs/07-/347/247/273/345/212/250/347/253/257/351/200/202/351/205/215/00-/345/223/215/345/272/224/345/274/217/345/270/203/345/261/200.md +4 -4
  10. package/src/App.vue +36 -61
  11. package/src/components/ImageZoom.vue +9 -123
  12. package/src/components/MermaidNodeView.vue +10 -2
  13. package/src/components/MobileSearch.vue +97 -0
  14. package/src/components/TableOfContents.vue +42 -6
  15. package/src/composables/useDocManager.js +134 -44
  16. package/src/composables/useDocTree.js +26 -50
  17. package/src/composables/useMarkdown.js +51 -140
  18. package/src/composables/useMermaidCache.js +15 -0
  19. package/src/composables/useScroll.js +317 -32
  20. package/src/composables/useSearch.js +12 -11
  21. package/src/config.js +1 -4
  22. package/src/services/DocService.js +0 -16
  23. package/src/style.css +235 -10
  24. package/src/utils/imageConverter.js +129 -0
  25. package/vite-plugin-doc-api.js +158 -157
  26. package/vite.config.js +5 -1
  27. package/src/components/SearchPanel.vue +0 -90
  28. package/src/components/TableBubbleMenu.vue +0 -177
  29. package/src/composables/useExportPdf.js +0 -102
@@ -0,0 +1,1376 @@
1
+ # Mermaid 超复杂图表压力测试
2
+
3
+ 本文档用于测试 Mermaid 在极端复杂场景下的渲染能力,包含大规模节点、深层嵌套、复杂交互关系等场景。
4
+
5
+ \## 1. 大规模微服务架构流程图
6
+
7
+ 模拟一个包含 30+ 节点的电商微服务架构全链路调用关系。
8
+
9
+ ```mermaid
10
+ graph TB
11
+ subgraph 客户端层
12
+ WEB[Web 前端]
13
+ APP[移动 App]
14
+ H5[H5 页面]
15
+ MINI[小程序]
16
+ end
17
+
18
+ subgraph 网关层
19
+ NGINX[Nginx 负载均衡]
20
+ GW[API Gateway]
21
+ AUTH[鉴权中心]
22
+ LIMIT[限流熔断]
23
+ end
24
+
25
+ subgraph 业务服务层
26
+ subgraph 用户域
27
+ USER_SVC[用户服务]
28
+ MEMBER_SVC[会员服务]
29
+ ADDR_SVC[地址服务]
30
+ end
31
+ subgraph 商品域
32
+ PRODUCT_SVC[商品服务]
33
+ SKU_SVC[SKU 服务]
34
+ CATEGORY_SVC[分类服务]
35
+ BRAND_SVC[品牌服务]
36
+ REVIEW_SVC[评价服务]
37
+ end
38
+ subgraph 交易域
39
+ ORDER_SVC[订单服务]
40
+ CART_SVC[购物车服务]
41
+ PAY_SVC[支付服务]
42
+ REFUND_SVC[退款服务]
43
+ COUPON_SVC[优惠券服务]
44
+ PROMO_SVC[促销服务]
45
+ end
46
+ subgraph 物流域
47
+ LOGISTICS_SVC[物流服务]
48
+ WAREHOUSE_SVC[仓储服务]
49
+ DELIVERY_SVC[配送服务]
50
+ end
51
+ subgraph 消息域
52
+ NOTIFY_SVC[通知服务]
53
+ SMS_SVC[短信服务]
54
+ PUSH_SVC[推送服务]
55
+ EMAIL_SVC[邮件服务]
56
+ end
57
+ end
58
+
59
+ subgraph 中间件层
60
+ REDIS[(Redis 集群)]
61
+ MQ[RocketMQ]
62
+ ES[(Elasticsearch)]
63
+ NACOS[Nacos 注册中心]
64
+ SENTINEL[Sentinel 控制台]
65
+ end
66
+
67
+ subgraph 数据层
68
+ MYSQL_MASTER[(MySQL 主库)]
69
+ MYSQL_SLAVE[(MySQL 从库)]
70
+ MONGO[(MongoDB)]
71
+ OSS[对象存储 OSS]
72
+ end
73
+
74
+ WEB & APP & H5 & MINI --> NGINX
75
+ NGINX --> GW
76
+ GW --> AUTH
77
+ GW --> LIMIT
78
+ AUTH --> USER_SVC
79
+ LIMIT --> SENTINEL
80
+
81
+ GW --> USER_SVC & PRODUCT_SVC & ORDER_SVC & CART_SVC & LOGISTICS_SVC
82
+ USER_SVC --> MEMBER_SVC & ADDR_SVC
83
+ PRODUCT_SVC --> SKU_SVC & CATEGORY_SVC & BRAND_SVC & REVIEW_SVC
84
+ ORDER_SVC --> PAY_SVC & REFUND_SVC & COUPON_SVC & PROMO_SVC
85
+ ORDER_SVC --> LOGISTICS_SVC
86
+ LOGISTICS_SVC --> WAREHOUSE_SVC & DELIVERY_SVC
87
+ NOTIFY_SVC --> SMS_SVC & PUSH_SVC & EMAIL_SVC
88
+
89
+ ORDER_SVC --> MQ
90
+ PAY_SVC --> MQ
91
+ MQ --> NOTIFY_SVC
92
+ MQ --> LOGISTICS_SVC
93
+
94
+ USER_SVC & ORDER_SVC & PAY_SVC --> MYSQL_MASTER
95
+ MYSQL_MASTER --> MYSQL_SLAVE
96
+ PRODUCT_SVC & REVIEW_SVC --> MONGO
97
+ PRODUCT_SVC --> ES
98
+ USER_SVC & PRODUCT_SVC & ORDER_SVC --> REDIS
99
+ REVIEW_SVC & PRODUCT_SVC --> OSS
100
+
101
+ USER_SVC & PRODUCT_SVC & ORDER_SVC & LOGISTICS_SVC --> NACOS
102
+ ```
103
+
104
+ ## 2. 超长序列图 - 电商下单全链路
105
+
106
+ 模拟从用户点击下单到收货完成的完整时序交互,涉及 12 个参与者。
107
+
108
+ ```mermaid
109
+ sequenceDiagram
110
+ actor 用户
111
+ participant 前端
112
+ participant 网关
113
+ participant 购物车
114
+ participant 订单服务
115
+ participant 库存服务
116
+ participant 优惠券
117
+ participant 支付服务
118
+ participant 第三方支付
119
+ participant 消息队列
120
+ participant 物流服务
121
+ participant 通知服务
122
+
123
+ 用户->>前端: 点击结算
124
+ 前端->>网关: POST /api/order/confirm
125
+ 网关->>网关: JWT 鉴权校验
126
+ 网关->>购物车: 获取选中商品
127
+ 购物车-->>网关: 返回商品列表
128
+
129
+ 网关->>订单服务: 创建预订单
130
+ activate 订单服务
131
+
132
+ 订单服务->>库存服务: 预扣库存
133
+ activate 库存服务
134
+ 库存服务->>库存服务: 检查库存充足性
135
+ alt 库存不足
136
+ 库存服务-->>订单服务: 库存不足异常
137
+ 订单服务-->>前端: 提示库存不足
138
+ 前端-->>用户: 显示库存不足弹窗
139
+ else 库存充足
140
+ 库存服务-->>订单服务: 预扣成功,返回锁定ID
141
+ end
142
+ deactivate 库存服务
143
+
144
+ 订单服务->>优惠券: 核销优惠券
145
+ activate 优惠券
146
+ 优惠券->>优惠券: 校验有效期和使用条件
147
+ alt 优惠券无效
148
+ 优惠券-->>订单服务: 优惠券不可用
149
+ 订单服务->>库存服务: 回滚预扣库存
150
+ 订单服务-->>前端: 提示优惠券失效
151
+ else 优惠券有效
152
+ 优惠券-->>订单服务: 核销成功,返回折扣金额
153
+ end
154
+ deactivate 优惠券
155
+
156
+ 订单服务->>订单服务: 计算最终金额(商品价+运费-优惠)
157
+ 订单服务-->>前端: 返回订单确认信息
158
+ deactivate 订单服务
159
+
160
+ 前端-->>用户: 展示订单确认页
161
+ 用户->>前端: 确认支付
162
+ 前端->>网关: POST /api/pay/create
163
+
164
+ 网关->>支付服务: 创建支付单
165
+ activate 支付服务
166
+ 支付服务->>第三方支付: 调用支付接口
167
+ activate 第三方支付
168
+ 第三方支付-->>支付服务: 返回支付链接/二维码
169
+ deactivate 第三方支付
170
+ 支付服务-->>前端: 返回支付参数
171
+ deactivate 支付服务
172
+
173
+ 前端-->>用户: 唤起支付(微信/支付宝)
174
+ 用户->>第三方支付: 完成支付
175
+ 第三方支付->>支付服务: 异步回调通知
176
+ activate 支付服务
177
+ 支付服务->>支付服务: 验签 + 幂等校验
178
+ 支付服务->>订单服务: 更新订单状态为已支付
179
+ 支付服务->>消息队列: 发送支付成功事件
180
+ deactivate 支付服务
181
+
182
+ 消息队列->>库存服务: 确认扣减库存
183
+ 消息队列->>物流服务: 触发发货流程
184
+ activate 物流服务
185
+ 物流服务->>物流服务: 分配仓库 + 生成运单
186
+ 物流服务->>通知服务: 发送发货通知
187
+ deactivate 物流服务
188
+
189
+ 通知服务->>用户: 短信/推送:您的订单已发货
190
+
191
+ Note over 用户,通知服务: === 等待物流配送中 ===
192
+
193
+ 物流服务->>通知服务: 签收回调
194
+ 通知服务->>用户: 推送:您的包裹已签收
195
+ 用户->>前端: 确认收货
196
+ 前端->>订单服务: 更新订单为已完成
197
+ 订单服务->>消息队列: 发送订单完成事件
198
+ 消息队列->>通知服务: 触发评价邀请
199
+ 通知服务->>用户: 推送:请对本次购物进行评价
200
+ ```
201
+
202
+ ## 3. 复杂状态机 - 订单生命周期
203
+
204
+ 包含多层嵌套状态、并行状态和历史状态的完整订单状态机。
205
+
206
+ ```mermaid
207
+ stateDiagram-v2
208
+ [*] --> 待提交
209
+
210
+ 待提交 --> 待支付: 提交订单
211
+ 待提交 --> 已取消: 用户取消
212
+
213
+ state 待支付 {
214
+ [*] --> 等待用户操作
215
+ 等待用户操作 --> 支付处理中: 发起支付
216
+ 支付处理中 --> 支付验证: 第三方回调
217
+ 支付验证 --> 等待用户操作: 验证失败(可重试)
218
+ }
219
+
220
+ 待支付 --> 已支付: 支付成功
221
+ 待支付 --> 已取消: 超时未支付(30分钟)
222
+ 待支付 --> 已取消: 用户主动取消
223
+
224
+ state 已支付 {
225
+ [*] --> 待审核
226
+ 待审核 --> 风控审核中: 触发风控规则
227
+ 待审核 --> 待发货: 审核通过
228
+ 风控审核中 --> 待发货: 风控通过
229
+ 风控审核中 --> 审核拒绝: 风控拦截
230
+ }
231
+
232
+ 已支付 --> 待发货: 审核完成
233
+
234
+ state 待发货 {
235
+ [*] --> 仓库分配
236
+ 仓库分配 --> 拣货中: 分配完成
237
+ 拣货中 --> 打包中: 拣货完成
238
+ 打包中 --> 已出库: 打包完成
239
+ }
240
+
241
+ 待发货 --> 配送中: 物流揽收
242
+
243
+ state 配送中 {
244
+ [*] --> 运输中
245
+ 运输中 --> 派送中: 到达目的城市
246
+ 派送中 --> 待签收: 快递员派送
247
+ }
248
+
249
+ 配送中 --> 已签收: 用户签收
250
+ 配送中 --> 异常件: 物流异常
251
+
252
+ 异常件 --> 配送中: 重新派送
253
+ 异常件 --> 退回中: 无法送达
254
+
255
+ 已签收 --> 已完成: 确认收货(或7天自动确认)
256
+
257
+ state 售后流程 {
258
+ [*] --> 售后申请中
259
+ 售后申请中 --> 退款审核: 仅退款
260
+ 售后申请中 --> 退货审核: 退货退款
261
+ 退款审核 --> 退款中: 审核通过
262
+ 退货审核 --> 待退货: 审核通过
263
+ 待退货 --> 退货运输中: 用户寄回
264
+ 退货运输中 --> 退货验收: 商家收货
265
+ 退货验收 --> 退款中: 验收通过
266
+ 退货验收 --> 退货拒绝: 验收不通过
267
+ 退款中 --> 退款完成: 退款到账
268
+ }
269
+
270
+ 已签收 --> 售后流程: 申请售后
271
+ 已完成 --> 售后流程: 申请售后(15天内)
272
+
273
+ 已完成 --> [*]
274
+ 已取消 --> [*]
275
+ ```
276
+
277
+ ## 4. 大规模类图 - 领域模型
278
+
279
+ 模拟电商核心领域的完整类关系图,包含继承、组合、聚合、依赖等多种关系。
280
+
281
+ ```mermaid
282
+ classDiagram
283
+ class BaseEntity {
284
+ <<abstract>>
285
+ +Long id
286
+ +Date createdAt
287
+ +Date updatedAt
288
+ +String createdBy
289
+ +Boolean deleted
290
+ }
291
+
292
+ class User {
293
+ +String username
294
+ +String phone
295
+ +String email
296
+ +String avatar
297
+ +UserStatus status
298
+ +register()
299
+ +login()
300
+ +updateProfile()
301
+ }
302
+
303
+ class UserStatus {
304
+ <<enumeration>>
305
+ ACTIVE
306
+ FROZEN
307
+ CANCELLED
308
+ }
309
+
310
+ class MemberLevel {
311
+ <<enumeration>>
312
+ BRONZE
313
+ SILVER
314
+ GOLD
315
+ PLATINUM
316
+ DIAMOND
317
+ }
318
+
319
+ class Member {
320
+ +MemberLevel level
321
+ +Integer points
322
+ +Date expireDate
323
+ +upgrade()
324
+ +deductPoints(amount)
325
+ +addPoints(amount)
326
+ }
327
+
328
+ class Address {
329
+ +String province
330
+ +String city
331
+ +String district
332
+ +String detail
333
+ +String zipCode
334
+ +String contactName
335
+ +String contactPhone
336
+ +Boolean isDefault
337
+ }
338
+
339
+ class Product {
340
+ +String name
341
+ +String description
342
+ +Category category
343
+ +Brand brand
344
+ +ProductStatus status
345
+ +BigDecimal minPrice
346
+ +BigDecimal maxPrice
347
+ +onShelf()
348
+ +offShelf()
349
+ }
350
+
351
+ class ProductStatus {
352
+ <<enumeration>>
353
+ DRAFT
354
+ ON_SHELF
355
+ OFF_SHELF
356
+ DELETED
357
+ }
358
+
359
+ class SKU {
360
+ +String skuCode
361
+ +String specDesc
362
+ +BigDecimal price
363
+ +BigDecimal costPrice
364
+ +Integer stock
365
+ +String barcode
366
+ +deductStock(qty)
367
+ +addStock(qty)
368
+ }
369
+
370
+ class Category {
371
+ +String name
372
+ +Integer level
373
+ +Category parent
374
+ +List~Category~ children
375
+ +Integer sortOrder
376
+ }
377
+
378
+ class Brand {
379
+ +String name
380
+ +String logo
381
+ +String description
382
+ +String country
383
+ }
384
+
385
+ class Order {
386
+ +String orderNo
387
+ +User buyer
388
+ +OrderStatus status
389
+ +BigDecimal totalAmount
390
+ +BigDecimal discountAmount
391
+ +BigDecimal payAmount
392
+ +BigDecimal freightAmount
393
+ +Address shippingAddress
394
+ +String remark
395
+ +submit()
396
+ +pay()
397
+ +cancel()
398
+ +confirm()
399
+ }
400
+
401
+ class OrderStatus {
402
+ <<enumeration>>
403
+ PENDING_PAYMENT
404
+ PAID
405
+ SHIPPED
406
+ DELIVERED
407
+ COMPLETED
408
+ CANCELLED
409
+ REFUNDING
410
+ }
411
+
412
+ class OrderItem {
413
+ +SKU sku
414
+ +String productName
415
+ +String skuSpec
416
+ +Integer quantity
417
+ +BigDecimal unitPrice
418
+ +BigDecimal subtotal
419
+ }
420
+
421
+ class Payment {
422
+ +String payNo
423
+ +String tradeNo
424
+ +PayChannel channel
425
+ +BigDecimal amount
426
+ +PayStatus status
427
+ +Date paidAt
428
+ +createPay()
429
+ +callback()
430
+ +refund()
431
+ }
432
+
433
+ class PayChannel {
434
+ <<enumeration>>
435
+ WECHAT
436
+ ALIPAY
437
+ UNION_PAY
438
+ CREDIT_CARD
439
+ }
440
+
441
+ class PayStatus {
442
+ <<enumeration>>
443
+ PENDING
444
+ SUCCESS
445
+ FAILED
446
+ REFUNDED
447
+ }
448
+
449
+ class Cart {
450
+ +User user
451
+ +List~CartItem~ items
452
+ +addItem(sku, qty)
453
+ +removeItem(skuId)
454
+ +updateQty(skuId, qty)
455
+ +clear()
456
+ }
457
+
458
+ class CartItem {
459
+ +SKU sku
460
+ +Integer quantity
461
+ +Boolean checked
462
+ }
463
+
464
+ class Coupon {
465
+ +String name
466
+ +CouponType type
467
+ +BigDecimal threshold
468
+ +BigDecimal discount
469
+ +Date startTime
470
+ +Date endTime
471
+ +Integer totalCount
472
+ +Integer usedCount
473
+ +claim()
474
+ +use()
475
+ +verify()
476
+ }
477
+
478
+ class CouponType {
479
+ <<enumeration>>
480
+ FULL_REDUCTION
481
+ PERCENTAGE_OFF
482
+ FREE_SHIPPING
483
+ FIXED_AMOUNT
484
+ }
485
+
486
+ class Review {
487
+ +User user
488
+ +Product product
489
+ +Order order
490
+ +Integer rating
491
+ +String content
492
+ +List~String~ images
493
+ +publish()
494
+ +reply()
495
+ }
496
+
497
+ class Logistics {
498
+ +String trackingNo
499
+ +String carrier
500
+ +LogisticsStatus status
501
+ +List~LogisticsTrace~ traces
502
+ +ship()
503
+ +updateTrace()
504
+ +sign()
505
+ }
506
+
507
+ class LogisticsStatus {
508
+ <<enumeration>>
509
+ PENDING
510
+ PICKED_UP
511
+ IN_TRANSIT
512
+ DELIVERING
513
+ SIGNED
514
+ EXCEPTION
515
+ }
516
+
517
+ class LogisticsTrace {
518
+ +Date time
519
+ +String location
520
+ +String description
521
+ }
522
+
523
+ BaseEntity <|-- User
524
+ BaseEntity <|-- Product
525
+ BaseEntity <|-- Order
526
+ BaseEntity <|-- Payment
527
+ BaseEntity <|-- Coupon
528
+ BaseEntity <|-- Review
529
+ BaseEntity <|-- Logistics
530
+
531
+ User "1" --> "1" Member : 拥有
532
+ User "1" --> "*" Address : 管理
533
+ User "1" --> "1" Cart : 拥有
534
+ User "1" --> "*" Order : 下单
535
+ User "1" --> "*" Review : 发表
536
+ User --> UserStatus
537
+
538
+ Product "1" --> "*" SKU : 包含
539
+ Product "*" --> "1" Category : 属于
540
+ Product "*" --> "1" Brand : 归属
541
+ Product --> ProductStatus
542
+
543
+ Category "1" --> "*" Category : 子分类
544
+
545
+ Order "1" --> "*" OrderItem : 包含
546
+ Order "1" --> "1" Payment : 关联
547
+ Order "1" --> "0..1" Coupon : 使用
548
+ Order "1" --> "1" Logistics : 关联
549
+ Order --> OrderStatus
550
+ OrderItem "*" --> "1" SKU : 引用
551
+
552
+ Cart "1" --> "*" CartItem : 包含
553
+ CartItem "*" --> "1" SKU : 引用
554
+
555
+ Payment --> PayChannel
556
+ Payment --> PayStatus
557
+ Member --> MemberLevel
558
+ Coupon --> CouponType
559
+ Logistics --> LogisticsStatus
560
+ Logistics "1" --> "*" LogisticsTrace : 包含
561
+ ```
562
+
563
+ ## 5. 复杂甘特图 - 大型项目排期
564
+
565
+ 模拟一个跨 6 个月、多团队并行的大型项目排期。
566
+
567
+ ```mermaid
568
+ gantt
569
+ title 电商平台 V2.0 重构项目排期
570
+ dateFormat YYYY-MM-DD
571
+ axisFormat %m/%d
572
+ todayMarker stroke-width:3px,stroke:#f00
573
+
574
+ section 项目管理
575
+ 需求评审与确认 :done, pm1, 2024-01-02, 10d
576
+ 技术方案设计 :done, pm2, after pm1, 14d
577
+ 里程碑一评审 :milestone, m1, after pm2, 0d
578
+ 中期检查 :milestone, m2, 2024-04-01, 0d
579
+ 上线评审 :milestone, m3, 2024-06-15, 0d
580
+
581
+ section 基础架构组
582
+ 微服务框架搭建 :done, infra1, after pm2, 14d
583
+ API Gateway 开发 :done, infra2, after infra1, 10d
584
+ 统一鉴权中心 :done, infra3, after infra1, 12d
585
+ 分布式配置中心 :done, infra4, after infra2, 7d
586
+ 链路追踪集成 :active, infra5, after infra4, 10d
587
+ 灰度发布系统 :infra6, after infra5, 14d
588
+ 性能压测与调优 :infra7, after infra6, 10d
589
+
590
+ section 用户组
591
+ 用户中心重构 :done, user1, after infra1, 14d
592
+ 会员体系开发 :done, user2, after user1, 10d
593
+ OAuth2 第三方登录 :active, user3, after user2, 10d
594
+ 用户画像系统 :user4, after user3, 14d
595
+ 积分商城 :user5, after user4, 12d
596
+
597
+ section 商品组
598
+ 商品中心重构 :done, prod1, after infra1, 21d
599
+ SKU 管理系统 :done, prod2, after prod1, 14d
600
+ 搜索引擎集成(ES) :active, prod3, after prod2, 14d
601
+ 智能推荐系统 :prod4, after prod3, 21d
602
+ 评价系统升级 :prod5, after prod2, 10d
603
+
604
+ section 交易组
605
+ 订单中心重构 :done, trade1, after infra2, 21d
606
+ 支付系统升级 :active, trade2, after trade1, 14d
607
+ 优惠券引擎 :trade3, after trade2, 14d
608
+ 促销活动系统 :trade4, after trade3, 14d
609
+ 对账系统 :trade5, after trade2, 10d
610
+ 发票系统 :trade6, after trade5, 7d
611
+
612
+ section 物流组
613
+ 物流中台开发 :logi1, after trade1, 14d
614
+ 仓储管理系统 :logi2, after logi1, 14d
615
+ 智能分仓算法 :logi3, after logi2, 10d
616
+ 配送调度系统 :logi4, after logi2, 12d
617
+
618
+ section 前端组
619
+ Design System 搭建 :done, fe1, after pm2, 14d
620
+ PC 端重构 :active, fe2, after fe1, 42d
621
+ H5 端重构 :fe3, after fe1, 35d
622
+ 小程序重构 :fe4, after fe3, 28d
623
+ 管理后台重构 :fe5, after fe2, 28d
624
+
625
+ section 测试与上线
626
+ 集成测试 :test1, 2024-05-15, 14d
627
+ 性能测试 :test2, after test1, 7d
628
+ 安全审计 :test3, after test1, 7d
629
+ UAT 验收 :test4, after test2, 7d
630
+ 预发布环境部署 :deploy1, after test4, 3d
631
+ 正式上线 :milestone, deploy2, after deploy1, 0d
632
+ ```
633
+
634
+ ## 6. 复杂 ER 图 - 数据库设计
635
+
636
+ 模拟电商核心数据库的实体关系图。
637
+
638
+ ```mermaid
639
+ erDiagram
640
+ USERS {
641
+ bigint id PK
642
+ varchar username UK
643
+ varchar phone UK
644
+ varchar email
645
+ varchar password_hash
646
+ varchar avatar_url
647
+ tinyint status
648
+ timestamp created_at
649
+ timestamp updated_at
650
+ }
651
+
652
+ MEMBERS {
653
+ bigint id PK
654
+ bigint user_id FK
655
+ tinyint level
656
+ int points
657
+ date expire_date
658
+ }
659
+
660
+ ADDRESSES {
661
+ bigint id PK
662
+ bigint user_id FK
663
+ varchar province
664
+ varchar city
665
+ varchar district
666
+ varchar detail
667
+ varchar contact_name
668
+ varchar contact_phone
669
+ boolean is_default
670
+ }
671
+
672
+ CATEGORIES {
673
+ bigint id PK
674
+ bigint parent_id FK
675
+ varchar name
676
+ tinyint level
677
+ int sort_order
678
+ }
679
+
680
+ BRANDS {
681
+ bigint id PK
682
+ varchar name
683
+ varchar logo_url
684
+ varchar country
685
+ }
686
+
687
+ PRODUCTS {
688
+ bigint id PK
689
+ varchar name
690
+ text description
691
+ bigint category_id FK
692
+ bigint brand_id FK
693
+ tinyint status
694
+ decimal min_price
695
+ decimal max_price
696
+ timestamp created_at
697
+ }
698
+
699
+ SKUS {
700
+ bigint id PK
701
+ bigint product_id FK
702
+ varchar sku_code UK
703
+ varchar spec_desc
704
+ decimal price
705
+ decimal cost_price
706
+ int stock
707
+ varchar barcode
708
+ }
709
+
710
+ ORDERS {
711
+ bigint id PK
712
+ varchar order_no UK
713
+ bigint user_id FK
714
+ bigint address_id FK
715
+ bigint coupon_id FK
716
+ tinyint status
717
+ decimal total_amount
718
+ decimal discount_amount
719
+ decimal freight_amount
720
+ decimal pay_amount
721
+ varchar remark
722
+ timestamp created_at
723
+ timestamp paid_at
724
+ }
725
+
726
+ ORDER_ITEMS {
727
+ bigint id PK
728
+ bigint order_id FK
729
+ bigint sku_id FK
730
+ varchar product_name
731
+ varchar sku_spec
732
+ int quantity
733
+ decimal unit_price
734
+ decimal subtotal
735
+ }
736
+
737
+ PAYMENTS {
738
+ bigint id PK
739
+ varchar pay_no UK
740
+ bigint order_id FK
741
+ varchar trade_no
742
+ tinyint channel
743
+ decimal amount
744
+ tinyint status
745
+ timestamp paid_at
746
+ }
747
+
748
+ COUPONS {
749
+ bigint id PK
750
+ varchar name
751
+ tinyint type
752
+ decimal threshold
753
+ decimal discount
754
+ timestamp start_time
755
+ timestamp end_time
756
+ int total_count
757
+ int used_count
758
+ }
759
+
760
+ REVIEWS {
761
+ bigint id PK
762
+ bigint user_id FK
763
+ bigint product_id FK
764
+ bigint order_id FK
765
+ tinyint rating
766
+ text content
767
+ json images
768
+ timestamp created_at
769
+ }
770
+
771
+ LOGISTICS {
772
+ bigint id PK
773
+ bigint order_id FK
774
+ varchar tracking_no
775
+ varchar carrier
776
+ tinyint status
777
+ }
778
+
779
+ LOGISTICS_TRACES {
780
+ bigint id PK
781
+ bigint logistics_id FK
782
+ timestamp trace_time
783
+ varchar location
784
+ varchar description
785
+ }
786
+
787
+ CART_ITEMS {
788
+ bigint id PK
789
+ bigint user_id FK
790
+ bigint sku_id FK
791
+ int quantity
792
+ boolean checked
793
+ }
794
+
795
+ USERS ||--o| MEMBERS : "拥有"
796
+ USERS ||--o{ ADDRESSES : "管理"
797
+ USERS ||--o{ ORDERS : "下单"
798
+ USERS ||--o{ REVIEWS : "发表"
799
+ USERS ||--o{ CART_ITEMS : "购物车"
800
+ CATEGORIES ||--o{ CATEGORIES : "子分类"
801
+ CATEGORIES ||--o{ PRODUCTS : "包含"
802
+ BRANDS ||--o{ PRODUCTS : "归属"
803
+ PRODUCTS ||--o{ SKUS : "包含SKU"
804
+ PRODUCTS ||--o{ REVIEWS : "被评价"
805
+ ORDERS ||--o{ ORDER_ITEMS : "包含"
806
+ ORDERS ||--|| PAYMENTS : "支付"
807
+ ORDERS ||--o| COUPONS : "使用"
808
+ ORDERS ||--o| LOGISTICS : "物流"
809
+ ORDERS ||--o{ REVIEWS : "关联"
810
+ ORDER_ITEMS }o--|| SKUS : "引用"
811
+ CART_ITEMS }o--|| SKUS : "引用"
812
+ LOGISTICS ||--o{ LOGISTICS_TRACES : "轨迹"
813
+ ADDRESSES ||--o{ ORDERS : "收货地址"
814
+ ```
815
+
816
+ ## 7. 复杂流程图 - CI/CD 全流程
817
+
818
+ 模拟一个包含多分支、条件判断、并行任务的 CI/CD 流水线。
819
+
820
+ ```mermaid
821
+ graph LR
822
+ subgraph 代码提交阶段
823
+ A[开发者 Push] --> B{分支类型?}
824
+ B -->|feature/*| C[触发 CI]
825
+ B -->|develop| D[触发 CI + 部署 DEV]
826
+ B -->|release/*| E[触发 CI + 部署 STG]
827
+ B -->|main| F[触发 CI + 部署 PROD]
828
+ B -->|hotfix/*| G[触发紧急 CI]
829
+ end
830
+
831
+ subgraph CI 流水线
832
+ C & D & E & F & G --> H[拉取代码]
833
+ H --> I[安装依赖]
834
+ I --> J{并行检查}
835
+ J --> K[ESLint 代码检查]
836
+ J --> L[单元测试]
837
+ J --> M[类型检查 TypeScript]
838
+ J --> N[安全扫描 Snyk]
839
+ K & L & M & N --> O{全部通过?}
840
+ O -->|否| P[通知开发者修复]
841
+ P --> Q[阻断流水线]
842
+ O -->|是| R[构建 Docker 镜像]
843
+ R --> S[推送镜像到 Harbor]
844
+ S --> T[更新镜像 Tag]
845
+ end
846
+
847
+ subgraph DEV 环境部署
848
+ D --> U[Helm 部署到 K8s DEV]
849
+ U --> V[运行冒烟测试]
850
+ V --> W{冒烟通过?}
851
+ W -->|否| X[自动回滚]
852
+ W -->|是| Y[通知测试团队]
853
+ end
854
+
855
+ subgraph STG 环境部署
856
+ E --> Z[Helm 部署到 K8s STG]
857
+ Z --> AA[运行集成测试]
858
+ AA --> AB[运行 E2E 测试]
859
+ AB --> AC[运行性能测试]
860
+ AC --> AD{全部通过?}
861
+ AD -->|否| AE[生成测试报告]
862
+ AE --> AF[通知相关人员]
863
+ AD -->|是| AG[标记为可发布]
864
+ end
865
+
866
+ subgraph PROD 环境部署
867
+ F --> AH{需要审批?}
868
+ AH -->|是| AI[等待 Tech Lead 审批]
869
+ AI --> AJ{审批结果}
870
+ AJ -->|拒绝| AK[终止部署]
871
+ AJ -->|通过| AL[蓝绿部署到 PROD]
872
+ AH -->|否| AL
873
+ AL --> AM[切换 10% 流量]
874
+ AM --> AN[监控 5 分钟]
875
+ AN --> AO{指标正常?}
876
+ AO -->|否| AP[自动回滚]
877
+ AP --> AQ[发送告警]
878
+ AO -->|是| AR[切换 50% 流量]
879
+ AR --> AS[监控 10 分钟]
880
+ AS --> AT{指标正常?}
881
+ AT -->|否| AP
882
+ AT -->|是| AU[切换 100% 流量]
883
+ AU --> AV[部署完成通知]
884
+ end
885
+
886
+ T --> U & Z & AH
887
+ ```
888
+
889
+ ## 8. 用户旅程图 - 电商购物体验
890
+
891
+ ```mermaid
892
+ journey
893
+ title 用户网购完整旅程
894
+ section 发现商品
895
+ 打开App首页: 5: 用户
896
+ 浏览推荐商品: 4: 用户
897
+ 使用搜索功能: 3: 用户
898
+ 筛选和排序结果: 3: 用户
899
+ 查看商品详情: 4: 用户
900
+ 阅读用户评价: 4: 用户
901
+ 对比多个商品: 2: 用户
902
+ section 购买决策
903
+ 加入购物车: 5: 用户
904
+ 选择优惠券: 3: 用户
905
+ 凑单满减: 2: 用户
906
+ 确认收货地址: 4: 用户
907
+ 选择支付方式: 4: 用户
908
+ 完成支付: 5: 用户
909
+ section 等待收货
910
+ 查看订单状态: 3: 用户
911
+ 查看物流信息: 3: 用户
912
+ 联系客服咨询: 2: 用户
913
+ 收到发货通知: 4: 用户
914
+ 等待快递配送: 2: 用户
915
+ section 收货与售后
916
+ 签收包裹: 5: 用户
917
+ 检查商品质量: 4: 用户
918
+ 确认收货: 5: 用户
919
+ 撰写评价: 3: 用户
920
+ 申请售后退款: 1: 用户
921
+ 等待退款到账: 2: 用户
922
+ ```
923
+
924
+ ## 9. Git 分支管理图
925
+
926
+ ```mermaid
927
+ gitGraph
928
+ commit id: "init"
929
+ commit id: "项目初始化"
930
+ branch develop
931
+ checkout develop
932
+ commit id: "搭建基础框架"
933
+ commit id: "配置 CI/CD"
934
+
935
+ branch feature/user
936
+ checkout feature/user
937
+ commit id: "用户注册"
938
+ commit id: "用户登录"
939
+ commit id: "JWT 鉴权"
940
+ checkout develop
941
+ merge feature/user id: "合并用户模块" tag: "v0.1.0"
942
+
943
+ branch feature/product
944
+ checkout feature/product
945
+ commit id: "商品 CRUD"
946
+ commit id: "SKU 管理"
947
+ commit id: "分类树"
948
+ commit id: "搜索集成"
949
+ checkout develop
950
+ merge feature/product id: "合并商品模块" tag: "v0.2.0"
951
+
952
+ branch feature/order
953
+ checkout feature/order
954
+ commit id: "购物车"
955
+ commit id: "下单流程"
956
+ commit id: "支付集成"
957
+ commit id: "订单状态机"
958
+
959
+ checkout develop
960
+ branch feature/logistics
961
+ checkout feature/logistics
962
+ commit id: "物流对接"
963
+ commit id: "轨迹查询"
964
+
965
+ checkout develop
966
+ merge feature/order id: "合并订单模块"
967
+ merge feature/logistics id: "合并物流模块" tag: "v0.3.0"
968
+
969
+ branch release/1.0
970
+ checkout release/1.0
971
+ commit id: "版本号更新"
972
+ commit id: "修复集成 Bug"
973
+ commit id: "性能优化"
974
+
975
+ checkout main
976
+ merge release/1.0 id: "v1.0.0 正式发布" tag: "v1.0.0"
977
+
978
+ checkout develop
979
+ merge release/1.0 id: "同步 release 修复"
980
+
981
+ checkout main
982
+ branch hotfix/pay-bug
983
+ commit id: "修复支付回调 Bug"
984
+ checkout main
985
+ merge hotfix/pay-bug id: "紧急修复" tag: "v1.0.1"
986
+ checkout develop
987
+ merge hotfix/pay-bug id: "同步 hotfix"
988
+
989
+ checkout develop
990
+ commit id: "V2.0 新功能开发中..."
991
+ commit id: "重构中间件层"
992
+ ```
993
+
994
+ ## 10. 复杂思维导图 - 技术选型
995
+
996
+ ```mermaid
997
+ mindmap
998
+ root((电商平台技术选型))
999
+ 前端技术栈
1000
+ 框架
1001
+ Vue 3
1002
+ React 18
1003
+ Next.js
1004
+ 状态管理
1005
+ Pinia
1006
+ Zustand
1007
+ Redux Toolkit
1008
+ UI 组件库
1009
+ Ant Design
1010
+ Element Plus
1011
+ Arco Design
1012
+ 构建工具
1013
+ Vite
1014
+ Webpack 5
1015
+ Turbopack
1016
+ 移动端
1017
+ React Native
1018
+ Flutter
1019
+ UniApp
1020
+ Taro
1021
+ 后端技术栈
1022
+ 语言与框架
1023
+ Java Spring Boot
1024
+ Go Gin
1025
+ Node.js Nest.js
1026
+ Python FastAPI
1027
+ 微服务
1028
+ Spring Cloud
1029
+ Dubbo
1030
+ gRPC
1031
+ Service Mesh Istio
1032
+ API 设计
1033
+ RESTful
1034
+ GraphQL
1035
+ gRPC Proto
1036
+ 数据存储
1037
+ 关系型数据库
1038
+ MySQL 8.0
1039
+ PostgreSQL 16
1040
+ TiDB
1041
+ NoSQL
1042
+ Redis 7
1043
+ MongoDB 7
1044
+ Elasticsearch 8
1045
+ 消息队列
1046
+ RocketMQ
1047
+ Kafka
1048
+ RabbitMQ
1049
+ Pulsar
1050
+ 对象存储
1051
+ MinIO
1052
+ 阿里云 OSS
1053
+ AWS S3
1054
+ DevOps
1055
+ 容器化
1056
+ Docker
1057
+ Containerd
1058
+ 编排
1059
+ Kubernetes
1060
+ Docker Compose
1061
+ CI/CD
1062
+ Jenkins
1063
+ GitLab CI
1064
+ GitHub Actions
1065
+ ArgoCD
1066
+ 监控
1067
+ Prometheus
1068
+ Grafana
1069
+ SkyWalking
1070
+ ELK Stack
1071
+ 日志
1072
+ Loki
1073
+ Fluentd
1074
+ Filebeat
1075
+ 安全
1076
+ 认证授权
1077
+ OAuth 2.0
1078
+ JWT
1079
+ RBAC
1080
+ ABAC
1081
+ 网络安全
1082
+ WAF
1083
+ DDoS 防护
1084
+ SSL/TLS
1085
+ 数据安全
1086
+ 加密存储
1087
+ 脱敏处理
1088
+ 审计日志
1089
+ ```
1090
+
1091
+ ## 11. 超复杂序列图 - 分布式事务 Saga 模式
1092
+
1093
+ 模拟一个涉及 8 个服务的 Saga 分布式事务编排,包含正向操作和补偿回滚。
1094
+
1095
+ ```mermaid
1096
+ sequenceDiagram
1097
+ participant 编排器 as Saga 编排器
1098
+ participant 订单 as 订单服务
1099
+ participant 库存 as 库存服务
1100
+ participant 优惠 as 优惠券服务
1101
+ participant 积分 as 积分服务
1102
+ participant 账户 as 账户服务
1103
+ participant 支付 as 支付服务
1104
+ participant 物流 as 物流服务
1105
+ participant 通知 as 通知服务
1106
+
1107
+ Note over 编排器,通知: ===== 正向流程:创建订单 =====
1108
+
1109
+ 编排器->>订单: 1. 创建订单(PENDING)
1110
+ activate 订单
1111
+ 订单-->>编排器: 订单创建成功 orderId=10086
1112
+ deactivate 订单
1113
+
1114
+ 编排器->>库存: 2. 预扣库存
1115
+ activate 库存
1116
+ 库存->>库存: 乐观锁扣减 stock - qty
1117
+ 库存-->>编排器: 库存预扣成功 lockId=L001
1118
+ deactivate 库存
1119
+
1120
+ 编排器->>优惠: 3. 核销优惠券
1121
+ activate 优惠
1122
+ 优惠->>优惠: 标记优惠券为 USED
1123
+ 优惠-->>编排器: 核销成功 couponId=C001
1124
+ deactivate 优惠
1125
+
1126
+ 编排器->>积分: 4. 扣减积分
1127
+ activate 积分
1128
+ 积分->>积分: 扣减 500 积分抵扣 5 元
1129
+ 积分-->>编排器: 积分扣减成功
1130
+ deactivate 积分
1131
+
1132
+ 编排器->>账户: 5. 冻结余额
1133
+ activate 账户
1134
+ 账户->>账户: 冻结 ¥195.00
1135
+ 账户-->>编排器: 余额冻结成功 freezeId=F001
1136
+ deactivate 账户
1137
+
1138
+ 编排器->>支付: 6. 发起支付
1139
+ activate 支付
1140
+ 支付->>支付: 创建支付单
1141
+ 支付-->>编排器: 支付处理中 payId=P001
1142
+ deactivate 支付
1143
+
1144
+ Note over 编排器,通知: ===== 异常场景:支付失败触发补偿 =====
1145
+
1146
+ 支付--x编排器: 支付失败(余额不足)
1147
+
1148
+ rect rgb(255, 230, 230)
1149
+ Note over 编排器,通知: ===== 补偿流程:逆序回滚 =====
1150
+
1151
+ 编排器->>账户: 补偿5: 解冻余额 freezeId=F001
1152
+ activate 账户
1153
+ 账户->>账户: 解冻 ¥195.00
1154
+ 账户-->>编排器: 解冻成功
1155
+ deactivate 账户
1156
+
1157
+ 编排器->>积分: 补偿4: 返还积分
1158
+ activate 积分
1159
+ 积分->>积分: 返还 500 积分
1160
+ 积分-->>编排器: 积分返还成功
1161
+ deactivate 积分
1162
+
1163
+ 编排器->>优惠: 补偿3: 恢复优惠券
1164
+ activate 优惠
1165
+ 优惠->>优惠: 标记优惠券为 AVAILABLE
1166
+ 优惠-->>编排器: 优惠券恢复成功
1167
+ deactivate 优惠
1168
+
1169
+ 编排器->>库存: 补偿2: 释放库存
1170
+ activate 库存
1171
+ 库存->>库存: 释放锁定 lockId=L001
1172
+ 库存-->>编排器: 库存释放成功
1173
+ deactivate 库存
1174
+
1175
+ 编排器->>订单: 补偿1: 取消订单
1176
+ activate 订单
1177
+ 订单->>订单: 更新状态为 CANCELLED
1178
+ 订单-->>编排器: 订单已取消
1179
+ deactivate 订单
1180
+ end
1181
+
1182
+ 编排器->>通知: 发送订单取消通知
1183
+ 通知->>通知: 推送 + 短信
1184
+
1185
+ Note over 编排器,通知: ===== Saga 事务补偿完成 =====
1186
+ ```
1187
+
1188
+ ## 12. 超大饼图与象限图
1189
+
1190
+ ### 技术债务分布
1191
+
1192
+ ```mermaid
1193
+ pie showData
1194
+ title 技术债务分类占比(共 847 项)
1195
+ "代码重复" : 186
1196
+ "缺失单元测试" : 152
1197
+ "过时依赖" : 128
1198
+ "硬编码配置" : 97
1199
+ "未处理异常" : 83
1200
+ "SQL 注入风险" : 45
1201
+ "内存泄漏隐患" : 38
1202
+ "死代码" : 34
1203
+ "循环依赖" : 29
1204
+ "接口未鉴权" : 23
1205
+ "日志不规范" : 18
1206
+ "其他" : 14
1207
+ ```
1208
+
1209
+ ### 技术评估象限图
1210
+
1211
+ ```mermaid
1212
+ quadrantChart
1213
+ title Reach and engagement of campaigns
1214
+ x-axis Low Learning Cost --> High Learning Cost
1215
+ y-axis Low Ecosystem Maturity --> High Ecosystem Maturity
1216
+ quadrant-1 Cautious Adoption
1217
+ quadrant-2 Priority Adoption
1218
+ quadrant-3 Use As Needed
1219
+ quadrant-4 Not Recommended
1220
+ Vue.js: [0.35, 0.85]
1221
+ React: [0.45, 0.90]
1222
+ Svelte: [0.30, 0.45]
1223
+ Angular: [0.75, 0.80]
1224
+ Spring Boot: [0.60, 0.92]
1225
+ Go Gin: [0.40, 0.60]
1226
+ Rust Actix: [0.85, 0.35]
1227
+ Nest.js: [0.50, 0.55]
1228
+ FastAPI: [0.25, 0.50]
1229
+ Django: [0.45, 0.75]
1230
+ Kubernetes: [0.80, 0.88]
1231
+ Docker: [0.30, 0.95]
1232
+ Terraform: [0.65, 0.70]
1233
+ Pulumi: [0.70, 0.40]
1234
+ ```
1235
+
1236
+ ## 13. 时间线图 - 项目里程碑
1237
+
1238
+ ```mermaid
1239
+ timeline
1240
+ title 电商平台发展历程
1241
+ section 2022 Q1-Q2 项目启动
1242
+ 1月 : 团队组建 : 技术选型评审
1243
+ 3月 : MVP 版本开发启动 : 用户中心上线
1244
+ 5月 : 商品中心上线 : 首次内部测试
1245
+ section 2022 Q3-Q4 核心功能
1246
+ 7月 : 订单系统上线 : 支付系统对接
1247
+ 9月 : 物流系统集成 : 搜索引擎上线
1248
+ 11月 : V1.0 正式发布 : 首批商家入驻
1249
+ section 2023 Q1-Q2 规模扩张
1250
+ 1月 : 日活突破10万 : 引入推荐算法
1251
+ 3月 : 营销系统上线 : 优惠券引擎
1252
+ 5月 : 小程序上线 : H5端上线
1253
+ section 2023 Q3-Q4 技术升级
1254
+ 7月 : 微服务架构重构 : 容器化部署
1255
+ 9月 : 全链路压测 : 性能优化3倍
1256
+ 11月 : V2.0发布 : 日活突破100万
1257
+ section 2024 Q1-Q2 智能化
1258
+ 1月 : AI智能客服上线 : 个性化推荐V2
1259
+ 3月 : 智能定价系统 : 供应链优化
1260
+ 5月 : 国际化版本 : 多语言支持
1261
+ ```
1262
+
1263
+ ## 14. 超复杂流程图 - 风控决策引擎
1264
+
1265
+ 模拟一个多层嵌套、大量条件分支的实时风控决策流程。
1266
+
1267
+ ```mermaid
1268
+ graph TD
1269
+ START([交易请求进入]) --> PARSE[解析请求参数]
1270
+ PARSE --> BLACKLIST{命中黑名单?}
1271
+
1272
+ BLACKLIST -->|设备指纹黑名单| REJECT_1[直接拒绝 R001]
1273
+ BLACKLIST -->|IP 黑名单| REJECT_2[直接拒绝 R002]
1274
+ BLACKLIST -->|手机号黑名单| REJECT_3[直接拒绝 R003]
1275
+ BLACKLIST -->|未命中| FREQ_CHECK{频率检查}
1276
+
1277
+ FREQ_CHECK -->|同设备 1分钟>5次| CAPTCHA[弹出验证码]
1278
+ FREQ_CHECK -->|同IP 1小时>100次| IP_LIMIT[IP 限流]
1279
+ FREQ_CHECK -->|同账号 1天>50次| ACCOUNT_LIMIT[账号限流]
1280
+ FREQ_CHECK -->|正常| RULE_ENGINE[规则引擎]
1281
+
1282
+ CAPTCHA --> CAPTCHA_RESULT{验证结果}
1283
+ CAPTCHA_RESULT -->|通过| RULE_ENGINE
1284
+ CAPTCHA_RESULT -->|失败3次| REJECT_4[拒绝 R004]
1285
+
1286
+ subgraph 规则引擎评估
1287
+ RULE_ENGINE --> PARALLEL{并行评估}
1288
+ PARALLEL --> AMOUNT_RULE[金额规则]
1289
+ PARALLEL --> LOCATION_RULE[地理位置规则]
1290
+ PARALLEL --> BEHAVIOR_RULE[行为特征规则]
1291
+ PARALLEL --> DEVICE_RULE[设备环境规则]
1292
+ PARALLEL --> SOCIAL_RULE[社交关系规则]
1293
+
1294
+ AMOUNT_RULE --> |单笔>5万| HIGH_RISK_1[高风险 +40分]
1295
+ AMOUNT_RULE --> |单笔>1万| MED_RISK_1[中风险 +20分]
1296
+ AMOUNT_RULE --> |正常| LOW_RISK_1[低风险 +0分]
1297
+
1298
+ LOCATION_RULE --> |异地登录| HIGH_RISK_2[高风险 +35分]
1299
+ LOCATION_RULE --> |常用城市| LOW_RISK_2[低风险 +0分]
1300
+
1301
+ BEHAVIOR_RULE --> |深夜交易| MED_RISK_2[中风险 +15分]
1302
+ BEHAVIOR_RULE --> |首次购买高价商品| MED_RISK_3[中风险 +20分]
1303
+ BEHAVIOR_RULE --> |正常模式| LOW_RISK_3[低风险 +0分]
1304
+
1305
+ DEVICE_RULE --> |模拟器/Root| HIGH_RISK_3[高风险 +50分]
1306
+ DEVICE_RULE --> |新设备| MED_RISK_4[中风险 +10分]
1307
+ DEVICE_RULE --> |常用设备| LOW_RISK_4[低风险 +0分]
1308
+
1309
+ SOCIAL_RULE --> |关联黑产账号| HIGH_RISK_4[高风险 +60分]
1310
+ SOCIAL_RULE --> |正常社交图谱| LOW_RISK_5[低风险 +0分]
1311
+ end
1312
+
1313
+ HIGH_RISK_1 & MED_RISK_1 & LOW_RISK_1 --> SCORE[汇总风险分数]
1314
+ HIGH_RISK_2 & LOW_RISK_2 --> SCORE
1315
+ MED_RISK_2 & MED_RISK_3 & LOW_RISK_3 --> SCORE
1316
+ HIGH_RISK_3 & MED_RISK_4 & LOW_RISK_4 --> SCORE
1317
+ HIGH_RISK_4 & LOW_RISK_5 --> SCORE
1318
+
1319
+ SCORE --> DECISION{风险等级判定}
1320
+ DECISION -->|分数>=80| BLOCK[拦截交易]
1321
+ DECISION -->|分数 50-79| REVIEW[人工审核队列]
1322
+ DECISION -->|分数 30-49| ENHANCED[增强验证]
1323
+ DECISION -->|分数<30| PASS[放行交易]
1324
+
1325
+ BLOCK --> LOG_BLOCK[记录拦截日志]
1326
+ REVIEW --> MANUAL{人工审核结果}
1327
+ MANUAL -->|通过| PASS
1328
+ MANUAL -->|拒绝| LOG_BLOCK
1329
+ ENHANCED --> SMS_VERIFY[短信验证码]
1330
+ SMS_VERIFY --> SMS_RESULT{验证结果}
1331
+ SMS_RESULT -->|通过| PASS
1332
+ SMS_RESULT -->|失败| BLOCK
1333
+
1334
+ PASS --> LOG_PASS[记录放行日志]
1335
+ LOG_PASS --> ML_FEEDBACK[反馈至 ML 模型]
1336
+ LOG_BLOCK --> ML_FEEDBACK
1337
+ ML_FEEDBACK --> END_NODE([流程结束])
1338
+ ```
1339
+
1340
+ ## 15. 复杂饼图组合 - 系统监控仪表盘数据
1341
+
1342
+ ### 服务器资源使用分布
1343
+
1344
+ ```mermaid
1345
+ pie showData
1346
+ title CPU 使用率分布(128核集群)
1347
+ "用户服务 (32核)" : 32
1348
+ "商品服务 (24核)" : 24
1349
+ "订单服务 (20核)" : 20
1350
+ "搜索服务 (16核)" : 16
1351
+ "支付服务 (12核)" : 12
1352
+ "物流服务 (8核)" : 8
1353
+ "消息服务 (6核)" : 6
1354
+ "监控服务 (4核)" : 4
1355
+ "空闲 (6核)" : 6
1356
+ ```
1357
+
1358
+ ### 错误类型分布
1359
+
1360
+ ```mermaid
1361
+ pie showData
1362
+ title 近7天错误分类(共 12,847 次)
1363
+ "超时错误 TimeoutException" : 4523
1364
+ "空指针 NullPointerException" : 2187
1365
+ "数据库连接池耗尽" : 1856
1366
+ "Redis 连接超时" : 1342
1367
+ "MQ 消费失败" : 987
1368
+ "参数校验失败" : 756
1369
+ "权限不足 403" : 534
1370
+ "资源不存在 404" : 412
1371
+ "其他未分类" : 250
1372
+ ```
1373
+
1374
+ ---
1375
+
1376
+ > 本文档包含 15 种不同类型的超复杂 Mermaid 图表,涵盖流程图、序列图、状态图、类图、ER 图、甘特图、饼图、思维导图、Git 图、用户旅程图、象限图、时间线图等,用于全面测试 Mermaid 渲染引擎在极端复杂场景下的表现。