262 lines
6.5 KiB
Markdown
262 lines
6.5 KiB
Markdown
|
|
# 硬件性能对比平台
|
|||
|
|
|
|||
|
|
一个专业的硬件性能数据对比平台,提供CPU、GPU等硬件的性能排名、详细参数对比和性能趋势分析。
|
|||
|
|
|
|||
|
|
## 项目概述
|
|||
|
|
|
|||
|
|
本平台旨在为用户提供全面、准确的硬件性能数据,帮助用户在选择硬件时做出明智决策。平台集成了多个权威数据源,提供实时更新的性能数据和排名信息。
|
|||
|
|
|
|||
|
|
### 主要功能
|
|||
|
|
|
|||
|
|
- 🏆 **硬件性能排名**:提供各类硬件的性能排名和评分
|
|||
|
|
- 📊 **详细参数对比**:支持2-4个产品的详细参数对比
|
|||
|
|
- 🔍 **智能搜索筛选**:按品牌、性能分数、发布年份等条件筛选
|
|||
|
|
- 📈 **性能趋势分析**:展示硬件性能的历史变化趋势
|
|||
|
|
- 📱 **响应式设计**:完美适配桌面端和移动端
|
|||
|
|
- 🔒 **数据安全保障**:采用多种安全措施保护用户数据
|
|||
|
|
|
|||
|
|
## 技术架构
|
|||
|
|
|
|||
|
|
### 后端技术栈
|
|||
|
|
|
|||
|
|
- **.NET 9.0**:最新的.NET平台,提供高性能和丰富的功能
|
|||
|
|
- **Entity Framework Core**:ORM框架,用于数据库操作
|
|||
|
|
- **MySQL**:关系型数据库,存储产品数据和性能指标
|
|||
|
|
- **Hangfire**:后台任务调度框架,用于定时数据采集
|
|||
|
|
- **AutoMapper**:对象映射框架,简化DTO转换
|
|||
|
|
- **Serilog**:结构化日志框架
|
|||
|
|
- **FluentValidation**:输入验证框架
|
|||
|
|
|
|||
|
|
### 前端技术栈
|
|||
|
|
|
|||
|
|
- **Vue 3**:渐进式JavaScript框架
|
|||
|
|
- **Vite**:现代化的前端构建工具
|
|||
|
|
- **Vue Router**:Vue.js官方路由管理器
|
|||
|
|
- **Pinia**:Vue状态管理库
|
|||
|
|
- **Element Plus**:基于Vue 3的桌面端UI组件库
|
|||
|
|
- **Vant**:移动端UI组件库
|
|||
|
|
- **ECharts**:数据可视化图表库
|
|||
|
|
- **Axios**:HTTP客户端,用于API请求
|
|||
|
|
- **TailwindCSS**:实用优先的CSS框架
|
|||
|
|
|
|||
|
|
### 测试与质量保证
|
|||
|
|
|
|||
|
|
- **Vitest**:基于Vite的单元测试框架
|
|||
|
|
- **Playwright**:端到端测试框架
|
|||
|
|
- **ESLint**:代码质量检查工具
|
|||
|
|
- **Prettier**:代码格式化工具
|
|||
|
|
- **TypeScript**:JavaScript的超集,提供静态类型检查
|
|||
|
|
- **Husky**:Git hooks管理工具
|
|||
|
|
|
|||
|
|
### 部署与运维
|
|||
|
|
|
|||
|
|
- **Docker**:容器化部署
|
|||
|
|
- **GitHub Actions**:持续集成和持续部署
|
|||
|
|
- **Nginx**:反向代理和静态文件服务
|
|||
|
|
- **Redis**:缓存和会话存储
|
|||
|
|
|
|||
|
|
## 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
hardware-performance-platform/
|
|||
|
|
├── backend/ # 后端项目
|
|||
|
|
│ ├── src/
|
|||
|
|
│ │ ├── API/ # API控制器
|
|||
|
|
│ │ ├── Application/ # 应用服务层
|
|||
|
|
│ │ ├── Core/ # 核心业务逻辑
|
|||
|
|
│ │ └── Infrastructure/ # 基础设施层
|
|||
|
|
│ ├── tests/ # 后端测试
|
|||
|
|
│ └── ... # 其他后端文件
|
|||
|
|
├── frontend/ # 前端项目
|
|||
|
|
│ ├── src/
|
|||
|
|
│ │ ├── components/ # Vue组件
|
|||
|
|
│ │ ├── views/ # 页面视图
|
|||
|
|
│ │ ├── stores/ # Pinia状态管理
|
|||
|
|
│ │ ├── services/ # API服务
|
|||
|
|
│ │ ├── utils/ # 工具函数
|
|||
|
|
│ │ └── assets/ # 静态资源
|
|||
|
|
│ ├── tests/ # 前端测试
|
|||
|
|
│ ├── docs/ # 前端文档
|
|||
|
|
│ └── ... # 其他前端文件
|
|||
|
|
├── docs/ # 项目文档
|
|||
|
|
├── docker-compose.yml # Docker编排文件
|
|||
|
|
└── README.md # 项目说明文档
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 快速开始
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
|
|||
|
|
- Node.js 18.x 或更高版本
|
|||
|
|
- .NET 9.0 SDK
|
|||
|
|
- MySQL 8.0 或更高版本
|
|||
|
|
- Redis 6.0 或更高版本(可选,用于缓存)
|
|||
|
|
- Docker 和 Docker Compose(推荐)
|
|||
|
|
|
|||
|
|
### 使用Docker Compose部署(推荐)
|
|||
|
|
|
|||
|
|
1. 克隆项目
|
|||
|
|
```bash
|
|||
|
|
git clone https://github.com/your-username/hardware-performance-platform.git
|
|||
|
|
cd hardware-performance-platform
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 启动所有服务
|
|||
|
|
```bash
|
|||
|
|
docker-compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. 访问应用
|
|||
|
|
- 前端应用:http://localhost:3000
|
|||
|
|
- 后端API:http://localhost:7001
|
|||
|
|
- Hangfire Dashboard:http://localhost:7001/hangfire
|
|||
|
|
|
|||
|
|
### 本地开发环境设置
|
|||
|
|
|
|||
|
|
#### 后端设置
|
|||
|
|
|
|||
|
|
1. 进入后端目录
|
|||
|
|
```bash
|
|||
|
|
cd backend
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 还原NuGet包
|
|||
|
|
```bash
|
|||
|
|
dotnet restore
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. 配置数据库连接
|
|||
|
|
```bash
|
|||
|
|
cp appsettings.json appsettings.Development.json
|
|||
|
|
# 编辑appsettings.Development.json,配置数据库连接字符串
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 运行数据库迁移
|
|||
|
|
```bash
|
|||
|
|
dotnet ef database update
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
5. 启动后端服务
|
|||
|
|
```bash
|
|||
|
|
dotnet run
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 前端设置
|
|||
|
|
|
|||
|
|
1. 进入前端目录
|
|||
|
|
```bash
|
|||
|
|
cd frontend
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. 安装依赖
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. 配置环境变量
|
|||
|
|
```bash
|
|||
|
|
cp .env.example .env.local
|
|||
|
|
# 编辑.env.local,配置API地址等环境变量
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 启动前端服务
|
|||
|
|
```bash
|
|||
|
|
npm run dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 数据来源
|
|||
|
|
|
|||
|
|
平台从以下权威数据源采集硬件性能数据:
|
|||
|
|
|
|||
|
|
- **GeekBench**:CPU和GPU性能基准测试
|
|||
|
|
- **3DMark**:图形性能测试
|
|||
|
|
- **AnTuTu**:移动设备综合性能测试
|
|||
|
|
- **GFXBench**:图形性能测试
|
|||
|
|
|
|||
|
|
数据采集任务每天自动运行,确保数据的时效性和准确性。
|
|||
|
|
|
|||
|
|
## API文档
|
|||
|
|
|
|||
|
|
后端API使用Swagger/OpenAPI生成文档,启动后端服务后可访问:
|
|||
|
|
|
|||
|
|
- Swagger UI:http://localhost:7001/swagger
|
|||
|
|
- OpenAPI规范:http://localhost:7001/swagger/v1/swagger.json
|
|||
|
|
|
|||
|
|
## 测试
|
|||
|
|
|
|||
|
|
### 运行后端测试
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd backend
|
|||
|
|
dotnet test
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 运行前端测试
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd frontend
|
|||
|
|
|
|||
|
|
# 运行所有测试
|
|||
|
|
npm test
|
|||
|
|
|
|||
|
|
# 运行单元测试
|
|||
|
|
npm run test:unit
|
|||
|
|
|
|||
|
|
# 运行E2E测试
|
|||
|
|
npm run test:e2e
|
|||
|
|
|
|||
|
|
# 生成测试覆盖率报告
|
|||
|
|
npm run test:unit:coverage
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 代码质量检查
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd frontend
|
|||
|
|
|
|||
|
|
# 运行ESLint检查
|
|||
|
|
npm run lint
|
|||
|
|
|
|||
|
|
# 格式化代码
|
|||
|
|
npm run format
|
|||
|
|
|
|||
|
|
# 生成代码质量报告
|
|||
|
|
npm run quality-report
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 贡献指南
|
|||
|
|
|
|||
|
|
我们欢迎任何形式的贡献,包括但不限于:
|
|||
|
|
|
|||
|
|
- 🐛 报告Bug
|
|||
|
|
- 💡 提出新功能建议
|
|||
|
|
- 📝 改进文档
|
|||
|
|
- 🔧 提交代码修复
|
|||
|
|
|
|||
|
|
请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详细的贡献流程。
|
|||
|
|
|
|||
|
|
## 许可证
|
|||
|
|
|
|||
|
|
本项目采用 [MIT 许可证](LICENSE)。
|
|||
|
|
|
|||
|
|
## 联系我们
|
|||
|
|
|
|||
|
|
- 项目主页:https://github.com/your-username/hardware-performance-platform
|
|||
|
|
- 问题反馈:https://github.com/your-username/hardware-performance-platform/issues
|
|||
|
|
- 邮箱:contact@hardware-performance.com
|
|||
|
|
|
|||
|
|
## 致谢
|
|||
|
|
|
|||
|
|
感谢以下开源项目和数据提供商:
|
|||
|
|
|
|||
|
|
- [Vue.js](https://vuejs.org/)
|
|||
|
|
- [.NET](https://dotnet.microsoft.com/)
|
|||
|
|
- [Element Plus](https://element-plus.org/)
|
|||
|
|
- [ECharts](https://echarts.apache.org/)
|
|||
|
|
- [GeekBench](https://www.geekbench.com/)
|
|||
|
|
- [3DMark](https://www.3dmark.com/)
|
|||
|
|
- [AnTuTu](https://www.antutu.com/)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
⭐ 如果这个项目对你有帮助,请给我们一个星标!
|