840 行
51 KiB
Python
840 行
51 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""
|
||
Showcase SVG 合规化与大厂工程架构面板升级脚本
|
||
依据《中华人民共和国广告法》与《反不正当竞争法》规范:
|
||
1. 剔除所有未实证引证的虚假流水数据(¥ 12,890,400、¥ 389,450 等)
|
||
2. 剔除虚假门店数、商户数与编造单量(300+ 家、3,420 家、10W+、80,000+ 篇等)
|
||
3. 剔除夸大成效百分比(65%、70%、42%、85%、94.6% 等)
|
||
4. 替换为真实企业级架构特性、状态指示、自动化业务机制与严谨工程逻辑
|
||
"""
|
||
|
||
import os
|
||
import sys
|
||
sys.stdout.reconfigure(encoding='utf-8')
|
||
|
||
SVG_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'public/assets/addons/official/images/showcases')
|
||
|
||
def update_case_distrib():
|
||
content = '''<svg width="640" height="400" viewBox="0 0 640 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="c1Bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="400" rx="8" fill="url(#c1Bg)"/>
|
||
<rect x="1" y="1" width="638" height="398" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 浏览器顶部视窗窗口栏 -->
|
||
<rect x="0" y="0" width="640" height="38" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="20" cy="19" r="4.5" fill="#EF4444"/>
|
||
<circle cx="34" cy="19" r="4.5" fill="#F59E0B"/>
|
||
<circle cx="48" cy="19" r="4.5" fill="#10B981"/>
|
||
|
||
<rect x="70" y="8" width="460" height="22" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="82" y="23" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://order.hub.enterprise.com · 快消供应链全渠道订货调度中台</text>
|
||
<rect x="548" y="9" width="76" height="20" rx="2" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="556" y="23" fill="#2563EB" font-size="10" font-weight="700">商贸批发中台</text>
|
||
|
||
<!-- 控制大盘看板 -->
|
||
<g transform="translate(18, 50)">
|
||
<!-- 顶部核心机制指标 -->
|
||
<rect x="0" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="22" fill="#64748B" font-size="10">订单路由机制</text>
|
||
<text x="12" y="46" fill="#0F172A" font-size="13" font-weight="700">全渠道统一路由</text>
|
||
<text x="12" y="62" fill="#2563EB" font-size="9">多端实时并发归集写入</text>
|
||
|
||
<rect x="152" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="164" y="22" fill="#64748B" font-size="10">订单审核策略</text>
|
||
<text x="164" y="46" fill="#2563EB" font-size="13" font-weight="700">规则引擎自动校验</text>
|
||
<text x="164" y="62" fill="#10B981" font-size="9">库存与授信多维动态比对</text>
|
||
|
||
<rect x="304" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="316" y="22" fill="#64748B" font-size="10">渠道价格体系</text>
|
||
<text x="316" y="46" fill="#0F172A" font-size="13" font-weight="700">多级阶梯定价引擎</text>
|
||
<text x="316" y="62" fill="#10B981" font-size="9">合伙人/渠道/直客规则隔离</text>
|
||
|
||
<rect x="456" y="0" width="148" height="70" rx="4" fill="#EFF6FF" stroke="#93C5FD"/>
|
||
<text x="468" y="22" fill="#1E40AF" font-size="10" font-weight="700">履约调度机制</text>
|
||
<text x="468" y="46" fill="#2563EB" font-size="13" font-weight="700">前置仓智能拆单</text>
|
||
<text x="468" y="62" fill="#1D4ED8" font-size="9">按仓储库存状态就近分派</text>
|
||
|
||
<!-- 中部:订单流向与区域网络分布 -->
|
||
<g transform="translate(0, 82)">
|
||
<rect width="395" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">全国各省区分销中台订单流转状态</text>
|
||
|
||
<rect x="14" y="38" width="367" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="58" fill="#0F172A" font-size="10" font-weight="600">西南运营中心 · 贵阳总仓</text>
|
||
<text x="180" y="58" fill="#2563EB" font-size="10">主集群节点 · 运行正常</text>
|
||
<rect x="300" y="44" width="70" height="20" rx="2" fill="#ECFDF5"/>
|
||
<text x="312" y="58" fill="#047857" font-size="9" font-weight="700">就近自动拆单</text>
|
||
|
||
<rect x="14" y="76" width="367" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="96" fill="#0F172A" font-size="10" font-weight="600">华东运营中心 · 杭州总仓</text>
|
||
<text x="180" y="96" fill="#2563EB" font-size="10">从集群节点 · 读写分离</text>
|
||
<rect x="300" y="82" width="70" height="20" rx="2" fill="#ECFDF5"/>
|
||
<text x="312" y="96" fill="#047857" font-size="9" font-weight="700">就近自动拆单</text>
|
||
|
||
<rect x="14" y="114" width="367" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="134" fill="#0F172A" font-size="10" font-weight="600">华南运营中心 · 广州总仓</text>
|
||
<text x="180" y="134" fill="#2563EB" font-size="10">从集群节点 · 读写分离</text>
|
||
<rect x="300" y="120" width="70" height="20" rx="2" fill="#ECFDF5"/>
|
||
<text x="312" y="134" fill="#047857" font-size="9" font-weight="700">就近自动拆单</text>
|
||
|
||
<text x="14" y="165" fill="#64748B" font-size="9">微服务分布式架构 · 支持水平弹性伸缩与数据库主从读写分离</text>
|
||
</g>
|
||
|
||
<!-- 右侧:阶梯价试算与授信清算状态 -->
|
||
<g transform="translate(407, 82)">
|
||
<rect width="197" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="24" fill="#1E293B" font-size="11" font-weight="700">核心结算与风控引擎</text>
|
||
|
||
<rect x="10" y="38" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="54" fill="#0F172A" font-size="10" font-weight="600">多级阶梯定价引擎</text>
|
||
<text x="16" y="68" fill="#10B981" font-size="9">按渠道等级策略精准核算</text>
|
||
|
||
<rect x="10" y="82" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="98" fill="#0F172A" font-size="10" font-weight="600">授信账期风控中枢</text>
|
||
<text x="16" y="112" fill="#2563EB" font-size="9">超额自动拦截,防范风险</text>
|
||
|
||
<rect x="10" y="126" width="177" height="40" rx="3" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="16" y="144" fill="#065F46" font-size="10" font-weight="700">全流程业务闭环</text>
|
||
<text x="16" y="157" fill="#047857" font-size="8">订货/结算/出库全链路贯通</text>
|
||
</g>
|
||
|
||
<!-- 底部保障条 -->
|
||
<g transform="translate(0, 268)">
|
||
<rect width="604" height="68" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="26" fill="#0F172A" font-size="11" font-weight="700">技术方案架构解析:</text>
|
||
<text x="130" y="26" fill="#475569" font-size="11">以高可用分布式 Spring Cloud + MySQL 读写分离架构替代旧版单体系统,</text>
|
||
<text x="16" y="48" fill="#475569" font-size="11">打通全渠道订货、阶梯结算与仓储分单闭环,实现复杂业务全流程自动化协同与双向幂等校验。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'case_distrib.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_case_catering():
|
||
content = '''<svg width="640" height="400" viewBox="0 0 640 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="c2Bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="400" rx="8" fill="url(#c2Bg)"/>
|
||
<rect x="1" y="1" width="638" height="398" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 浏览器顶部视窗窗口栏 -->
|
||
<rect x="0" y="0" width="640" height="38" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="20" cy="19" r="4.5" fill="#EF4444"/>
|
||
<circle cx="34" cy="19" r="4.5" fill="#F59E0B"/>
|
||
<circle cx="48" cy="19" r="4.5" fill="#10B981"/>
|
||
|
||
<rect x="70" y="8" width="460" height="22" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="82" y="23" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://store-kds.chain-dining.com · 连锁门店收银与后厨 KDS 协同中枢</text>
|
||
<rect x="548" y="9" width="76" height="20" rx="2" fill="#ECFEFF" stroke="#06B6D4"/>
|
||
<text x="556" y="23" fill="#0891B2" font-size="10" font-weight="700">连锁零售系统</text>
|
||
|
||
<!-- 控制大盘看板 -->
|
||
<g transform="translate(18, 50)">
|
||
<!-- 顶部核心机制指标 -->
|
||
<rect x="0" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="22" fill="#64748B" font-size="10">门店终端协同</text>
|
||
<text x="12" y="46" fill="#0F172A" font-size="13" font-weight="700">软硬件协同在线</text>
|
||
<text x="12" y="62" fill="#10B981" font-size="9">● 主收银机与双屏副显就绪</text>
|
||
|
||
<rect x="152" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="164" y="22" fill="#64748B" font-size="10">聚合支付通道</text>
|
||
<text x="164" y="46" fill="#2563EB" font-size="13" font-weight="700">毫秒级聚合核销</text>
|
||
<text x="164" y="62" fill="#64748B" font-size="9">微信/支付宝/银联统一网关</text>
|
||
|
||
<rect x="304" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="316" y="22" fill="#64748B" font-size="10">网络中断保护机制</text>
|
||
<text x="316" y="46" fill="#10B981" font-size="13" font-weight="700">离线脱机收银</text>
|
||
<text x="316" y="62" fill="#10B981" font-size="9">SQLite 本地暂存联网自动回传</text>
|
||
|
||
<rect x="456" y="0" width="148" height="70" rx="4" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="468" y="22" fill="#065F46" font-size="10" font-weight="700">前后厨联动调度</text>
|
||
<text x="468" y="46" fill="#047857" font-size="13" font-weight="700">KDS 实时传菜协同</text>
|
||
<text x="468" y="62" fill="#047857" font-size="9">扫码点单与档口出餐实时同步</text>
|
||
|
||
<!-- 中部:门店收银台与后厨出餐联动实时状态 -->
|
||
<g transform="translate(0, 82)">
|
||
<rect width="395" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">示范门店前台与后厨实时联动看板</text>
|
||
|
||
<g transform="translate(14, 38)">
|
||
<!-- 前台桌号 -->
|
||
<rect width="175" height="110" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="22" fill="#0F172A" font-size="10" font-weight="700">前台智能扫码点单 (Table 08)</text>
|
||
<text x="12" y="40" fill="#64748B" font-size="9">顾客下单:招牌牛肉面 + 鲜饮</text>
|
||
<text x="12" y="55" fill="#2563EB" font-size="9" font-weight="600">聚合支付成功 · 状态秒级同步</text>
|
||
<rect x="12" y="70" width="151" height="26" rx="2" fill="#ECFDF5"/>
|
||
<text x="20" y="86" fill="#047857" font-size="9" font-weight="700">✓ 自动核减中央仓物料库存</text>
|
||
|
||
<!-- 后厨 KDS -->
|
||
<rect x="190" y="0" width="175" height="110" rx="3" fill="#0F172A"/>
|
||
<text x="202" y="22" fill="#FFFFFF" font-size="10" font-weight="700">后厨智能 KDS 看板 (冷热分流)</text>
|
||
<text x="202" y="40" fill="#38BDF8" font-size="9">热食档口:制作中 (工单调度中)</text>
|
||
<text x="202" y="58" fill="#10B981" font-size="9">水吧档口:已出餐 (传菜员待取)</text>
|
||
<rect x="202" y="72" width="151" height="24" rx="2" fill="#1E293B"/>
|
||
<text x="210" y="88" fill="#F59E0B" font-size="8">档口出餐状态与前台大屏同频</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 右侧:软硬件兼容规格 -->
|
||
<g transform="translate(407, 82)">
|
||
<rect width="197" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="24" fill="#1E293B" font-size="11" font-weight="700">工程与硬件兼容落地</text>
|
||
|
||
<rect x="10" y="38" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="54" fill="#0F172A" font-size="10" font-weight="600">双屏收银一体机支持</text>
|
||
<text x="16" y="68" fill="#64748B" font-size="9">客显扫码付、会员权益互动</text>
|
||
|
||
<rect x="10" y="82" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="98" fill="#0F172A" font-size="10" font-weight="600">热敏打印与蜂鸣呼叫</text>
|
||
<text x="16" y="112" fill="#10B981" font-size="9">声音灯光双重预警提示</text>
|
||
|
||
<rect x="10" y="126" width="177" height="40" rx="3" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="16" y="144" fill="#1E40AF" font-size="10" font-weight="700">财务业财报表实时同步</text>
|
||
<text x="16" y="157" fill="#3B82F6" font-size="8">每日晚间自动结转与对账</text>
|
||
</g>
|
||
|
||
<!-- 底部保障条 -->
|
||
<g transform="translate(0, 268)">
|
||
<rect width="604" height="68" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="26" fill="#0F172A" font-size="11" font-weight="700">技术方案架构解析:</text>
|
||
<text x="130" y="26" fill="#475569" font-size="11">通过部署商用收银系统与后厨 KDS 联动方案,打通前台点单与后厨出餐链路,</text>
|
||
<text x="16" y="48" fill="#475569" font-size="11">支持断网离线收银与多通道聚合支付,保障用餐高峰期营业连续性与业财账实相符。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'case_catering.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_case_manufacture():
|
||
content = '''<svg width="640" height="400" viewBox="0 0 640 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="c4Bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="400" rx="8" fill="url(#c4Bg)"/>
|
||
<rect x="1" y="1" width="638" height="398" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 浏览器顶部视窗窗口栏 -->
|
||
<rect x="0" y="0" width="640" height="38" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="20" cy="19" r="4.5" fill="#EF4444"/>
|
||
<circle cx="34" cy="19" r="4.5" fill="#F59E0B"/>
|
||
<circle cx="48" cy="19" r="4.5" fill="#10B981"/>
|
||
|
||
<rect x="70" y="8" width="460" height="22" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="82" y="23" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://mes-erp.heavy-machinery.com · 智能制造数字车间生产与进销存管理系统</text>
|
||
<rect x="548" y="9" width="76" height="20" rx="2" fill="#EFF6FF" stroke="#2563EB"/>
|
||
<text x="556" y="23" fill="#2563EB" font-size="10" font-weight="700">智能制造ERP</text>
|
||
|
||
<!-- 控制大盘看板 -->
|
||
<g transform="translate(18, 50)">
|
||
<!-- 顶部核心机制指标 -->
|
||
<rect x="0" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="22" fill="#64748B" font-size="10">物料周转管控</text>
|
||
<text x="12" y="46" fill="#0F172A" font-size="13" font-weight="700">动态 BOM 展开</text>
|
||
<text x="12" y="62" fill="#10B981" font-size="9">安全库存上下限动态监控</text>
|
||
|
||
<rect x="152" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="164" y="22" fill="#64748B" font-size="10">生产排产计划</text>
|
||
<text x="164" y="46" fill="#2563EB" font-size="13" font-weight="700">有限产能智能排程</text>
|
||
<text x="164" y="62" fill="#64748B" font-size="9">工序负荷与交期自动比对</text>
|
||
|
||
<rect x="304" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="316" y="22" fill="#64748B" font-size="10">批次追溯机制</text>
|
||
<text x="316" y="46" fill="#10B981" font-size="13" font-weight="700">全批次一码贯通</text>
|
||
<text x="316" y="62" fill="#10B981" font-size="9">原料-半成品-成品扫码追踪</text>
|
||
|
||
<rect x="456" y="0" width="148" height="70" rx="4" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="468" y="22" fill="#065F46" font-size="10" font-weight="700">业财协同对账</text>
|
||
<text x="468" y="46" fill="#047857" font-size="13" font-weight="700">金蝶用友凭证映射</text>
|
||
<text x="468" y="62" fill="#047857" font-size="9">进销存与财务系统双向核销</text>
|
||
|
||
<!-- 中部:车间生产排产与仓库调拨看板 -->
|
||
<g transform="translate(0, 82)">
|
||
<rect width="395" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">数字化装配车间产线与立体库联动状态</text>
|
||
|
||
<g transform="translate(14, 36)">
|
||
<rect width="367" height="34" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="21" fill="#0F172A" font-size="10" font-weight="700">产线 01 (高压泵体装配):工单 #WO-9821 正常执行 · 状态实时回传</text>
|
||
|
||
<rect y="40" width="367" height="34" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="61" fill="#0F172A" font-size="10" font-weight="700">产线 02 (精工齿轮加工):工单 #WO-9822 正常执行 · 状态实时回传</text>
|
||
|
||
<rect y="80" width="367" height="42" rx="3" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="12" y="98" fill="#065F46" font-size="10" font-weight="700">立体仓 AGV 自动配送中枢:</text>
|
||
<text x="12" y="112" fill="#047857" font-size="9">根据领料单智能调度配送至指定工位,减少物料滞留</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 右侧:工业集成认证 -->
|
||
<g transform="translate(407, 82)">
|
||
<rect width="197" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="24" fill="#1E293B" font-size="11" font-weight="700">工业级特性与指标</text>
|
||
|
||
<rect x="10" y="38" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="54" fill="#0F172A" font-size="10" font-weight="600">Modbus / PLC 设备对接</text>
|
||
<text x="16" y="68" fill="#64748B" font-size="8">机床运行工况毫秒级数据采集</text>
|
||
|
||
<rect x="10" y="82" width="177" height="38" rx="3" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="16" y="98" fill="#1E40AF" font-size="10" font-weight="600">BOM 多层级拆解引擎</text>
|
||
<text x="16" y="112" fill="#3B82F6" font-size="8">支持多层父子级物料穿透</text>
|
||
|
||
<rect x="10" y="126" width="177" height="40" rx="3" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="16" y="144" fill="#065F46" font-size="10" font-weight="700">全流程协同规范</text>
|
||
<text x="16" y="157" fill="#047857" font-size="8">进销存与车间工序全面贯通</text>
|
||
</g>
|
||
|
||
<!-- 底部保障条 -->
|
||
<g transform="translate(0, 268)">
|
||
<rect width="604" height="68" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="26" fill="#0F172A" font-size="11" font-weight="700">技术方案架构解析:</text>
|
||
<text x="130" y="26" fill="#475569" font-size="11">通过业财一体进销存与车间制造执行系统深度融合,打通物料采购、在制品流转与财务核算全链路,</text>
|
||
<text x="16" y="48" fill="#475569" font-size="11">实现动态 BOM 拆解、批次条码追踪与工序状态透明化,提升生产全周期协作效能与数据准确性。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'case_manufacture.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_case_gov_agent():
|
||
content = '''<svg width="640" height="400" viewBox="0 0 640 400" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="c3Bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="400" rx="8" fill="url(#c3Bg)"/>
|
||
<rect x="1" y="1" width="638" height="398" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 浏览器顶部视窗窗口栏 -->
|
||
<rect x="0" y="0" width="640" height="38" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="20" cy="19" r="4.5" fill="#EF4444"/>
|
||
<circle cx="34" cy="19" r="4.5" fill="#F59E0B"/>
|
||
<circle cx="48" cy="19" r="4.5" fill="#10B981"/>
|
||
|
||
<rect x="70" y="8" width="460" height="22" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="82" y="23" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://internal.ai-gov.portal.local · 政企公文与合规审查智能体中台 (纯内网隔离)</text>
|
||
<rect x="548" y="9" width="76" height="20" rx="2" fill="#FAF5FF" stroke="#7C3AED"/>
|
||
<text x="556" y="23" fill="#7C3AED" font-size="10" font-weight="700">政企智能体</text>
|
||
|
||
<!-- 控制大盘看板 -->
|
||
<g transform="translate(18, 50)">
|
||
<!-- 顶部核心机制指标 -->
|
||
<rect x="0" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="22" fill="#64748B" font-size="10">专属合规知识库</text>
|
||
<text x="12" y="46" fill="#0F172A" font-size="13" font-weight="700">规章法条向量化</text>
|
||
<text x="12" y="62" fill="#10B981" font-size="9">多路召回与分块语义对齐</text>
|
||
|
||
<rect x="152" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="164" y="22" fill="#64748B" font-size="10">合规初审机制</text>
|
||
<text x="164" y="46" fill="#2563EB" font-size="13" font-weight="700">人机协同智能初审</text>
|
||
<text x="164" y="62" fill="#64748B" font-size="9">基于基线条款自动对照预警</text>
|
||
|
||
<rect x="304" y="0" width="142" height="70" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="316" y="22" fill="#64748B" font-size="10">检索响应时效</text>
|
||
<text x="316" y="46" fill="#10B981" font-size="13" font-weight="700">毫秒级向量匹配</text>
|
||
<text x="316" y="62" fill="#10B981" font-size="9">精准定位法规章节与段落</text>
|
||
|
||
<rect x="456" y="0" width="148" height="70" rx="4" fill="#FAF5FF" stroke="#E9D5FF"/>
|
||
<text x="468" y="22" fill="#6B21A8" font-size="10" font-weight="700">数据安全防护</text>
|
||
<text x="468" y="46" fill="#7C3AED" font-size="13" font-weight="700">纯内网物理隔离</text>
|
||
<text x="468" y="62" fill="#6B21A8" font-size="9">数据本地留存 · 审计全程留痕</text>
|
||
|
||
<!-- 中部:公文智能合规比对与问答视窗 -->
|
||
<g transform="translate(0, 82)">
|
||
<rect width="395" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">智能体合规审查交互流 (RAG 检索增强)</text>
|
||
|
||
<g transform="translate(14, 36)">
|
||
<!-- 提问框 -->
|
||
<rect width="367" height="34" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="21" fill="#475569" font-size="10">待审文件:《某大型采购招标文件第4章 合规初核》</text>
|
||
|
||
<!-- 智能体分析回复 -->
|
||
<rect y="42" width="367" height="88" rx="3" fill="#FAF5FF" stroke="#E9D5FF"/>
|
||
<text x="12" y="58" fill="#6B21A8" font-size="10" font-weight="700">合规 Agent 初核建议 (匹配法规标准数据库):</text>
|
||
<text x="12" y="74" fill="#334155" font-size="9">✓ 资金支付节点符合相关采购管理法规实施条例要求;</text>
|
||
<text x="12" y="88" fill="#DC2626" font-size="9" font-weight="700">! 重点关注:建议复查质保金留存条款比例是否符合行业基准;</text>
|
||
<text x="12" y="104" fill="#10B981" font-size="9">✓ 已标注关联法律原文段落出处,支持人工决策复核。</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 右侧:内网模型配置 -->
|
||
<g transform="translate(407, 82)">
|
||
<rect width="197" height="175" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="12" y="24" fill="#1E293B" font-size="11" font-weight="700">内网技术栈与规格</text>
|
||
|
||
<rect x="10" y="38" width="177" height="38" rx="3" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="16" y="54" fill="#065F46" font-size="10" font-weight="600">纯私有内网物理部署</text>
|
||
<text x="16" y="68" fill="#047857" font-size="8">政企机房私有服务器托管</text>
|
||
|
||
<rect x="10" y="82" width="177" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="98" fill="#0F172A" font-size="10" font-weight="600">国产算力芯片量化加速</text>
|
||
<text x="16" y="112" fill="#64748B" font-size="8">支持国产算力平台与模型量化运行</text>
|
||
|
||
<rect x="10" y="126" width="177" height="40" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="144" fill="#0F172A" font-size="10" font-weight="600">多 Agent 工作流编排</text>
|
||
<text x="16" y="157" fill="#2563EB" font-size="8">初核 -> 比对 -> 汇签协同流转</text>
|
||
</g>
|
||
|
||
<!-- 底部保障条 -->
|
||
<g transform="translate(0, 268)">
|
||
<rect width="604" height="68" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="16" y="26" fill="#0F172A" font-size="11" font-weight="700">技术方案架构解析:</text>
|
||
<text x="130" y="26" fill="#475569" font-size="11">基于私有化部署的检索增强(RAG)大模型架构,构建严格物理隔离的智能合规辅助系统,</text>
|
||
<text x="16" y="48" fill="#475569" font-size="11">实现公文法条精准溯源、敏感数据机房本地隔离与人机协同初审,保障政企数据资产严密受控。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'case_gov_agent.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_product_mall():
|
||
content = '''<svg width="640" height="360" viewBox="0 0 640 360" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="mallBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="360" rx="8" fill="url(#mallBg)"/>
|
||
<rect x="1" y="1" width="638" height="358" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 顶部视窗 -->
|
||
<rect x="0" y="0" width="640" height="36" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="18" cy="18" r="4" fill="#EF4444"/>
|
||
<circle cx="32" cy="18" r="4" fill="#F59E0B"/>
|
||
<circle cx="46" cy="18" r="4" fill="#10B981"/>
|
||
<rect x="64" y="8" width="460" height="20" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="76" y="22" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://mall-admin.enterprise.com · 多商户分销商城业务控制台</text>
|
||
<rect x="540" y="8" width="85" height="20" rx="2" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="548" y="22" fill="#2563EB" font-size="9" font-weight="700">商用级商城系统</text>
|
||
|
||
<!-- 顶部统计与指标卡 -->
|
||
<g transform="translate(16, 48)">
|
||
<rect width="144" height="64" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#64748B" font-size="10">订单归集引擎</text>
|
||
<text x="10" y="42" fill="#0F172A" font-size="14" font-weight="700">全渠道实时归集</text>
|
||
<text x="10" y="56" fill="#10B981" font-size="9">小程序/H5/App 多端并入</text>
|
||
|
||
<rect x="156" width="144" height="64" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#64748B" font-size="10" transform="translate(156, 0)">履约调度中枢</text>
|
||
<text x="10" y="42" fill="#2563EB" font-size="14" font-weight="700" transform="translate(156, 0)">自动化分单拆单</text>
|
||
<text x="10" y="56" fill="#10B981" font-size="9" transform="translate(156, 0)">支持跨仓联动与就近出库</text>
|
||
|
||
<rect x="312" width="144" height="64" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#64748B" font-size="10" transform="translate(312, 0)">分销风控体系</text>
|
||
<text x="10" y="42" fill="#0F172A" font-size="14" font-weight="700" transform="translate(312, 0)">多级阶梯佣金</text>
|
||
<text x="10" y="56" fill="#2563EB" font-size="9" transform="translate(312, 0)">合伙人权益强隔离规则</text>
|
||
|
||
<rect x="468" width="140" height="64" rx="4" fill="#FAF5FF" stroke="#E9D5FF"/>
|
||
<text x="10" y="20" fill="#6B21A8" font-size="10" transform="translate(468, 0)">营销裂变组件</text>
|
||
<text x="10" y="42" fill="#7C3AED" font-size="14" font-weight="700" transform="translate(468, 0)">拼团秒杀与优惠券</text>
|
||
<text x="10" y="56" fill="#6B21A8" font-size="9" transform="translate(468, 0)">开箱即用丰富营销玩法</text>
|
||
</g>
|
||
|
||
<!-- 中部主功能区 -->
|
||
<g transform="translate(16, 122)">
|
||
<!-- 左侧订单流 -->
|
||
<rect width="380" height="215" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#1E293B" font-size="11" font-weight="700">实时分单与多商户协同流转</text>
|
||
|
||
<g transform="translate(14, 34)">
|
||
<rect width="352" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="20" fill="#0F172A" font-size="10" font-weight="600">订单 #ORD-8921 · 贵州生态茶业</text>
|
||
<rect x="250" y="6" width="90" height="20" rx="2" fill="#ECFDF5"/>
|
||
<text x="258" y="20" fill="#047857" font-size="9" font-weight="700">已自动完成拆单</text>
|
||
|
||
<rect y="40" width="352" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="60" fill="#0F172A" font-size="10" font-weight="600">订单 #ORD-8922 · 刺梨原汁果饮</text>
|
||
<rect x="250" y="46" width="90" height="20" rx="2" fill="#EFF6FF"/>
|
||
<text x="258" y="60" fill="#1D4ED8" font-size="9" font-weight="700">物流电子面单就绪</text>
|
||
|
||
<rect y="80" width="352" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="100" fill="#0F172A" font-size="10" font-weight="600">订单 #ORD-8923 · 智能文创礼盒</text>
|
||
<rect x="250" y="86" width="90" height="20" rx="2" fill="#ECFDF5"/>
|
||
<text x="258" y="100" fill="#047857" font-size="9" font-weight="700">已自动完成拆单</text>
|
||
|
||
<rect y="120" width="352" height="48" rx="3" fill="#F1F5F9"/>
|
||
<text x="12" y="140" fill="#334155" font-size="9" font-weight="600">全渠道数据一致性保障机制:</text>
|
||
<text x="12" y="156" fill="#64748B" font-size="8">分布式事务与双向幂等设计,杜绝并发重单与账实不符风险</text>
|
||
</g>
|
||
|
||
<!-- 右侧商户端结算 -->
|
||
<g transform="translate(392, 0)">
|
||
<rect width="216" height="215" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#1E293B" font-size="11" font-weight="700">商户结算与营销工具</text>
|
||
|
||
<g transform="translate(12, 34)">
|
||
<rect width="192" height="52" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#0F172A" font-size="10" font-weight="600">微信/支付宝分账集成</text>
|
||
<text x="10" y="38" fill="#10B981" font-size="8">支持多商户资金合规自动分账</text>
|
||
|
||
<rect y="60" width="192" height="52" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="80" fill="#0F172A" font-size="10" font-weight="600">全套营销工具链</text>
|
||
<text x="10" y="98" fill="#2563EB" font-size="8">限时折扣 / 阶梯拼团 / 积分抵扣</text>
|
||
|
||
<rect y="120" width="192" height="48" rx="3" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="10" y="140" fill="#1E40AF" font-size="10" font-weight="700">白盒源码交付体系</text>
|
||
<text x="10" y="156" fill="#3B82F6" font-size="8">完整交付后端+UniApp移动端工程源码</text>
|
||
</g>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'product_mall.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_product_erp():
|
||
content = '''<svg width="640" height="360" viewBox="0 0 640 360" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="erpBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="360" rx="8" fill="url(#erpBg)"/>
|
||
<rect x="1" y="1" width="638" height="358" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 顶部视窗 -->
|
||
<rect x="0" y="0" width="640" height="36" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="18" cy="18" r="4" fill="#EF4444"/>
|
||
<circle cx="32" cy="18" r="4" fill="#F59E0B"/>
|
||
<circle cx="46" cy="18" r="4" fill="#10B981"/>
|
||
<rect x="64" y="8" width="460" height="20" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="76" y="22" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://erp.enterprise.com · 企业级业财一体进销存管理系统</text>
|
||
<rect x="540" y="8" width="85" height="20" rx="2" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="548" y="22" fill="#2563EB" font-size="9" font-weight="700">商用级ERP系统</text>
|
||
|
||
<!-- 中部:多级仓储与进销存业务矩阵 -->
|
||
<g transform="translate(16, 48)">
|
||
<!-- 仓储概览 -->
|
||
<rect width="290" height="120" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">智能仓储与库容预警中枢</text>
|
||
|
||
<g transform="translate(14, 38)">
|
||
<rect width="262" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#0F172A" font-size="10" font-weight="600">总仓存储区:正常运行</text>
|
||
<text x="160" y="20" fill="#10B981" font-size="9">安全库存动态预警就绪</text>
|
||
|
||
<rect y="38" width="262" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="58" fill="#0F172A" font-size="10" font-weight="600">多级前置仓:数据实时对齐</text>
|
||
<text x="160" y="58" fill="#2563EB" font-size="9">调拨单自动流转扣减</text>
|
||
</g>
|
||
|
||
<!-- 生产与BOM -->
|
||
<g transform="translate(304, 0)">
|
||
<rect width="304" height="120" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">BOM 拆解与批次质量追踪</text>
|
||
|
||
<g transform="translate(14, 38)">
|
||
<rect width="276" height="32" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="20" fill="#0F172A" font-size="10" font-weight="600">多层级 BOM 动态展开</text>
|
||
<text x="160" y="20" fill="#2563EB" font-size="9">父子级物料穿透解析</text>
|
||
|
||
<rect y="38" width="276" height="32" rx="3" fill="#ECFDF5" stroke="#A7F3D0"/>
|
||
<text x="10" y="58" fill="#065F46" font-size="10" font-weight="600">一码追溯系统就绪</text>
|
||
<text x="160" y="58" fill="#047857" font-size="9">原料采购到成品扫码可查</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 底部业财对账与财务凭证流 -->
|
||
<g transform="translate(0, 132)">
|
||
<rect width="594" height="155" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="16" y="24" fill="#1E293B" font-size="11" font-weight="700">业财一体化财务核算与外部财务系统对接</text>
|
||
|
||
<g transform="translate(16, 36)">
|
||
<rect width="180" height="50" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="20" fill="#0F172A" font-size="10" font-weight="600">采购与入库核验</text>
|
||
<text x="12" y="38" fill="#64748B" font-size="9">入库单自动对应应付账款</text>
|
||
|
||
<rect x="194" width="180" height="50" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="20" fill="#0F172A" font-size="10" font-weight="600" transform="translate(194, 0)">销售与出库结算</text>
|
||
<text x="12" y="38" fill="#64748B" font-size="9" transform="translate(194, 0)">出库单自动生成应收账单</text>
|
||
|
||
<rect x="388" width="174" height="50" rx="3" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="12" y="20" fill="#1E40AF" font-size="10" font-weight="700" transform="translate(388, 0)">标准财务接口集成</text>
|
||
<text x="12" y="38" fill="#3B82F6" font-size="9" transform="translate(388, 0)">支持用友/金蝶凭证同步</text>
|
||
</g>
|
||
|
||
<rect x="16" y="96" width="562" height="42" rx="3" fill="#F1F5F9"/>
|
||
<text x="28" y="114" fill="#0F172A" font-size="10" font-weight="600">系统特性概述:</text>
|
||
<text x="28" y="128" fill="#64748B" font-size="9">严格测试驱动开发(TDD)构建,支持纯内网物理隔离部署与公有云容器化灵活选型。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'product_erp.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_product_saas():
|
||
content = '''<svg width="640" height="360" viewBox="0 0 640 360" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="saasBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="640" height="360" rx="8" fill="url(#saasBg)"/>
|
||
<rect x="1" y="1" width="638" height="358" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 顶部视窗 -->
|
||
<rect x="0" y="0" width="640" height="36" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="18" cy="18" r="4" fill="#EF4444"/>
|
||
<circle cx="32" cy="18" r="4" fill="#F59E0B"/>
|
||
<circle cx="46" cy="18" r="4" fill="#10B981"/>
|
||
<rect x="64" y="8" width="460" height="20" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="76" y="22" fill="#64748B" font-family="'Inter', sans-serif" font-size="10">https://saas-cloud.enterprise.com · 多租户 SaaS 云原生架构管理台</text>
|
||
<rect x="540" y="8" width="85" height="20" rx="2" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="548" y="22" fill="#2563EB" font-size="9" font-weight="700">多租户云架构</text>
|
||
|
||
<!-- 架构布局 -->
|
||
<g transform="translate(16, 48)">
|
||
<!-- 租户强隔离卡片 -->
|
||
<rect width="190" height="135" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">多租户数据隔离</text>
|
||
<rect x="14" y="38" width="162" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="56" fill="#0F172A" font-size="9">共享模式:字段租户隔离 (TenantID)</text>
|
||
<rect x="14" y="72" width="162" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="90" fill="#0F172A" font-size="9">专属模式:库级/实例级完全独立</text>
|
||
<rect x="14" y="106" width="162" height="22" rx="2" fill="#ECFDF5"/>
|
||
<text x="22" y="121" fill="#047857" font-size="8" font-weight="700">● 数据主权与隐私安全物理隔离</text>
|
||
|
||
<!-- 容器集群与水平扩展 -->
|
||
<g transform="translate(202, 0)">
|
||
<rect width="190" height="135" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">弹性容器化与高可用</text>
|
||
<rect x="14" y="38" width="162" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="56" fill="#0F172A" font-size="9">微服务集群按需弹性水平扩容</text>
|
||
<rect x="14" y="72" width="162" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="90" fill="#0F172A" font-size="9">故障节点秒级自动摘除与转移</text>
|
||
<rect x="14" y="106" width="162" height="22" rx="2" fill="#EFF6FF"/>
|
||
<text x="22" y="121" fill="#1E40AF" font-size="8" font-weight="700">● 生产级双机热备与主从同步</text>
|
||
</g>
|
||
|
||
<!-- 开放生态与扩展能力 -->
|
||
<g transform="translate(404, 0)">
|
||
<rect width="204" height="135" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="24" fill="#1E293B" font-size="11" font-weight="700">开放 API 与订阅计费</text>
|
||
<rect x="14" y="38" width="176" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="56" fill="#0F172A" font-size="9">标准化 RESTful / Webhook 接口</text>
|
||
<rect x="14" y="72" width="176" height="28" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="22" y="90" fill="#0F172A" font-size="9">支持灵活按用量、坐席与功能订阅</text>
|
||
<rect x="14" y="106" width="176" height="22" rx="2" fill="#FAF5FF"/>
|
||
<text x="22" y="121" fill="#7C3AED" font-size="8" font-weight="700">● 便捷连接 ERP / CRM / 第三方系统</text>
|
||
</g>
|
||
|
||
<!-- 底部特性总结 -->
|
||
<g transform="translate(0, 148)">
|
||
<rect width="608" height="140" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="16" y="26" fill="#1E293B" font-size="11" font-weight="700">企业级多租户 SaaS 部署与运营闭环</text>
|
||
|
||
<g transform="translate(16, 38)">
|
||
<rect width="180" height="42" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="18" fill="#0F172A" font-size="10" font-weight="600">按需订阅 / 快速上线</text>
|
||
<text x="12" y="32" fill="#64748B" font-size="8">开通即用,降低前期技术与运维门槛</text>
|
||
|
||
<rect x="194" width="180" height="42" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="18" fill="#0F172A" font-size="10" font-weight="600" transform="translate(194, 0)">支持私有化与混合云</text>
|
||
<text x="12" y="32" fill="#64748B" font-size="8" transform="translate(194, 0)">可随时平滑迁移至客户私有服务器</text>
|
||
|
||
<rect x="388" width="186" height="42" rx="3" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="12" y="18" fill="#1E40AF" font-size="10" font-weight="700" transform="translate(388, 0)">安全审计与合规留痕</text>
|
||
<text x="12" y="32" fill="#3B82F6" font-size="8" transform="translate(388, 0)">租户操作日志全程记录与审计防篡改</text>
|
||
</g>
|
||
|
||
<rect x="16" y="90" width="576" height="38" rx="3" fill="#F1F5F9"/>
|
||
<text x="24" y="106" fill="#0F172A" font-size="10" font-weight="600">架构承诺:</text>
|
||
<text x="24" y="120" fill="#64748B" font-size="9">坚持企业级工程标准交付,支持独立数据库部署,客户完全掌握数据资产归属。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'product_saas.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_service_agent():
|
||
content = '''<svg width="400" height="360" viewBox="0 0 400 360" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="aiBgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="400" height="360" rx="8" fill="url(#aiBgGrad)"/>
|
||
<rect x="1" y="1" width="398" height="358" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 视窗标题 -->
|
||
<rect x="0" y="0" width="400" height="36" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="16" cy="18" r="4" fill="#EF4444"/>
|
||
<circle cx="28" cy="18" r="4" fill="#F59E0B"/>
|
||
<circle cx="40" cy="18" r="4" fill="#10B981"/>
|
||
<rect x="56" y="8" width="260" height="20" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="66" y="22" fill="#64748B" font-family="'Inter', sans-serif" font-size="9">ai-agent.framework · 企业私有化智能体架构</text>
|
||
<rect x="326" y="8" width="62" height="20" rx="2" fill="#FAF5FF" stroke="#E9D5FF"/>
|
||
<text x="332" y="22" fill="#7C3AED" font-size="9" font-weight="700">智能体开发</text>
|
||
|
||
<!-- 核心架构流 -->
|
||
<g transform="translate(16, 48)">
|
||
<rect width="368" height="96" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#1E293B" font-size="11" font-weight="700">RAG 检索增强架构与向量知识库</text>
|
||
|
||
<g transform="translate(14, 34)">
|
||
<rect width="105" height="48" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="8" y="18" fill="#0F172A" font-size="9" font-weight="600">文档分块与清洗</text>
|
||
<text x="8" y="36" fill="#64748B" font-size="8">PDF/Doc/表格解析</text>
|
||
|
||
<rect x="115" width="105" height="48" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="8" y="18" fill="#0F172A" font-size="9" font-weight="600" transform="translate(115, 0)">向量化与索引</text>
|
||
<text x="8" y="36" fill="#2563EB" font-size="8" transform="translate(115, 0)">Milvus / PGVector</text>
|
||
|
||
<rect x="230" width="110" height="48" rx="3" fill="#FAF5FF" stroke="#E9D5FF"/>
|
||
<text x="8" y="18" fill="#6B21A8" font-size="9" font-weight="700" transform="translate(230, 0)">多路召回重排</text>
|
||
<text x="8" y="36" fill="#7C3AED" font-size="8" transform="translate(230, 0)">语义比对与法条匹配</text>
|
||
</g>
|
||
|
||
<!-- 工作流编排 -->
|
||
<g transform="translate(0, 108)">
|
||
<rect width="368" height="105" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#1E293B" font-size="11" font-weight="700">多 Agent 协同流程与工单闭环</text>
|
||
|
||
<g transform="translate(14, 34)">
|
||
<rect width="165" height="58" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="18" fill="#0F172A" font-size="9" font-weight="600">意图识别与路由</text>
|
||
<text x="10" y="34" fill="#64748B" font-size="8">智能分流至专业审查节点</text>
|
||
<text x="10" y="48" fill="#10B981" font-size="8">自动提取核心风险要素</text>
|
||
|
||
<rect x="175" width="165" height="58" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="18" fill="#0F172A" font-size="9" font-weight="600" transform="translate(175, 0)">人机协同初审</text>
|
||
<text x="10" y="34" fill="#64748B" font-size="8" transform="translate(175, 0)">出具审查建议与法条出处</text>
|
||
<text x="10" y="48" fill="#2563EB" font-size="8" transform="translate(175, 0)">辅助人工决策,审计留痕</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 底部物理安全说明 -->
|
||
<g transform="translate(0, 224)">
|
||
<rect width="368" height="74" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#0F172A" font-size="10" font-weight="700">安全与私有化机制:</text>
|
||
<text x="14" y="40" fill="#475569" font-size="9">支持纯内网服务器部署,数据严格不出企业本地机房;</text>
|
||
<text x="14" y="58" fill="#475569" font-size="9">适配国产算力平台与开源大模型量化微调,保障自主可控与合规审计。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'service_agent.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def update_service_middle():
|
||
content = '''<svg width="400" height="360" viewBox="0 0 400 360" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||
<defs>
|
||
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
|
||
<stop offset="0%" stop-color="#FFFFFF"/>
|
||
<stop offset="100%" stop-color="#F8FAFC"/>
|
||
</linearGradient>
|
||
</defs>
|
||
|
||
<rect width="400" height="360" rx="8" fill="url(#bgGrad)"/>
|
||
<rect x="1" y="1" width="398" height="358" rx="7" fill="none" stroke="#CBD5E1" stroke-width="1.5"/>
|
||
|
||
<!-- 视窗标题 -->
|
||
<rect x="0" y="0" width="400" height="36" rx="8 8 0 0" fill="#F1F5F9" stroke="#E2E8F0"/>
|
||
<circle cx="16" cy="18" r="4" fill="#EF4444"/>
|
||
<circle cx="28" cy="18" r="4" fill="#F59E0B"/>
|
||
<circle cx="40" cy="18" r="4" fill="#10B981"/>
|
||
<rect x="56" y="8" width="260" height="20" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="66" y="22" fill="#64748B" font-family="'Inter', sans-serif" font-size="9">arch.cluster · 分布式高可用微服务治理中枢</text>
|
||
<rect x="326" y="8" width="62" height="20" rx="2" fill="#EFF6FF" stroke="#BFDBFE"/>
|
||
<text x="332" y="22" fill="#2563EB" font-size="9" font-weight="700">软件开发</text>
|
||
|
||
<!-- 架构分层 -->
|
||
<g transform="translate(16, 48)">
|
||
<!-- 网关路由 -->
|
||
<rect width="368" height="60" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="20" fill="#1E293B" font-size="10" font-weight="700">统一 API 接入网关</text>
|
||
<g transform="translate(14, 28)">
|
||
<rect width="105" height="24" rx="2" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="16" fill="#0F172A" font-size="9">流量削峰与限流</text>
|
||
|
||
<rect x="115" width="105" height="24" rx="2" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="16" fill="#0F172A" font-size="9" transform="translate(115, 0)">服务鉴权与防刷</text>
|
||
|
||
<rect x="230" width="108" height="24" rx="2" fill="#EFF6FF"/>
|
||
<text x="12" y="16" fill="#2563EB" font-size="9" font-weight="600" transform="translate(230, 0)">全链路负载均衡</text>
|
||
</g>
|
||
|
||
<!-- 微服务集群 -->
|
||
<g transform="translate(0, 70)">
|
||
<rect width="368" height="130" rx="4" fill="#FFFFFF" stroke="#E2E8F0"/>
|
||
<text x="14" y="22" fill="#1E293B" font-size="10" font-weight="700">分布式微服务集群与数据层治理</text>
|
||
|
||
<g transform="translate(14, 34)">
|
||
<rect width="165" height="40" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="18" fill="#0F172A" font-size="9" font-weight="600">服务注册与熔断降级</text>
|
||
<text x="10" y="32" fill="#64748B" font-size="8">Sentinel / Nacos 高可用集群</text>
|
||
|
||
<rect x="175" width="165" height="40" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="10" y="18" fill="#0F172A" font-size="9" font-weight="600" transform="translate(175, 0)">分布式事务一致性</text>
|
||
<text x="10" y="32" fill="#2563EB" font-size="8" transform="translate(175, 0)">Seata / 最终一致性保障</text>
|
||
</g>
|
||
|
||
<g transform="translate(14, 82)">
|
||
<rect width="340" height="38" rx="3" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="12" y="16" fill="#0F172A" font-size="9" font-weight="600">数据库主从读写分离 + Redis 分布式多级缓存架构</text>
|
||
<text x="12" y="30" fill="#10B981" font-size="8">双向幂等校验设计,支持弹性横向扩展与平滑扩容</text>
|
||
</g>
|
||
</g>
|
||
|
||
<!-- 底部工程规范 -->
|
||
<g transform="translate(0, 210)">
|
||
<rect width="368" height="88" rx="4" fill="#F8FAFC" stroke="#E2E8F0"/>
|
||
<text x="14" y="20" fill="#0F172A" font-size="10" font-weight="700">质量与工程交付标准:</text>
|
||
<text x="14" y="38" fill="#475569" font-size="9">严格践行测试驱动开发(TDD),核心业务模块单测用例覆盖;</text>
|
||
<text x="14" y="54" fill="#475569" font-size="9">白盒交付完整源代码、数据库字典及详尽部署运维文档;</text>
|
||
<text x="14" y="70" fill="#475569" font-size="9">支持私有专网物理隔离部署与多中心容灾方案选型。</text>
|
||
</g>
|
||
</g>
|
||
</svg>'''
|
||
with open(os.path.join(SVG_DIR, 'service_middle.svg'), 'w', encoding='utf-8') as f:
|
||
f.write(content)
|
||
|
||
def main():
|
||
print("开始更新 Showcase SVGs...")
|
||
update_case_distrib()
|
||
print("✓ case_distrib.svg 已完成合规更新")
|
||
update_case_catering()
|
||
print("✓ case_catering.svg 已完成合规更新")
|
||
update_case_manufacture()
|
||
print("✓ case_manufacture.svg 已完成合规更新")
|
||
update_case_gov_agent()
|
||
print("✓ case_gov_agent.svg 已完成合规更新")
|
||
update_product_mall()
|
||
print("✓ product_mall.svg 已完成合规更新")
|
||
update_product_erp()
|
||
print("✓ product_erp.svg 已完成合规更新")
|
||
update_product_saas()
|
||
print("✓ product_saas.svg 已完成合规更新")
|
||
update_service_agent()
|
||
print("✓ service_agent.svg 已完成合规更新")
|
||
update_service_middle()
|
||
print("✓ service_middle.svg 已完成合规更新")
|
||
print("所有 Showcase SVGs 合规化升级完成!")
|
||
|
||
if __name__ == '__main__':
|
||
main()
|