daf3532120
- 总设计文档迁至根目录(云超服一体化架构设计方案.md,figures/ 随迁) - 设计文档补充 §十二 各代码项目工作原理 - code 六个子项目转独立仓库(组织 Pine),移出根跟踪、保留文件夹 - CLAUDE.md 补充主项目/子项目约束(分别提交、同步全子项目)
111 lines
7.6 KiB
XML
111 lines
7.6 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 440" width="1200" height="440" font-family="'PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif">
|
|
<defs>
|
|
<marker id="ah" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
<path d="M0,0 L10,5 L0,10 z" fill="#94a3b8"/>
|
|
</marker>
|
|
<filter id="shadow" x="-8%" y="-8%" width="120%" height="130%">
|
|
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-color="#0f172a" flood-opacity="0.08"/>
|
|
</filter>
|
|
</defs>
|
|
|
|
<rect x="0" y="0" width="1200" height="440" fill="#fbfcfe"/>
|
|
<text x="600" y="38" text-anchor="middle" font-size="22" font-weight="700" fill="#0f172a">迁移与演进路线</text>
|
|
<text x="600" y="62" text-anchor="middle" font-size="13" fill="#64748b">五阶段 · 每阶段独立交付、可回滚</text>
|
|
|
|
<g font-family="'PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif">
|
|
<!-- P0 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="40" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#2563eb" stroke-width="2"/>
|
|
<circle cx="70" cy="136" r="14" fill="#2563eb"/>
|
|
<text x="70" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">0</text>
|
|
<text x="92" y="143" font-size="13" font-weight="700" fill="#1d4ed8">基座</text>
|
|
<line x1="52" y1="156" x2="198" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="56" y="178" font-size="10.5" fill="#334155">OpenAPI 契约 + Pydantic</text>
|
|
<text x="56" y="196" font-size="10.5" fill="#334155">compute_client 打通算力中心</text>
|
|
<text x="56" y="214" font-size="10.5" fill="#334155">users 补微信 openid + 手机/微信登录</text>
|
|
<rect x="48" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="60" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="60" y="260" font-size="9.5" fill="#475569">三端能连核心服务端登录</text>
|
|
</g>
|
|
<!-- P1 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="236" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#6366f1" stroke-width="2"/>
|
|
<circle cx="266" cy="136" r="14" fill="#6366f1"/>
|
|
<text x="266" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">1</text>
|
|
<text x="288" y="143" font-size="13" font-weight="700" fill="#4338ca">身份统一</text>
|
|
<line x1="248" y1="156" x2="394" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="252" y="178" font-size="10.5" fill="#334155">accounts → users/opc_profiles</text>
|
|
<text x="252" y="196" font-size="10.5" fill="#334155">三端登录全走核心服务端</text>
|
|
<text x="252" y="214" font-size="10.5" fill="#334155">小程序/Web 改 API_BASE</text>
|
|
<rect x="244" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="256" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="256" y="260" font-size="9.5" fill="#475569">同一账号三端互通</text>
|
|
</g>
|
|
<!-- P2 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="432" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#0891b2" stroke-width="2"/>
|
|
<circle cx="462" cy="136" r="14" fill="#0891b2"/>
|
|
<text x="462" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">2</text>
|
|
<text x="484" y="143" font-size="13" font-weight="700" fill="#0e7490">业务域迁移</text>
|
|
<line x1="444" y1="156" x2="590" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="448" y="178" font-size="10.5" fill="#334155">courses/activities/bookings/tests 建表</text>
|
|
<text x="448" y="196" font-size="10.5" fill="#334155">rbac_operator 端点 + 数据迁移</text>
|
|
<text x="448" y="214" font-size="10.5" fill="#334155">web platform 管理迁入运营端</text>
|
|
<rect x="440" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="452" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="452" y="260" font-size="9.5" fill="#475569">运营端完整管理课程/活动/报名/测评</text>
|
|
</g>
|
|
<!-- P3 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="628" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#16a34a" stroke-width="2"/>
|
|
<circle cx="658" cy="136" r="14" fill="#16a34a"/>
|
|
<text x="658" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">3</text>
|
|
<text x="680" y="143" font-size="13" font-weight="700" fill="#15803d">用户端补全</text>
|
|
<line x1="640" y1="156" x2="786" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="644" y="178" font-size="10.5" fill="#334155">算力/入驻/政策/财务/工商</text>
|
|
<text x="644" y="196" font-size="10.5" fill="#334155">rbac_opc 端点 + Opc 页面</text>
|
|
<text x="644" y="214" font-size="10.5" fill="#334155">智能体一键唤起(算力走 new-api)</text>
|
|
<rect x="636" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="648" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="648" y="260" font-size="9.5" fill="#475569">OPC 端口六功能可用</text>
|
|
</g>
|
|
<!-- P4 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="824" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#ea580c" stroke-width="2"/>
|
|
<circle cx="854" cy="136" r="14" fill="#ea580c"/>
|
|
<text x="854" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">4</text>
|
|
<text x="876" y="143" font-size="13" font-weight="700" fill="#c2410c">园区大屏</text>
|
|
<line x1="836" y1="156" x2="982" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="840" y="178" font-size="10.5" fill="#334155">data_source 接核心 + 算力中心</text>
|
|
<text x="840" y="196" font-size="10.5" fill="#334155">替换 sim_engine 随机模拟</text>
|
|
<text x="840" y="214" font-size="10.5" fill="#334155">园区数据管理页</text>
|
|
<rect x="832" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="844" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="844" y="260" font-size="9.5" fill="#475569">大屏真实人员 + 实时 token/流水</text>
|
|
</g>
|
|
<!-- P5 -->
|
|
<g filter="url(#shadow)">
|
|
<rect x="1020" y="110" width="170" height="250" rx="12" fill="#ffffff" stroke="#64748b" stroke-width="2"/>
|
|
<circle cx="1050" cy="136" r="14" fill="#64748b"/>
|
|
<text x="1050" y="141" text-anchor="middle" font-size="12" font-weight="700" fill="#fff">5</text>
|
|
<text x="1072" y="143" font-size="13" font-weight="700" fill="#475569">收尾</text>
|
|
<line x1="1032" y1="156" x2="1178" y2="156" stroke="#e2e8f0" stroke-width="1.5"/>
|
|
<text x="1036" y="178" font-size="10.5" fill="#334155">退役 opc-training server/mock</text>
|
|
<text x="1036" y="196" font-size="10.5" fill="#334155">退役 web platform 管理端</text>
|
|
<text x="1036" y="214" font-size="10.5" fill="#334155">README / 文档同步</text>
|
|
<rect x="1028" y="226" width="154" height="56" rx="6" fill="#f8fafc"/>
|
|
<text x="1040" y="244" font-size="9.5" font-weight="700" fill="#64748b">退出条件</text>
|
|
<text x="1040" y="260" font-size="9.5" fill="#475569">单后端 + 四前端稳定运行</text>
|
|
</g>
|
|
</g>
|
|
|
|
<!-- 阶段箭头 -->
|
|
<g stroke="#94a3b8" stroke-width="2" marker-end="url(#ah)">
|
|
<line x1="210" y1="230" x2="236" y2="230"/>
|
|
<line x1="406" y1="230" x2="432" y2="230"/>
|
|
<line x1="602" y1="230" x2="628" y2="230"/>
|
|
<line x1="798" y1="230" x2="824" y2="230"/>
|
|
<line x1="994" y1="230" x2="1020" y2="230"/>
|
|
</g>
|
|
</svg>
|