Skip to content
页面信息
📝 描述通过 hydrooj 从 @hydrooj/framework 重新导出的核心 Web 框架接口

@hydrooj/framework 重新导出

通过 hydrooj@hydrooj/framework 重新导出的核心 Web 框架接口。

概述

这些符号是 Hydro 插件中定义路由、处理器和 API 操作的基础构建块。

ts
import {
    Apis, APIS, HandlerCommon, httpServer,
    Mutation, Query, Router, Subscription, WebService,
} from 'hydrooj';

API 定义辅助工具

导出类型说明
QueryFunction定义只读 API 操作;返回 ApiCall<'Query', Arg, Res>
MutationFunction定义写入 API 操作;返回 ApiCall<'Mutation', Arg, Res>
SubscriptionFunction定义实时事件流 API 操作;返回带 emit 回调的 ApiCall<'Subscription', Arg, Res>

API 注册表

导出类型说明
ApisInterface描述所有已注册 API 操作按命名空间组织的类型化形状的 TypeScript 接口。
APISObject运行时字典,持有所有已注册的 API 调用定义。插件通过 ApiService.provide() 将其 API 注册到此对象。

处理器

导出类型说明
HandlerCommonClassHTTP 和 WebSocket 处理器的基类;提供 requestresponseargsuser 及工具方法如 checkPerm()checkPriv()url()renderHTML()

路由与服务器

导出类型说明
RouterClass扩展的 Koa Router(@koa/router),支持 WebSocket(ws() 方法)和可释放的路由注册。
httpServerhttp.Server底层 Node.js http.Server 实例。
WebServiceClass核心 Web 服务器服务(继承 cordis Service);管理路由/连接注册(ctx.Route()ctx.Connection())、中间件层、处理器混入和模板渲染器。