3144a50ef5bb4ad79b09c276111f51d14b25ae63
Closes #61 ## 变更内容 ### CSS 变量扩展 - 新增 --radius-sm / --radius-lg / --radius-xl 圆角变量 - 新增 --accent-end 渐变终点色(浅色/深色模式) ### 公共样式提取到 global.css - 提取 15+ 组重复样式:.page-head / .panel / .stat-row / table / .tag / .status-text / .bar-wrap / .cols-2 / .pagination / .log-stream 等 - 所有 border-radius 硬编码值改用 CSS 变量 - 新增工具类:.text-xs / .text-dim / .cols-2-equal / .panel-body.padded / .search-input / .accent-pill ### 响应式设计 - @media (max-width: 1024px):stat-row 3 列,双栏布局单列化 - @media (max-width: 768px):page-head 纵向排列,stat-row 2 列, 表格横向滚动,卡片网格单列化 ### 内联 style 清理 - 非动态绑定的 style="color: ..." / style="font-size: ..." / style="flex: 1" / style="padding: ..." 改为 CSS 类 ### 硬编码颜色修复 - ConfigCenter.vue: #1C2A3A/#8EC8FF 改用 CSS 变量 - Login.vue: #1C8F69 改用 --accent-end 变量 ### 页面组件 scoped 样式精简 - 13 个页面组件删除已提取的重复样式,净减少 1070 行
XINFRA - 统一运维入口平台
XINFRA 是一个统一运维入口平台,整合多个运维子系统,提供统一的登录认证、子系统导航、审计日志和 Ansible 运维调度功能。
项目特性
- 🔐 统一认证:支持 LDAP + SAML + OAuth 2.0 认证
- 🎯 子系统导航:卡片式展示 6 个运维子系统,支持 SSO 跳转
- 📊 审计面板:登录审计 + 运维操作审计,完整的操作追溯
- 🚀 Ansible 调度:Playbook 执行、实时日志推送
- 🔒 安全可靠:JWT 认证、HTTPS 传输、敏感配置 K8s Secret 管理
技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Go 1.21+ / Gin |
| 前端 | Vue 3.3+ / Element Plus / Vite |
| 数据库 | MySQL 8.0 |
| 缓存 | Redis |
| 部署 | Kubernetes + Nginx |
项目结构
xinfra/
├── frontend/ # 前端 Vue 3 项目
│ ├── src/
│ │ ├── api/ # API 请求封装
│ │ ├── components/ # 可复用组件
│ │ ├── composables/ # 组合式函数
│ │ ├── layouts/ # 页面布局
│ │ ├── router/ # 路由配置
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── views/ # 页面视图
│ │ └── utils/ # 工具函数
│ └── ...
├── server/ # 后端 Go 项目
│ ├── cmd/ # 程序入口
│ ├── internal/ # 内部包(分层架构)
│ ├── pkg/ # 可复用公共包
│ └── migrations/ # 数据库迁移
├── deploy/ # 部署配置
│ ├── docker/ # Docker 构建配置
│ └── k8s/ # Kubernetes 配置
├── docs/ # 项目文档
└── ...
快速开始
环境要求
- Go 1.21+
- Node.js 18+
- MySQL 8.0
- Redis 7.0+
本地开发
-
克隆项目
git clone <repository-url> cd xinfra -
启动开发环境
make dev-up -
启动前端开发服务器
make run-frontend -
启动后端开发服务器
make run-server
构建部署
-
构建项目
make build -
构建 Docker 镜像
make docker -
部署到 Kubernetes
kubectl apply -f deploy/k8s/
开发规范
Git 提交规范
使用语义化提交信息:
feat:新功能fix:修复 bugdocs:文档更新style:代码格式调整refactor:重构test:测试相关chore:构建/工具相关
代码规范
- Go 代码遵循
gofmt格式 - Vue/TypeScript 代码遵循 ESLint 规范
- 提交前请确保代码通过所有测试
相关文档
许可证
[待添加]
Description
Languages
Go
56.4%
Vue
31.9%
TypeScript
6.3%
Shell
2.6%
CSS
1.5%
Other
1.2%