registry/docs/需求.md
jif2.zhang 1765caba50
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 21s
feat: 账号认证、用户管理与 API Token 管理
- 后端: Auth(登录/登出/me + session 中间件)、Users、Tokens 路由与 Service,
  scrypt 哈希+timingSafeEqual 校验、requireAdmin 保护、admin 用户自动初始化
- 前端: login.html(登录页, 无账号密码提示)、admin.html(用户+Token 管理,
  令牌明文显隐/复制/吊销/重置密码)、标题栏用户信息+系统管理入口
- 持久化: jsonAdapter 支持 users/api-tokens,运行时数据忽略入库
- 文档: 需求.md/原型设计.md 同步
2026-09-11 17:12:37 +08:00

5.1 KiB
Raw Blame History

需求文档:微服务配置管理中心 (Registry)

1. 项目背景

在微服务架构中,配置管理是核心基础设施之一。不同项目、不同环境、不同机房的配置散落在各处,缺乏统一的管理界面和规范。本系统旨在提供一个类 Windows 注册表风格的 Web 管理界面,实现配置的集中化、可视化、规范化管理。

2. 功能需求

2.1 项目管理

  • FR-1-1:支持创建项目,项目创建时需指定项目名称、描述、以及是否启用机房/环境/分组维度
  • FR-1-2:项目创建后,维度开关(机房/环境/分组)不可修改,只能通过项目转换机制处理
  • FR-1-3:支持查看项目列表、项目详情
  • FR-1-4:支持删除项目(级联删除所有关联配置)

2.2 配置维度

  • FR-2-1:机房维度——用于隔离不同物理/云区域(如华北机房、华南机房)
  • FR-2-2:环境维度——用于隔离不同运行阶段(如开发、测试、生产)
  • FR-2-3:分组维度——用于项目内业务分组(如用户模块、订单模块)
  • FR-2-4:维度启用后可在维度栏直接展示与筛选,不直接硬编码进配置路径
  • FR-2-5:每个维度可配置映射方式——path(作为配置存储路径前缀)或 label(仅作筛选标签,不进入路径),默认 path
  • FR-2-6:映射方式创建后可通过映射配置入口调整(维度启用开关仍不可改)

2.3 配置项管理

  • FR-3-1:配置以路径形式组织,类似注册表键值结构;路径 = 映射为 path 的维度前缀 + 嵌套键
  • FR-3-6:配置键支持嵌套,以 / 分割json 类型在展示时自动按 . 分割
  • FR-3-7:提供配置导航地址栏,显示当前路径,可拷贝、可粘贴后回车跳转到对应目录(类似 Windows 注册表地址栏)
  • FR-3-2每个配置项支持类型指定string、number、boolean、json
  • FR-3-3每个配置项必须有说明description用于文档化配置用途
  • FR-3-4:支持配置项的新增、修改、删除
  • FR-3-5:配置值根据类型进行格式校验
  • FR-3-8配置项支持「是否必须」required规划模式设置与「是否存在」exists编辑模式设置两个标志required 且 exists 时编辑模式值必填exists 关闭视为该配置项当前不存在、允许值为空
  • FR-3-9:值范围支持正则约束(/pattern/flags 格式string 类型常用前端提供手机号、邮箱、身份证、IPv4、URL、端口、字母数字等常见格式预设
  • FR-3-10配置项支持默认值defaultValue规划模式设置需符合值类型编辑模式下值为空时表格回退展示默认值

2.4 三种工作模式

  • FR-4-1规划模式——定义配置结构包括字段名、类型、用途、值范围约束、是否必须required类似"配置 Schema 设计"
  • FR-4-2编辑模式——在规划好的结构基础上填写实际配置值可设置配置项是否存在exists
  • FR-4-3:只读模式——仅可查看配置,不可修改,用于日常查阅和审计

2.5 持久化方案

  • FR-5-1:支持 JSON 文件持久化(当前版本实现)
  • FR-5-2:预留扩展接口,后续支持 XML、YAML、SQLite、MySQL、Nacos
  • FR-5-3:配置文件支持导出下载
  • FR-5-4:配置文件支持导入合并

2.6 界面要求

  • FR-6-1左侧树形导航按“path 维度前缀 + 嵌套键”逐级展开,视觉风格参考 Windows 注册表编辑器
  • FR-6-2:右侧详情面板,顶部为配置导航地址栏,下方展示选中节点的配置项列表
  • FR-6-3:每个配置项展示:键名、值、类型、状态(必填/存在)、说明
  • FR-6-4:标题栏(应用名+当前项目)与工具栏分离;工具栏按项目/模式/配置/数据分组
  • FR-6-5:维度栏独立展示已启用维度的筛选器与映射方式,并提供映射配置入口
  • FR-6-6:配置项编辑/查看使用右侧抽屉式弹出,占屏幕至少 60% 面积

3. 非功能需求

  • NFR-1技术栈Node.js + Express 后端,原生 HTML/CSS/JS 前端
  • NFR-2:提供登录认证(用户名/密码 + Bearer session token用户分为管理员含系统管理权限与普通用户后续可对接 SSO 单点登录
  • NFR-3:界面响应式,支持主流浏览器
  • NFR-4:配置数据实时写入持久化存储,保证数据一致性

4. 术语定义

术语 说明
项目 (Project) 配置管理的顶层隔离单元,对应一个微服务或应用
机房 (IDC) 物理或云区域标识,如华北、华南、华东
环境 (Environment) 运行阶段标识,如 dev、test、prod
分组 (Group) 业务模块分组,如 user、order、payment
配置路径 (Path) 注册表风格的层级路径,如 project/idc/env/group/key
规划模式 Schema 设计模式,定义配置结构
编辑模式 配置值填写模式
只读模式 查看模式,禁止修改