# soybean **Repository Path**: leocccc/soybean ## Basic Information - **Project Name**: soybean - **Description**: OPENBMC 前端 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: webui - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-27 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

OpenUI

基于 Vue3 + Naive UI 的现代化 BMC Web 管理界面

--- [![license](https://img.shields.io/badge/license-MIT-green.svg)](./LICENSE) ## 项目说明 OpenUI 是一个专为 OpenBMC (Baseboard Management Controller) 场景设计的现代化 Web 管理界面。前端框架基于开源项目 [SoybeanAdmin](https://github.com/soybeanjs/soybean-admin) 构建,针对 BMC 管理需求进行了深度优化和定制,集成 Redfish API 标准,提供高效、稳定的服务器管理解决方案。 ## 技术架构 - **前端框架**: 基于 Vue3 + TypeScript + Naive UI + UnoCSS - **后端集成**: BMC Redfish API 标准 - **架构设计**: 针对BMC场景优化的缓存机制和权限系统 - **项目结构**: pnpm monorepo + 模块化设计 ## BMC 专用特性 - **Redfish API 集成**: 完整支持 BMC Redfish 标准,无缝对接服务器管理接口 - **缓存优化策略**: 针对 BMC API 响应延迟优化的 30 秒 TTL 缓存机制 - **权限管理系统**: 基于 OpenBMC 标准的四角色权限控制 (Administrator/Operator/ReadOnly/NoAccess) - **实时状态监控**: 服务器硬件状态、传感器数据、日志信息的实时更新 - **批量操作支持**: 固件更新、配置管理、重启等批量操作功能 - **多语言界面**: 中英文双语支持,适配国际化部署需求 ## 通用特性 - **前沿技术应用**: 采用 Vue3, Vite7, TypeScript, Pinia 和 UnoCSS 等最新流行的技术栈 - **清晰的项目架构**: 采用 pnpm monorepo 架构,结构清晰,优雅易懂 - **严格的代码规范**: 遵循现代前端开发规范,集成 eslint, prettier 和 simple-git-hooks - **TypeScript 支持**: 严格的类型检查,提高代码的可维护性 - **丰富的主题配置**: 内置多样的主题配置,与 UnoCSS 完美结合 - **自动化文件路由**: 自动生成路由导入、声明和类型 - **灵活的权限路由**: 支持前端静态路由和后端动态路由 - **丰富的页面组件**: 内置多样页面和组件,包括403、404、500页面等 - **命令行工具**: 内置高效的命令行工具,支持 git提交、文件管理等 - **移动端适配**: 完美支持移动端,实现自适应布局 ## 功能模块 ### 🔧 **系统管理** - 系统概览与状态监控 - 硬件信息查看 (FRU、传感器、处理器、内存) - 电源管理与策略配置 - 温控管理与风扇调速 ### 📋 **日志与告警** - 事件日志查看与导出 - 审计日志管理 - 告警配置与通知 - 故障诊断工具 ### 🛠️ **操作与维护** - KVM 远程控制 - 虚拟媒体挂载 - 固件更新管理 - 配置备份与恢复 ### 🔒 **安全与权限** - 用户账户管理 - 会话管理 - LDAP 集成 - 证书管理 ### ⚙️ **BMC 设置** - 网络配置 - 时间与日期设置 - 服务管理 - 系统防火墙 ## 快速开始 **环境准备** 确保你的环境满足以下要求: - **git**: 你需要git来克隆和管理项目版本 - **NodeJS**: >=20.19.0,推荐 20.19.0 或更高 - **pnpm**: >= 10.5.0,推荐 10.5.0 或更高 **克隆项目** ```bash git clone <项目仓库地址> cd OpenUI ``` **安装依赖** ```bash pnpm i ``` > 由于本项目采用了 pnpm monorepo 的管理方式,因此请不要使用 npm 或 yarn 来安装依赖。 **启动项目** ```bash pnpm dev ``` **构建项目** ```bash pnpm build ``` ## 项目结构 ``` OpenUI/ ├── packages/ # 子包目录 │ ├── alofa/ # HTTP 请求库 │ ├── axios/ # Axios 封装 │ ├── color/ # 颜色工具 │ ├── hooks/ # Vue 组合式函数 │ └── uno-preset/ # UnoCSS 预设 ├── src/ # 源代码 │ ├── assets/ # 静态资源 │ ├── components/ # 组件 │ ├── composables/ # 组合式函数 │ ├── constants/ # 常量定义 │ ├── layouts/ # 布局组件 │ ├── locales/ # 国际化 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ ├── theme/ # 主题配置 │ └── views/ # 页面组件 ├── public/ # 公共资源 ├── docs/ # 文档 └── build/ # 构建配置 ``` ## 开发指南 ### 代码规范 项目使用 ESLint + Prettier 进行代码规范检查: ```bash # 代码检查和修复 pnpm lint # 类型检查 pnpm typecheck ``` ### Git 提交规范 使用内置的 commit 命令生成符合 Conventional Commits 规范的提交信息: ```bash pnpm commit ``` ### 国际化 项目支持中英文双语,新增翻译请参考: - `src/locales/langs/zh-cn/` - 中文翻译目录(基础与业务拆分) - `src/locales/langs/en-us/` - 英文翻译目录(基础与业务拆分) ## 致谢 本项目前端框架基于 [SoybeanAdmin](https://github.com/soybeanjs/soybean-admin) 开发,感谢原作者 [Soybean](https://github.com/honghuangdc) 和贡献者的开源贡献。 ## 开源协议 项目基于 [MIT](./LICENSE) 协议开源,同时遵循原始项目的 MIT 许可证要求。