feat: add docs website

This commit is contained in:
lintianle
2026-07-09 16:07:58 +08:00
parent dabc5e6225
commit 87a1774fef
35 changed files with 3540 additions and 0 deletions

View File

@@ -0,0 +1,85 @@
# Context
上下文对象是 Cordis 的核心。所有服务、方法、属性都通过 `ctx` 访问。
## 服务与混入
Context 基于组合式 API 设计,大部分属性和方法挂载在服务上。以下是核心 API:
- [`ctx.on`](./events#ctx-on) — 注册事件监听器
- [`ctx.emit`](./events#ctx-emit) — 触发事件
- [`ctx.bail`](./events#ctx-bail) — 短路事件
- [`ctx.serial`](./events#ctx-serial) — 顺序异步事件
- [`ctx.waterfall`](./events#ctx-waterfall) — 管道事件
- [`ctx.effect`](./fiber#fiber-effect) — 注册可逆效果
- [`ctx.plugin`](./registry#ctx-plugin) — 加载子插件
- [`ctx.inject`](./registry#ctx-inject) — 获取依赖的插件
- [`ctx.get`](#ctx-get) — 获取服务
- [`ctx.set`](#ctx-set) — 设置服务
- [`ctx.provide`](#ctx-provide) — 声明服务
## 实例属性
### ctx.fiber
- **类型:** [`Fiber`](./fiber)
当前上下文的作用域对象。
## 实例方法
### ctx.extend(meta)
- **meta:** `object`
- **返回值:** `Context`
构造一个以当前上下文为原型的新上下文实例。
### ctx.intercept(name, config)
- **name:** `string` 服务名称
- **config:** `object` 配置拦截
- **返回值:** `Context`
为指定服务添加一层配置拦截,返回新的上下文实例。
### ctx.isolate(name, label?)
- **name:** `string` 服务名称
- **label:** `symbol` 隔离域符号(可选)
- **返回值:** `Context`
创建一个针对指定服务的隔离域,返回新的上下文实例。隔离域中的同名服务互不影响。
### ctx.get(name)
- **name:** `string` 服务名称
- **返回值:** `Service | undefined`
获取指定名称的服务实例。
### ctx.set(name, value)
- **name:** `string` 服务名称
- **value:** `any` 服务值
设置指定名称的服务。
### ctx.provide(name, value?, options?)
- **name:** `string` 服务名称
- **value:** `any` 初始值(可选)
- **options:** `object`
- **返回值:** `void`
声明一个服务。声明后其他插件可以通过 `inject` 依赖它。
## 静态属性
### Context.events
内置事件服务的 symbol key。
### Context.current
当前活跃的 Context 实例(在异步链中通过 AsyncLocalStorage 追踪)。