跳到主要内容

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-light
  • nebula-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 删除
  • 更适合排查和精确失效
  • 不应把它当成随时清空整组缓存的运维工具