Nebula Frontend 业务功能
1. 功能概览
从当前代码与 README 可以确认,nebula-frontend 对业务系统提供的能力主要包括四类:
- 前端初始化配置聚合
- 平台级前端配置维护
- 用户个性化偏好维护
- 动态缓存可视化治理
这些能力围绕“让后台前端更容易启动、配置和治理”展开,而不是孤立的几条设置接口。
2. 前端初始化配置聚合
2.1 获取初始化配置
当前接口:
GET /api/frontend/init
它适合以下场景:
- 前端应用启动后首次初始化
- 登录成功后重新加载前端平台配置
- 页面启动时一次性获取登录页与平台级配置
2.2 当前返回内容
当前初始化对象会组合以下信息:
- 平台前端配置
- 登录页初始化配置
- 默认偏好
- 默认主题
业务价值:
- 前端不用分别调用多个接口再自己拼装
- 登录相关开关和平台配置保持统一入口
- 默认主题和默认偏好直接可用于前端状态初始化
3. 平台级前端配置维护
3.1 获取前端平台配置
当前接口:
GET /api/frontend/config
它适合以下场景:
- 管理后台的“前端配置”页面回显
- 页面初始化时读取平台默认项目名称、主题和语言
3.2 保存前端平台配置
当前接口:
PUT /api/frontend/config
当前可维护的核心内容包括:
- 项目名称
- 布局模式
- 默认主题编码
- 默认语言
- 可选语言列表
业务价值:
- 平台管理员可以不改代码直接调整前端默认表现
- 前端项目名称、默认主题和默认语言统一收口
- 配置值会同步沉淀到参数中心,便于其他模块复用
4. 用户个性化偏好维护
4.1 切换语言
当前接口:
PUT /api/frontend/preferences/locale
适合场景:
- 用户切换中英文
- 用户保存自己的界面语言偏好
4.2 切换主题
当前接口:
PUT /api/frontend/preferences/theme
适合场景:
- 用户在亮色和深色风格之间切换
- 平台提供多套预设主题时切换当前皮肤
4.3 切换布局
当前接口:
PUT /api/frontend/preferences/layout
适合场景:
- 用户切换侧边导航 / 顶部导航 / 混合导航
- 用户切换经典侧边栏 / 双栏侧边栏 / 折叠侧边栏
4.4 业务价值
这组接口的价值不在于“能改几个字段”,而在于:
- 平台默认配置和用户个性化配置有了清晰边界
- 用户离开页面后,下次登录仍能恢复自己的使用习惯
- 前端不需要自己维护复杂的本地持久化协议,也可以让后端统一接管偏好数据
5. 主题目录能力
5.1 获取主题目录
当前接口:
GET /api/frontend/themes
返回内容包括:
- 当前所有内置主题
- 当前所有主题配置项定义
适合场景:
- 前端主题切换器展示主题卡片
- 设置页渲染主题列表和主题配置项说明
- 后台统一管理前端支持的主题集合
5.2 当前主题能力边界
从代码可确认,当前内置主题至少包括:
nebula-lightnebula-graphite
当前主题配置项至少包括:
- 主色
- 侧边栏颜色
- 顶部栏颜色
- 页面背景色
- 文本颜色
业务价值:
- 前端和后端围绕统一主题编码协作
- 设置页可以直接使用主题目录数据驱动渲染
6. 动态缓存可视化治理
6.1 查看动态缓存
当前接口:
GET /api/frontend/caches
它适合以下场景:
- 后台排查缓存是否已生成
- 查看某个动态缓存还有多少条数据
- 查看某个缓存键的剩余 TTL
- 调试登录锁定、字典缓存、参数缓存等动态缓存内容
6.2 删除动态缓存项
当前接口:
DELETE /api/frontend/caches/entries?cacheName={cacheName}&cacheKey={cacheKey}
适合场景:
- 精确删除某条缓存
- 删除错误或过期缓存后触发业务方重新生成
- 后台运维或测试时做定点缓存失效
6.3 业务价值
相比直接连 Redis 或本地缓存做排查,这组能力的价值在于:
- 能通过平台接口直接查看缓存内容
- 能看到缓存值 JSON、类型和剩余 TTL
- 删除动作是按缓存组和缓存键精确执行,不需要粗暴清库
7. 典型业务场景
7.1 后台前端启动初始化
例如:
- 启动时获取项目名称
- 获取登录页配置
- 获取默认语言和默认主题
- 获取默认布局模式
前端可以只调用一次 /api/frontend/init,就把启动时最需要的一批配置拿齐。
7.2 平台前端设置页
例如:
- 修改平台名称
- 修改默认主题
- 修改默认语言
- 维护支持的语言集合
这类场景适合通过 /api/frontend/config 做统一维护。
7.3 用户个性化工作台体验
例如:
- 某个用户偏好英文界面
- 某个用户喜欢混合导航
- 某个用户偏好深色主题
这类场景适合通过 /preferences/* 系列接口保存到用户偏好表中。
7.4 后台缓存治理页
例如:
- 排查某条字典缓存是否已失效
- 删除错误的登录锁定缓存
- 查看参数缓存 TTL 是否正常
这类场景适合通过 /api/frontend/caches 系列接口构建统一的缓存治理页面。
8. 业务落地建议
8.1 平台默认值和用户个性化值要分开理解
建议:
- 平台默认值用
/config维护 - 用户个性化值用
/preferences/*维护
这样做有利于:
- 管理员改平台配置时不覆盖用户偏好
- 用户修改自己的偏好时不污染全局默认值
8.2 主题和布局编码要和前端实现保持一致
因为当前后端会对:
- 主题编码
- 布局模式
- 导航布局编码
- 侧边栏布局编码
做严格校验,所以前端实现中也应该使用同一套稳定编码,而不是临时拼接字符串。
8.3 缓存治理页只适合精确治理,不适合做全量清缓存工具
原因是:
- 当前接口设计是按单条 entry 删除
- 更适合排查和精确失效
- 不应把它当成随时清空整组缓存的运维工具