m-cloud API Documentation - v1.0.1-beta.5
    Preparing search index...

    Class Router<StateT, CustomT>

    路由器类 继承自 EventEmitter,支持事件监听和触发 提供完整的请求路由、中间件管理和插件系统功能

    const router = new Router({
    baseDir: './',
    debug: true,
    middleware: [
    [myMiddleware, { name: 'custom' }]
    ],
    versionConfig: {
    default: '1.0',
    supported: ['1.0', '2.0'],
    prefix: 'v'
    }
    })

    const result = await router.serve(event, context)

    Type Parameters

    • StateT = DefaultState

      状态类型,默认为 DefaultState

    • CustomT = DefaultContext

      自定义上下文类型,默认为 DefaultContext

    Hierarchy

    • EventEmitter
      • Router
    Index

    Constructors

    Methods

    Constructors

    • Type Parameters

      • StateT = DefaultState

        状态类型,默认为 DefaultState

      • CustomT = DefaultContext

        自定义上下文类型,默认为 DefaultContext

      Parameters

      Returns Router<StateT, CustomT>

    Methods

    • 销毁 Router 实例,清理资源 清理定时器、缓存和事件监听器

      Returns void

    • 注册中间件函数 将中间件添加到中间件栈中,可选择性地配置匹配规则

      Parameters

      • fn: Middleware<StateT, CustomT>

        要注册的中间件函数

      • Optionaloptions: MiddlewareOptions

        中间件选项,包括名称、匹配规则等

      Returns this

      返回 Router 实例以支持链式调用

      如果中间件不是函数

      // 简单中间件
      router.use(async (ctx, next) => {
      console.log('Request:', ctx.url)
      await next()
      })

      // 带选项的中间件
      router.use(myMiddleware, {
      name: 'auth',
      match: /^/api//,
      ignore: /^/api/public//
      })
    • 处理 uni-cloud 函数请求 解析事件、创建上下文、匹配路由、执行中间件并返回响应

      Parameters

      • event: UniCloudEvent

        uni-cloud 事件对象,包含请求信息

      • context: UniCloudContext

        uni-cloud 上下文对象,包含环境信息

      Returns Promise<any>

      处理结果,通常是响应体对象

      const result = await router.serve(
      {
      action: 'user/getInfo',
      httpMethod: 'POST',
      body: JSON.stringify({ userId: '123' })
      },
      { APPID: 'xxx', CLIENTIP: '127.0.0.1' }
      )