外观
架构与职责
uAdmin 将公共后台能力与业务页面分离。消费方选择完整内核接入,或按需使用独立能力包。
七个能力包
| 包 | 职责 |
|---|---|
@uadmin/protocol | 零依赖的前后端协议类型、端点及权限常量 |
@uadmin/core | HTTP、国际化、权限指令、工具与 hooks |
@uadmin/ui | 页面容器、数据表、组件与主题 token |
@uadmin/layout | 工作台布局、菜单及标签页展示 |
@uadmin/app | 应用装配、会话、导航、路由、权限与偏好状态 |
@uadmin/modules | 可选系统管理页面及对应 API、语言资源与 Mock |
@uadmin/extras | 按子路径使用的可选展示组件与工具 |
create-uadmin 是项目脚手架,不属于上述七个能力包。
前后端边界
后端负责身份认证、权限校验、模块状态与导航快照;前端根据快照注册已启用模块的页面,并显示有权限的菜单。前端隐藏按钮不能替代服务端鉴权。
业务模块通过 defineModule 提供路由、语言资源与扩展槽。应用内核持有会话、导航、标签页与偏好状态,布局消费这些状态,业务页面复用 HTTP 与 UI 能力。
默认 restBackend 按共享协议请求后端。不同协议的服务可实现 BackendAdapter,而不修改业务组件。
消费方式
- 完整工作台:使用
@uadmin/app的createUAdmin,配合布局与业务模块。 - 独立组件:按需使用
@uadmin/ui、@uadmin/core或@uadmin/extras,自行提供所需注入契约。 - 系统管理:使用
systemModules()或单独注册系统模块,服务端实现对应接口。
Vue SFC 包采用源码直出。完整接入时配置 @uadmin/app/vite 的 uadmin() 插件,避免依赖预构建产生重复注入实例。