1. 项目背景与核心价值
作为一名混迹硬件圈多年的老玩家,我深知DIY装机过程中的痛点:配件参数需要反复对比京东、天猫、贴吧多个平台;好不容易选好的配置单,下次打开浏览器就找不到了;想学走线技巧却只能在B站海量视频里大海捞针。这个基于微信小程序的DIY平台,正是为了解决这些实际问题而生。
传统DIY信息获取存在三个断层:信息碎片化(参数散落在电商页面)、知识断层化(新手找不到系统教程)、方案孤岛化(配置单无法云端同步)。我们团队用SpringBoot+MySQL技术栈打造的这个小程序,实现了三大突破:
- 配件数据库:整合了CPU、显卡等12类硬件的最新参数,特别标注了兼容性警告(比如AMD主板对DDR4内存的支持列表)
- 智能配置单:自动计算总功耗、检查接口兼容性(比如M.2固态与PCIe插槽的匹配关系)
- 视频知识库:按装机流程分类的教程,从"小白认识主板跳线"到"水冷系统压力测试"全流程覆盖
提示:系统特别设计了功耗计算器功能,在选择电源时能自动预留20%冗余功率,这个细节避免了无数新手"电源炸机"的惨剧
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计解析
2.1 整体技术选型
采用经典的Java后端+微信小程序前端架构,这是经过多重考量后的选择:
-
微信小程序端:
- 使用WXML+WXSS+JavaScript技术栈
- 采用WeUI组件库保证界面风格统一
- 优势在于无需安装、即用即走,特别适合DIY场景中需要随时查参数的场景
-
后端服务:
- SpringBoot 2.7.3 + MyBatis-Plus 3.5.1
- 选用SpringBoot而非传统SSM框架,看中的是其内嵌Tomcat和自动化配置特性
- 实测在阿里云2核4G服务器上,单个实例可支撑800+并发请求
-
数据库:
- MySQL 8.0.28(放弃5.7版本是为了使用JSON字段存储动态参数)
- 配置了主从复制保证查询性能
- 关键表都设置了复合索引(如配件表的brand_id + category_id)
2.2 核心数据模型设计
数据库设计遵循"三范式+业务冗余"原则,这里展示两个关键模型:
配件信息表(component)结构:
sql复制CREATE TABLE `component` (
`id` bigint NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL COMMENT '配件名称',
`cover_img` varchar(255) DEFAULT NULL COMMENT '封面图URL',
`category_id` bigint NOT NULL COMMENT '部件分类ID',
`brand_id` bigint NOT NULL COMMENT '品牌ID',
`price` decimal(10,2) DEFAULT '0.00' COMMENT '参考价格',
`power_consumption` int DEF
