logo
0
0
WeChat Login

EdgeOne多租户管理平台

一个基于React + Node.js的腾讯云EdgeOne多租户管理平台,支持多账户管理、域名管理、SSL证书管理等功能。

🚀 项目特性

核心功能

  • 多账户管理 - 支持多个腾讯云EdgeOne账户的统一管理
  • 域名管理 - EdgeOne站点和域名的集中管理
  • SSL证书管理 - 证书状态监控、自动续期提醒
  • 用户权限控制 - 基于角色的访问控制(RBAC)
  • 监控面板 - 实时数据统计和可视化展示
  • 多租户隔离 - 完整的数据安全隔离机制

技术特性

  • 前后端分离 - React前端 + Node.js后端
  • TypeScript - 全栈TypeScript开发
  • 现代UI - 基于shadcn/ui的现代化界面
  • 安全认证 - JWT认证 + 数据加密存储
  • API集成 - 腾讯云EdgeOne API完整集成
  • 响应式设计 - 支持桌面和移动端访问

🏗️ 技术架构

前端技术栈

  • React 18 - 现代化React框架
  • TypeScript - 类型安全的JavaScript
  • Vite - 快速的构建工具
  • shadcn/ui - 现代化UI组件库
  • Tailwind CSS - 实用优先的CSS框架
  • React Router - 客户端路由
  • Axios - HTTP客户端

后端技术栈

  • Node.js - JavaScript运行时
  • Express.js - Web应用框架
  • TypeScript - 类型安全开发
  • Prisma ORM - 现代化数据库工具
  • SQLite/PostgreSQL - 数据库支持
  • JWT - 身份认证
  • 腾讯云SDK - EdgeOne API集成

📦 项目结构

edgeone-platform/
├── backend/                 # 后端服务
│   ├── src/
│   │   ├── controllers/     # 控制器
│   │   ├── middleware/      # 中间件
│   │   ├── routes/         # 路由
│   │   ├── services/       # 服务层
│   │   ├── utils/          # 工具函数
│   │   └── app.ts          # 应用入口
│   ├── prisma/             # 数据库模型
│   └── package.json
├── frontend/               # 前端应用
│   └── edgeone-frontend/
│       ├── src/
│       │   ├── components/ # 组件
│       │   ├── pages/      # 页面
│       │   ├── contexts/   # 上下文
│       │   ├── services/   # 服务
│       │   └── App.tsx     # 应用入口
│       └── package.json
└── README.md

🚀 快速开始

环境要求

  • Node.js >= 18.0.0
  • npm >= 8.0.0
  • 腾讯云EdgeOne账户

1. 克隆项目

git clone <repository-url>
cd edgeone-platform

2. 后端设置

cd backend

# 安装依赖
npm install

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入必要的配置

# 初始化数据库
npx prisma migrate dev
npx prisma generate

# 启动开发服务器
npm run dev

3. 前端设置

cd frontend/edgeone-frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

4. 访问应用

🔧 配置说明

后端环境变量 (.env)

# 数据库
DATABASE_URL="file:./dev.db"

# JWT配置
JWT_SECRET="your-jwt-secret-key"
JWT_EXPIRES_IN="7d"

# 加密密钥
ENCRYPTION_KEY="your-32-byte-hex-encryption-key"

# 服务器配置
PORT=3000
NODE_ENV="development"

前端环境变量 (.env)

# API服务器地址
VITE_API_URL=http://localhost:3000/api

# 应用配置
VITE_APP_NAME=EdgeOne管理平台
VITE_APP_VERSION=1.0.0

📚 API文档

认证接口

  • POST /api/auth/login - 用户登录
  • POST /api/auth/register - 用户注册
  • POST /api/auth/refresh - 刷新令牌

账户管理

  • GET /api/accounts - 获取账户列表
  • POST /api/accounts - 创建账户
  • PUT /api/accounts/:id - 更新账户
  • DELETE /api/accounts/:id - 删除账户
  • POST /api/accounts/:id/test - 测试连接
  • POST /api/accounts/:id/sync - 同步数据

站点管理

  • GET /api/sites - 获取站点列表
  • GET /api/sites/:id - 获取站点详情
  • POST /api/sites/:id/sync - 同步站点

证书管理

  • GET /api/certificates - 获取证书列表
  • POST /api/certificates/:id/renew - 续期证书

🔒 安全特性

数据安全

  • 加密存储 - 敏感数据AES-256-GCM加密
  • JWT认证 - 无状态身份验证
  • 权限控制 - 基于角色的访问控制
  • 多租户隔离 - 完整的数据隔离机制

API安全

  • 请求验证 - 完整的输入验证
  • 错误处理 - 安全的错误信息处理
  • 操作审计 - 完整的操作日志记录
  • 连接测试 - 实时API连接验证

🎨 界面设计

设计风格

  • Material Design - 现代化企业级界面
  • 深蓝色主色调 - 专业稳重的视觉风格
  • 青色强调色 - 科技感的点缀色彩
  • 卡片式布局 - 清晰的信息层次
  • 响应式设计 - 适配各种屏幕尺寸

核心页面

  • 仪表板 - 数据概览和统计图表
  • 账户管理 - 腾讯云账户的增删改查
  • 站点管理 - EdgeOne站点列表和配置
  • 证书管理 - SSL证书状态和续期管理
  • 用户管理 - 系统用户和权限管理
  • 操作日志 - 系统操作记录和审计

🚀 部署指南

生产环境部署

  1. 构建前端

    cd frontend/edgeone-frontend
    npm run build
    
  2. 构建后端

    cd backend
    npm run build
    
  3. 配置生产环境变量

  4. 启动服务

    npm start
    

Docker部署

# 构建镜像
docker build -t edgeone-platform .

# 运行容器
docker run -p 3000:3000 -p 5173:5173 edgeone-platform

📈 开发状态

已完成功能 ✅

  • 项目初始化和环境配置
  • 后端API框架搭建和数据库设计
  • 用户认证和权限管理系统
  • 腾讯云EdgeOne API集成
  • 账户管理功能
  • [-] 域名管理功能
  • [-] SSL证书管理功能
  • 前端React项目和路由配置
  • UI组件库集成和基础布局
  • [*] 仪表板页面开发
  • [-] 各功能页面开发

进行中功能 🔄

  • 前后端联调和功能测试
  • 用户管理页面完善
  • 操作日志页面完善

待开发功能 ⏳

  • 部署配置和生产环境优化
  • 监控告警功能
  • 批量操作功能
  • 数据导出功能

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

📞 联系方式

如有问题或建议,请通过以下方式联系:


© 2024 EdgeOne管理平台. 保留所有权利.

About

腾讯云EdgeOne多租户管理平台

Language
TypeScript69.6%
JavaScript20.2%
Markdown8.2%
CSS0.9%
Others1.1%