Files
sub2api-add/docs/BUSINESS_PLUGIN_ARCHITECTURE.md
T
Qiufeng ada4ab3c21
Business Plugins CI / check (plugin-admin) (push) Successful in 1m42s
Business Plugins CI / check (subscription-admin) (push) Successful in 1m30s
feat: complete unified plugin admin v1.1.0
2026-08-30 12:10:04 +08:00

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