# 硬件性能对比平台 一个专业的硬件性能数据对比平台,提供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/) --- ⭐ 如果这个项目对你有帮助,请给我们一个星标!