2.1 KiB
2.1 KiB
Module Map
Source Layout
| Path | Responsibility | Owner Notes |
|---|---|---|
src/components/works/ProjectPublishAction.tsx |
可发布项目的一键提交、云构建轮询与用户可理解状态 | 只通过 Renderer API 提交非敏感元数据;绑定告警不终止轮询 |
src/lib/works-square.ts |
Renderer 侧 Works Square Host API 契约与安全错误映射 | 不接触 Token、ZIP、本地绝对路径或自动部署状态 |
electron/api/routes/works.ts |
Works Host API、Renderer capability 门禁、上游安全投影 | 发布凭据、打包、上传与本地绑定均在 Main 内完成 |
electron/services/project-packager.ts |
受控项目扫描、静态 ZIP 生成和敏感/历史控制文件排除 | 只允许可发布 ProjectType,不提供 Compose 或手工 ZIP 路径 |
electron/services/works-submission-binding.ts |
submission binding v2 持久化与旧 schema 迁移 | 旧中间态终止为 legacy_retired;文件名暂作安装兼容 |
electron/api/works-play-url.ts |
公共播放与 Owner preview URL 的共享安全校验 | 公共 play_url 必须同源 HTTPS 且精确匹配 App 路径 |
electron/api/routes/device-preview.ts |
精确提交版本的待审/已发布真机预览解析 | 待审使用短时 Release preview,已发布优先 play_url |
Dependency Direction
- Renderer UI → Renderer API contract → Main Host routes → Main services → Works Square;Renderer 不反向读取 Main 凭据、文件系统或归档。
- Project configuration 决定产品分流,Main packager 与服务端独立校验决定发布安全;本地
ProjectType不是授权结论。
Risky Or Sensitive Areas
electron/api/routes/works.ts同时承担发布 capability、上游安全投影和错误脱敏,变更时必须验证未在拒绝前读取凭据或项目文件。works-cloud-deploy.json是兼容文件名;不得因名称重新引入自动部署协调语义。runtime_url是一个客户端版本的迁移回退;删除前必须确认服务端和存量数据稳定提供play_url。
Last Updated
2026-08-10