跳转到正文

English core guides · 历史记录保留中文

系统架构概览 ​

请求如何流转 ​

首页 / 始终返回公开网页,包括已经登录的用户。/dashboard 等私有路径交给工作台;工作台读取会话并决定是否跳转登录,接口再校验身份与数据归属。

三个部署单元 ​

应用职责关键入口
公开站静态网页、工具、博客及请求分流apps/web/worker.ts
工作台单页应用、会话状态及私有页面apps/app/wrangler.jsonc(静态资源与单页回退)
接口认证与类型化业务接口apps/api/worker.ts

公开站通过 APP_SERVICE 和 API_SERVICE 调用另外两个服务。接口使用两个 Hyperdrive 绑定;认证、权限、账单和写后读走无查询缓存的连接。

公开内容与私有数据 ​

Astro 在构建时生成公开正文、元信息和博客页面;交互工具按需加载 React。搜索访问不需要登录或等待私有工作台脚本。用户历史和积分通过登录后的接口获取,不写入公开构建产物。

认证模块仍设置会话提示 cookie,但当前公开入口不据此将首页切换为工作台。该 cookie 不是授权凭据,历史设计见 认证提示 cookie 决策。

本地与线上 ​

完整预览由 scripts/preview.py 启动各服务,再用 scripts/local-gateway.ts 在 4400 分流。线上使用 Worker 服务绑定。两者必须保持相同路径归属,相关检查在 apps/app/lib/edge-routing.test.ts。

构建顺序应让邮件模板先可供接口引用;使用根目录 bun build,避免手动漏掉依赖。部署依次更新接口、工作台和公开入口,细节见 部署上线。

供语言模型读取:llms.txt · llms-full.txt
采用 MIT 许可证。