<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="520" viewBox="0 0 1200 520" role="img" aria-labelledby="title desc">
  <title id="title">应用版本从创建到上架的流程</title>
  <desc id="desc">开发者从已有项目准备版本、完成本地模拟和联网调试、提交审核，平台批准并上线。已上架版本修改时保留旧线上内容，更新成功后才切换。</desc>
  <defs>
    <linearGradient id="bg" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#f5f9ff"/><stop offset="1" stop-color="#eef7f4"/></linearGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%"><feDropShadow dx="0" dy="6" stdDeviation="8" flood-color="#24415f" flood-opacity=".12"/></filter>
    <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse"><path d="M0 0l10 5-10 5z" fill="#4d6f91"/></marker>
  </defs>
  <rect width="1200" height="520" rx="28" fill="url(#bg)"/>
  <text x="60" y="68" font-family="sans-serif" font-size="30" font-weight="700" fill="#17324d">一个版本，先验证，再审核，最后切换线上</text>
  <text x="60" y="102" font-family="sans-serif" font-size="17" fill="#587086">只有显式“新建版本”才产生新版本号</text>
  <g filter="url(#shadow)" font-family="sans-serif">
    <g><rect x="55" y="150" width="190" height="128" rx="18" fill="#fff"/><circle cx="92" cy="187" r="18" fill="#dcecff"/><text x="86" y="194" font-size="20" font-weight="700" fill="#2764a5">1</text><text x="80" y="232" font-size="22" font-weight="700" fill="#17324d">准备版本</text><text x="80" y="260" font-size="15" fill="#587086">版本文件 + 镜像归档</text></g>
    <g><rect x="285" y="150" width="190" height="128" rx="18" fill="#fff"/><circle cx="322" cy="187" r="18" fill="#e6f5ef"/><text x="316" y="194" font-size="20" font-weight="700" fill="#268060">2</text><text x="310" y="232" font-size="22" font-weight="700" fill="#17324d">开发验证</text><text x="310" y="260" font-size="15" fill="#587086">本地模拟 + 联网调试</text></g>
    <g><rect x="515" y="150" width="190" height="128" rx="18" fill="#fff"/><circle cx="552" cy="187" r="18" fill="#fff0d8"/><text x="546" y="194" font-size="20" font-weight="700" fill="#b66a13">3</text><text x="540" y="232" font-size="22" font-weight="700" fill="#17324d">提交审核</text><text x="540" y="260" font-size="15" fill="#587086">平台检查申请内容</text></g>
    <g><rect x="745" y="150" width="190" height="128" rx="18" fill="#fff"/><circle cx="782" cy="187" r="18" fill="#efe7ff"/><text x="776" y="194" font-size="20" font-weight="700" fill="#7352b8">4</text><text x="770" y="232" font-size="22" font-weight="700" fill="#17324d">管理员批准</text><text x="770" y="260" font-size="15" fill="#587086">批准不等于立即切换</text></g>
    <g><rect x="975" y="150" width="170" height="128" rx="18" fill="#1f6f5f"/><circle cx="1012" cy="187" r="18" fill="#fff" fill-opacity=".18"/><text x="1006" y="194" font-size="20" font-weight="700" fill="#fff">5</text><text x="1000" y="232" font-size="22" font-weight="700" fill="#fff">成功上线</text><text x="1000" y="260" font-size="15" fill="#d9f4ed">运行成功后才切换</text></g>
  </g>
  <g stroke="#4d6f91" stroke-width="3" fill="none" marker-end="url(#arrow)"><path d="M245 214h32"/><path d="M475 214h32"/><path d="M705 214h32"/><path d="M935 214h32"/></g>
  <rect x="55" y="335" width="1090" height="125" rx="20" fill="#fff" stroke="#c9d9e8"/>
  <text x="82" y="374" font-family="sans-serif" font-size="19" font-weight="700" fill="#17324d">已上架版本需要修改时</text>
  <text x="82" y="408" font-family="sans-serif" font-size="17" fill="#587086">修改本版本 → 替换版本文件或镜像 → 提交变更审核 → 管理员批准 → 更新成功后替换线上内容</text>
  <rect x="82" y="426" width="332" height="14" rx="7" fill="#55a98c"/>
  <rect x="430" y="426" width="680" height="14" rx="7" fill="#d9e7f3"/>
  <text x="845" y="455" font-family="sans-serif" font-size="14" fill="#587086">更新成功前，旧线上内容继续服务</text>
</svg>
