wonder f1a63ee473 feat(frontend): 支持深色/浅色模式切换,统一主题变量体系
- 新增 useTheme composable,支持 light/dark 双主题,默认浅色模式
- 主题偏好持久化到 localStorage,支持跟随系统主题
- AppHeader 顶栏添加 Moon/Sunny 切换图标,带旋转过渡动效
- variables.css 重构为 :root(浅色)/:root.dark(深色)双套变量
- 新增标签色系(蓝/紫/琥珀/绿)、节点色系、阴影、发光效果等语义化变量
- 全组件硬编码颜色替换为 CSS 变量,消除跨主题不一致
- global.css 添加主题切换过渡动画(background/border/box-shadow)
- 涉及组件:AppHeader、AppSidebar、SubsystemCard、AuditLogTable
- 涉及页面:Dashboard、Resource、Cluster、Config、Task、Service、Login
2026-07-15 14:38:58 +08:00
2026-07-14 14:34:10 +08:00
2026-07-06 23:22:51 +08:00
2026-07-14 14:34:10 +08:00

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+

本地开发

  1. 克隆项目

    git clone <repository-url>
    cd xinfra
    
  2. 启动开发环境

    make dev-up
    
  3. 启动前端开发服务器

    make run-frontend
    
  4. 启动后端开发服务器

    make run-server
    

构建部署

  1. 构建项目

    make build
    
  2. 构建 Docker 镜像

    make docker
    
  3. 部署到 Kubernetes

    kubectl apply -f deploy/k8s/
    

开发规范

Git 提交规范

使用语义化提交信息:

  • feat: 新功能
  • fix: 修复 bug
  • docs: 文档更新
  • style: 代码格式调整
  • refactor: 重构
  • test: 测试相关
  • chore: 构建/工具相关

代码规范

  • Go 代码遵循 gofmt 格式
  • Vue/TypeScript 代码遵循 ESLint 规范
  • 提交前请确保代码通过所有测试

相关文档

许可证

[待添加]

S
Description
No description provided
Readme 1,003 KiB
Languages
Go 56.4%
Vue 31.9%
TypeScript 6.3%
Shell 2.6%
CSS 1.5%
Other 1.2%