33 lines
1.8 KiB
Markdown
33 lines
1.8 KiB
Markdown
# System Overview
|
||
|
||
## Current Architecture
|
||
|
||
Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展示;Electron Main 持有认证、文件系统、安全打包、Works Square 网络访问和预览 URL 校验。
|
||
|
||
## Main Components
|
||
|
||
| Component | Responsibility | Notes |
|
||
|---|---|---|
|
||
| Renderer | 项目配置、一键提交状态、真机二维码 | 不接触账号 Token、ZIP、幂等键或本地绝对路径 |
|
||
| Host API | 校验本地项目请求并投影安全响应 | 只接受回环来源和 JSON mutation |
|
||
| Project Configuration & Template | 保存不可变 `ProjectType`,原子生成新项目骨架 | 小游戏/小程序生成受控 Vite 模板;自定义保持最小项目空间 |
|
||
| Project Packager | 确定性扫描、敏感文件排除与 ZIP 生成 | 限制文件数、包体和目录替换 |
|
||
| Works Session | 七天真实活动滑动续期 | 刷新凭据由 Main 安全持有 |
|
||
| Device Preview | 核对本地映射、远端版本和 Release | 待审使用短时 Owner preview;已发布使用精确 Runtime |
|
||
|
||
## Important Boundaries
|
||
|
||
- 发布只有现有项目配置底部的一个入口,不新增发布工作台、侧栏或资源卡。
|
||
- `ProjectType` 由创建请求写入项目配置,UI 与 Host API 不提供类型变更;缺少类型的旧配置归一为 `custom`。
|
||
- 本地 `projectType` 只选择产品路径和内部构建 preset,不是可信授权声明;Main 仍需安全打包,服务端仍需独立校验清单和包体。
|
||
- 云端确认上传成功后,本地映射失败不能把请求改判为失败;否则会诱导重复提交。
|
||
- Renderer 只能获得安全状态字段和可展示的短时预览 URL。
|
||
|
||
## Related Decisions
|
||
|
||
- 当前长期边界记录于 README 与集成任务 `20260807-integrate-login-client-a4f8`;后续如改变入口或凭据所有权,应新增 ADR。
|
||
|
||
## Last Updated
|
||
|
||
2026-08-09
|