vome-core 为 Service 提供了什么
宿主通过 import … from 'vome-core/server'(或项目别名 /#/server)使用下列能力。
入口
| 导出 | 用途 |
|---|---|
vome() | 宿主入口,回调里 App.bootstrap/shutdown/use,结束自动 start |
App | 生命周期:start / stop / bootstrap / shutdown / use |
registerHost / getHostBindings | 静态绑定宿主基建 + scan(打包必用) |
VomeConfig | 合并后的配置对象 |
IoC
| 导出 | 用途 |
|---|---|
@Provide() | 注册 Service |
@Inject() | 属性注入 |
Ioc.get() | 取实例 |
ScopeEnum | Singleton / Request / Prototype |
路由
| 导出 | 用途 |
|---|---|
@Controller() | 注册控制器 + 可选声明式 CRUD |
@Get/@Post/... | 自定义路由 |
@Body/@Query/@Param | 参数校验 |
@Public() | 跳过登录 |
@IgnorePerms() | 登录但不校权限码 |
@Use() | 路由中间件 |
BaseController | ok() / fail() / excel() |
ORM / CRUD
| 导出 | 用途 |
|---|---|
DbStore | drizzle 实例 |
@InjectRepository(table) | 表 Repository |
BaseService | add/update/delete/page/... |
Repository | 底层 CRUD |
entitySchemas / columnComments | 校验 + EPS 注释 |
q / attachCrudRoutes | QueryOp 与 CRUD 注册(join 显式 alias + condition) |
上下文与日志
| 导出 | 用途 |
|---|---|
Context.get() / Context({}) / Context.run | 请求上下文(Admin:adminId;App:userId,见 Context) |
Logger | 日志 |
CommException | 业务异常 |
defineAuthMacro | 定义鉴权 macro |
EPS / 文档
| 导出 | 用途 |
|---|---|
Eps.admin() / Eps.app() | EPS 数据 |
isEpsEnabled | 是否开启 |
租户 / 数据权限
| 导出 | 用途 |
|---|---|
isTenantEnabled / noTenant | 是否开租户;临时关闭租户过滤 |
normalizeHost / resolveTenantScope | 按 Host 解析租户 |
noDataScope / resolveDataScope / applyRowScopes | 数据权限逃逸与应用 |
tableHasDepartmentId / applyDataScopeWhere | 部门字段与 where 拼装 |
详见 认证与 RBAC。
插件 / 模块
| 导出 | 用途 |
|---|---|
BasePlugin | 插件基类 |
loadPluginClass / loadModuleHandlers / readPluginScript | 加载插件与模块脚本 |
pDataPath / pPluginPath / pModulesPath / pModulePath | 路径工具 |
ModuleRegistry / microApps / createModuleGateway | 模块注册、微应用、扩展网关 |
assertModuleInstallAllowed | 安装门禁(签/license) |
isSeatEnforced / isMarketSigEnforced | 是否生产席位/签验(SEAT_ENFORCE) |
attachMarketLicense / fetchOfficialSignedLicense | license 附着与联网签发 |
ensureSiteId / syncModuleSeat / startMarketSeatHeartbeat | 宿主身份与席位 |
详见 插件 invoke。宿主业务调用类名为 PluginInfoService。
Excel
| 导出 | 用途 |
|---|---|
buildExcelBuffer | 列 + 行 → xlsx 二进制 |
excelResponseHeaders | 下载响应头 |
BaseController.excel() | 返回文件 Response |
详见 Excel 导出。
即时通讯
Socket.IO 由宿主 src/lib/socket 提供(非 vome-core 导出),见 即时通讯 Socket.IO。
宿主基础设施(非 core 导出)
| 能力 | 文档 |
|---|---|
Redis CacheStore(含 getdel) | 缓存 |
| 一次性 Token | OneTimeTicket |
| Socket.IO | 即时通讯 |
| BullMQ 队列 | 任务队列 |
| croner 定时任务 | 定时任务 |
| 鉴权 / 日志 / 微应用中间件 | 宿主中间件 |
AI 统一网关(协议在 vome-core/ai,Gateway 在宿主 modules/ai) | AI 统一网关 |
国际化 i18n(工具在 core,业务在宿主 modules/i18n) | 国际化 i18n |
使用方式总览
ts
import 'reflect-metadata'
import {
vome,
Controller,
BaseController,
Inject,
Provide,
BaseService,
InjectRepository,
Context,
} from 'vome-core/server'
vome(({ App }) => {})各 API 细节见左侧 vome-core 能力 分节,每节含方法说明与示例。
npm 包
json
{
"dependencies": {
"vome-core": "latest"
}
}升级 core:改 package.json 版本号 → bun install → 按 changelog 调整业务代码。
