站点信息
受众:开发者 / 运维 摘要:Core Site 站点公开信息底座,负责公开站点元数据、访问策略和统一业务健康入口。
Site 提供前端启动时需要的公开站点信息。它不保存业务表,默认值来自 spring.open.site.*,也可以通过 Config 模块的运行时配置覆盖。
能力范围
| 能力 | 说明 |
|---|---|
| 公开站点信息 | 名称、标题、描述、关键词、Logo、Favicon、备案、联系方式和版权 |
| 本地化元数据 | locale、currency、时区等前端启动默认值 |
| WebSocket 元数据 | 连接 URL、端点和参数名,避免前端写死地址 |
| Web3 前端可见性 | 下发 App / PC / 收银台 Web3 入口展示策略 |
| 访问策略 | open / closed / maintenance 及用户提示 |
| 健康入口 | /api/health 返回轻量业务响应健康状态 |
API 路径
| API | 说明 |
|---|---|
GET /api/v1/site | 查询公开站点信息和访问策略 |
GET /api/health | 查询业务响应健康状态 |
关闭或维护模式下,/api/v1/site、安装、健康检查、静态资源、默认允许的 Admin / Auth / Config 入口保持可达,普通业务 API 返回 503。
配置项
| 配置 | 说明 |
|---|---|
spring.open.site.name | 站点名称 |
spring.open.site.title | 页面标题 |
spring.open.site.description | 站点描述 |
spring.open.site.logo-url | Logo URL |
spring.open.site.favicon-url | Favicon URL |
spring.open.site.locale | 默认语言 |
spring.open.site.currency | 默认币种 |
spring.open.site.web3.display-mode | Web3 前端入口可见性:web3-env 仅 DApp / 注入钱包环境显示,always 始终显示,off 始终关闭 |
spring.open.site.access.status | 访问状态:open / closed / maintenance |
spring.open.site.access.message | 关闭 / 维护提示 |
spring.open.site.access.resume-at | 预计恢复时间,仅展示 |
站点名、OpenAPI 标题等展示名默认应从 spring.application.name 派生,不在配置里硬编码品牌字符串。
数据模型
Site 当前不拥有数据库实体,不创建 schema 或 seed 迁移。需要运行时修改站点信息时,经 Config 模块覆盖对应 spring.open.site.* 配置。
与其他模块的边界
- Config 负责运行时配置存储、缓存和刷新;Site 只解析并输出公开站点 contract。
- WebSocket 模块负责连接管理;Site 只下发前端连接元数据。
- Install、Auth、Admin 入口的维护模式放行策略由 Site access contract 统一表达。
- 字典、多语言后台文案、文件资源、通知、Outbox 和内容安全不归 Site。
验证命令
bash
./mvnw -pl spring-open-core/spring-open-core-site -am test -DskipITs -DskipFrontend -Dsurefire.failIfNoSpecifiedTests=false
./.ai/scripts/check modules
git diff --check