整体架构
2026/10/26大约 2 分钟
整体架构
Atrman 由三个可独立演进的仓库区组成,插件作为微应用被基座统一编排。
三区组成
| 仓库区 | 目录 | 职责 |
|---|---|---|
| 后端基座 | am-serve/ | Webman 常驻内存服务,扩展内核 + 系统能力 + 插件运行时 |
| 基座管理前端 | am-web/ | Vue3 + qiankun 主应用,后台管理台 |
| 插件前端框架 | am_plugin/ | 插件微应用的开发框架真源,装配到各插件工作区 |
请求与编排
浏览器(生产同域 · 共享会话)
├─ 基座管理后台 am-web(qiankun 主应用)
│ └─ 经 qiankun 加载插件 manage 子应用,注入 hostBridge 与登录态
└─ 插件前台 /app/{name}(浏览器直访,免登录可选)
│
▼ RESTful / JWT :/app/{name}/*、/sys/*、/oauth/*
后端基座 am-serve
├─ 扩展内核:EventRegistry / ServiceRegistry / AdapterRegistry
│ MiddlewareRegistry / TaskRegistry / ChannelAuthRegistry / PluginRegistrar
├─ 系统能力:Auth · RBAC · Dept · Config · File · Storage · Notify · Queue · Push · Cron · Backup · Ticket
└─ 插件运行时:PluginManager 生命周期调度 · qiankun 编排 · 声明式注册
│
▼
MySQL Redis 文件存储(本地 / OSS / COS / 七牛 / S3)扩展内核(Registry 家族)
基座把可被插件干预的关键节点抽象为一组进程级注册表,按扩展深度分层:
| 层级 | 注册表 | 作用 |
|---|---|---|
| L1 界面 | qiankun + PluginRegistrar + 远程小部件 | 页面、菜单、后台配置、工作台卡片 |
| L2 行为 | EventRegistry | 订阅标准业务事件,旁路增强 |
| L3 能力 | ServiceRegistry / AdapterRegistry | 接管/装饰基座服务,注册存储驱动、通知通道 |
| L4 链路 | MiddlewareRegistry / TaskRegistry / 队列 / 推送 | 中间件织入、定时任务、异步作业、实时推送鉴权 |
所有注册都记录 owner,禁用/卸载时基座按 owner 对称清理(forgetByOwner)。各机制是否生效由 config/plugin_extend.php 统一开关,未启用即短路为基座默认行为。
进程级注册
Webman 是多进程常驻模型。凡"每次进程启动都要重新装配"的静态注册,必须写在插件的 boot() 钩子里,详见生命周期。
