Skip to content

架构与选型 ​

从解决当前问题的一层开始。Fetcher 发送 HTTP 请求,提供共享默认配置、拦截器和结果提取;它不要求 React、Wow 后端或认证服务。配置与请求管线见 packages/fetcher/src/fetcher.ts:150。

需要决定什么阅读决策结果
应用需要哪些包?包边界区分运行客户端、peer 安装要求和开发工具
客户端运行在哪里?运行环境明确浏览器能力、Node 要求和 SSR 身份作用域
通用行为放在哪一层?请求生命周期区分请求/响应拦截与结果提取
谁管理数据和清理?状态与资源明确 Hook 状态、旧结果、订阅和资源释放
请求拒绝意味着什么?失败模型区分传输、状态、解码、取消和流失败
选择哪种 API 风格?集成决策比较直接调用、声明式服务及服务专用集成

为具体责任增加一层 ​

普通端点从 HTTP 指南 开始;端点声明重复时阅读服务指南;组件需要请求状态时阅读 React 指南。

每增加一层都会引入契约。SSE 需要可读事件流;CoSec 需要其 token 与刷新端点。安装客户端不会创造这些服务端能力。流提取对可读响应体的检查见 packages/eventstream/src/eventStreamResultExtractor.ts:41。

Wow 客户端、其 React Hook、生成器和数据视图组件已迁往 Wow 仓库,见已迁出的包。

在边界内理解保证 ​

TypeScript 类型描述数据,但不会在运行时验证响应。UI 防止旧结果覆盖不等于服务端授权。命令已处理也不代表所有投影立即更新。验证、权限、幂等和数据新鲜度应由拥有这些能力的服务确定,再通过合适的客户端接入。API 参考 说明各导出 API,这些架构页解释其责任止于何处。

基于 Apache License 2.0 发布。