2.1 KiB
2.1 KiB
Business Plugin V1 架构与流程图
拓扑
flowchart TD
B[管理员浏览器] --> C[Core custom_menu_items]
C --> I[Core /custom/:id sandbox iframe]
I --> P[反向代理 /extensions/:plugin-id/]
P --> M[Plugin Control Plane / TDesign Shell]
M --> S[订阅业务模块 BFF / 独立服务]
M --> A[Typed Core API Adapter]
A --> K[Core Auth/Admin API]
K --> D[Core 权威账本与审计]
M --> R[Plugin Registry / Revisions / Audit]
M --> H[Supervisor + healthz/readyz]
登录时序
sequenceDiagram
participant B as Browser
participant P as Plugin BFF
participant C as Core
B->>P: POST /login(唯一登录入口)
P->>C: POST /api/v1/auth/login
C-->>P: access/refresh 或 2FA challenge
P->>C: POST /api/v1/auth/login/2fa (按需)
P->>C: GET /api/v1/auth/me
C-->>P: role=admin
P-->>B: 唯一 HttpOnly plugin session + CSRF token
B->>P: GET /api/plugins 或 /modules/subscription/*
P->>C: Bearer Core JWT + X-Request-ID
P->>S: 复用同一管理员会话调用订阅模块
P-->>B: 脱敏业务数据
生命周期
stateDiagram-v2
[*] --> discovered
discovered --> verified: manifest/signature/hash pass
verified --> installed: atomic staging
installed --> disabled
disabled --> starting: enable
starting --> healthy: health + contract pass
starting --> error: timeout/failure
healthy --> draining: disable/upgrade
draining --> disabled
healthy --> upgrading: new revision
upgrading --> healthy: new revision pass
upgrading --> rollback_pending: new revision fail
rollback_pending --> healthy: old revision restored
verified --> incompatible: version/capability mismatch
数据边界
Core authoritative data
user / admin role / balance / plan / subscription / order / usage / billing / audit
▲
│ typed HTTPS API, server-side token only
▼
Plugin projection and UI
cache / filters / display index / plugin audit reference
▲
│ controlled by
▼
Plugin control plane
manifest / signature / revision / health / config / menu ownership / session