news 2026/9/16 4:21:31

基于SpringBoot+Vue的制造企业质量管理系统设计与实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于SpringBoot+Vue的制造企业质量管理系统设计与实践

最近后台收到不少准备做毕业设计或者课程设计的同学留言,问得最多的一类问题就是:有没有一个技术栈主流、业务逻辑完整、拿出去能讲清楚、不至于太简单或者太复杂的项目。说实话,这类需求挺不好满足的——太简单的管理系统,答辩时三两句话就讲完了,显得没工作量;太复杂的互联网级架构,又超出了本科阶段的驾驭范围。但有一个方向我觉得特别合适,就是中小型制造企业的质量管理系统。制造企业的质量管理业务链路长、角色分明、数据流转清晰,既有传统管理系统的增删改查,又有流程判断、统计分析、报表展示这类可以讲出亮点的功能,非常适合作为SpringBoot+Vue全栈项目的载体。

我现在手头就在维护一套基于SpringBoot+Vue的制造企业质量管理系统源码,Java+MySQL技术栈,前后端分离,专门面向中小型制造企业的质量管理场景。这套系统的定位很明确:不上工业级大而全的MES(制造执行系统)那套复杂概念,而是把质量管理中最核心、最能落地的环节——来料检验、过程巡检、成品检验、不合格品处理、质量统计看板——做得完整、规范、能演示。无论你是要拿它做毕业设计、课程设计,还是想通过一个真实项目补齐SpringBoot和Vue的工程化实践,这套代码都能给你提供一条很完整的参考路径。这篇文章我会从项目设计思路、核心模块实现、数据库建模、部署排错四个维度展开,全是实操层面的干货,希望能帮你把这套系统真正吃透。

1. 项目定位与整体设计思路

1.1 为什么是质量管理系统

选毕业设计题目有个通用原则:业务边界要清晰,但业务链路要有一定的纵向深度。纯图书管理、学生管理这类题目,说白了就是一个单表的增删改查,哪怕界面做得再花哨,技术上也没有多少可以展开讲的东西。而质量管理系统天然具备多个业务角色——质检员、生产人员、质量主管、管理员——每个角色对应不同的操作权限和业务动作,这就能自然引出权限管理、流程状态流转、数据统计这些进阶话题。

从行业背景看,中小型制造企业这几年对质量数字化的需求非常明确。来料检验(IQC)、过程检验(IPQC)、成品检验(OQC)这三个环节是制造企业质量管理的三驾马车,再加上不合格品评审处置(MRB),基本就构成了一个完整闭环。这套系统把这几个环节串起来:检验任务从生产报检或采购到货开始,质检员录入检验数据,系统根据检验标准自动判定合格与否,不合格品进入评审处置流程,最终形成各类质量统计报表。整个过程既有业务深度,又有技术广度,无论从哪个角度看都足够支撑一篇完整的毕设论文。

1.2 技术选型:为什么是SpringBoot而不是SSH

很多同学问过我一个问题:学校课程里教的是SSH或者SSM,为什么你推荐SpringBoot。我的回答是:时代变了,SpringBoot已经是Java后端开发的事实标准。它通过自动配置解决了传统SSM中大量繁琐的XML配置问题,让开发者把精力集中在业务逻辑上。对于毕业设计而言,选择SpringBoot还有一个非常现实的好处——面试官或答辩老师对这个框架的认知度极高,你讲技术方案时不需要额外解释框架本身,可以直接讲业务实现。

前端选Vue同理。Vue在国内中小型项目中的普及率极高,中文文档完善、上手曲线平缓、生态组件齐全,配合Element UI这类组件库,可以快速搭建出企业级后台管理界面。前后端分离架构下,SpringBoot只负责提供RESTful API,Vue通过Axios异步请求数据并渲染页面,两者通过JSON格式交互,职责清晰,也非常贴合当前主流企业的开发模式。配套的MySQL数据库则是中小型系统的黄金选择,开源免费、性能足够、资料丰富,遇到任何卡壳问题都能搜到解决方案。

1.3 功能模块全貌与业务闭环

先站在高处看一下这套系统的模块划分。系统整体分为基础管理和质量管理两大板块,基础管理包括用户管理、角色管理、菜单管理、部门管理,这是几乎所有管理系统都具备的RBAC权限模型;质量管理是核心业务模块,包括供应商管理、物料管理、检验标准管理、来料检验管理、过程检验管理、成品检验管理、不合格品管理、质量报表分析。

业务流转的逻辑是这样的:生产车间报检或者采购到货后,系统生成检验任务,质检员根据对应的检验标准执行检验,录入实测值,系统自动对比标准值判定合格还是不合格。合格的放行进入下一环节,不合格的则转入不合格品评审单,由质量主管组织评审——是退货、让步接收、返工还是报废。所有检验记录都会沉淀到数据库中,最终通过ECharts图表展示在质量看板上,包括合格率趋势、不良类型分布、供应商质量排名等。这套流程环环相扣,每个模块之间都有数据关联,正是答辩时可以展开讲的亮点。

2. 核心功能模块拆解与数据库建模

2.1 登录鉴权与权限控制设计

登录认证这块,系统采用JWT(JSON Web Token)方案。用户名密码登录成功后,后端生成一个带签名的Token返回给前端,前端将Token存储在本地,之后每次请求都在请求头中携带这个Token。后端通过拦截器校验Token的合法性,并从中解析出用户ID和角色信息。对比传统的Session方案,JWT天然适合前后端分离架构,服务端无状态,扩展性好,答辩时也很容易把原理讲明白。

权限控制采用RBAC(基于角色的访问控制)模型,核心就三张表:用户表、角色表、菜单表,再加上用户角色关联表和角色菜单关联表。用户不直接绑定权限,而是通过角色间接获得权限。比如质量主管这个角色可以看到不合格品评审、质量报表等菜单,而普通质检员只能看到检验录入相关的菜单。前端根据登录用户拥有的菜单权限动态生成侧边栏,后端在接口层面用自定义注解做接口级鉴权,双重拦截,确保越权请求在源头就被拒绝。

下面给一段后端自定义权限注解的代码示例,这个在答辩中属于典型的高频提问点:

@Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) public @interface HasPermission { String value(); }

在Controller中使用该注解的地方:

@RestController @RequestMapping("/api/quality/iqc") public class IqcInspectionController { @GetMapping("/list") @HasPermission("quality:iqc:list") public Result queryList(@RequestParam Map<String, Object> params) { return Result.success(iqcInspectionService.pageQuery(params)); } }

加上一个HandlerInterceptor对方法上的注解做校验,如果当前登录用户没有对应权限标识,直接返回403异常结果。整个实现逻辑非常清晰,面试官一问起来,你可以从一个注解的声明一直延伸到整个RBAC权限模型的表设计,这一整条线就能讲上五分钟。

2.2 检验环节的数据结构设计

质量管理系统最核心的业务表就是各检验类型的单据主表、子表配置和检验结果记录表。下面是我在设计这套源码时用的数据表结构,经过几个项目的实际验证,逻辑上比较成熟。以最基础的来料检验为例,会拆成三张表:检验任务主表、检验项目明细表、检验记录表,涉及的表名和关键字段如下:

表名用途核心字段
iqc_inspection来料检验单主表检验单号、供应商、物料、到货数量、检验结论、检验人、检验时间
inspection_item检验项目配置表项目名称、标准值上限、标准值下限、单位、所属物料或检验类型
inspection_result检验明细记录表检验单ID、检验项目ID、实测值、单项判定结果、备注

为什么要拆成三张表?因为在真实的制造场景里,每个物料可能有多个检验项目,比如一批钢材到货,要检验硬度、抗拉强度、化学成分等多个指标。如果把检验项目存在主表里,用逗号分隔,表结构是省事了,但后续做合格率统计,尤其是按检验项目维度分析不良率的时候,SQL写起来非常痛苦。拆成明细表和记录表之后,每个检验项目一行记录,单项目判定直接在录入时按标准值区间自动判定,统计查询都是简单JOIN,性能和逻辑都会清爽很多。这个设计思路本身就是一个很好的答辩切入点。

2.3 不合格品评审流程怎么设计状态流转

不合格品管理模块,英文缩写MRB(Material Review Board)。在实际制造企业中,MRB流程要求跨部门协作评审,设计、工艺、质量、生产都要参与意见,最终形成处置结论。系统实现时不必做得像企业级ERP那么重,但核心的状态流转必须要有。

我在这套源码中的实现方式是:状态字段用整型维护,定义如下——0代表待评审,1代表评审中,2代表已评审,3代表已关闭。不合格品登记之后状态为待评审,质量工程师录入评审意见和处置方式,状态变为评审中;审核员复核通过,状态变为已评审;最终执行处置并录入结果,状态变为已关闭。整个流转过程在代码里通过状态机模式管理,每种状态定义了允许流转的下一状态集合,避免前端胡乱点击造成脏数据。

这个过程想做成一个亮点展示也不难。把状态流转图画在答辩PPT上,配合核心代码解释状态机的校验逻辑,然后演示一条完整的数据流转:登记不合格品、录入评审意见、提交审核、关闭单据、查看质量报表中对应的不良率变化。整套演示一气呵成,答辩老师基本上一路点头。

3. 关键实现细节与编码注意事项

3.1 前后端对接:无处不在的跨域配置

前后端分离架构遇到的第一道坎必然是跨域问题。开发环境Vue在8080端口运行,SpringBoot在8081端口运行,前端请求后端接口时,浏览器的同源策略会直接拦截请求。解决方案很常规:后端配置全局跨域过滤器,允许指定源访问。不过这里面有一个特别容易踩的坑,就是对请求方法的预检处理——如果接口的自定义Headers较多,浏览器会先发一个OPTIONS预检请求,这个请求不能被拦在鉴权拦截器之外,否则前端会收到一堆莫名其妙的跨域报错。

我实际排查过很多次这个问题,通常都是因为自定义拦截器中对OPTIONS请求直接询问放行。在SpringBoot中自定义一个WebMvcConfigurer,里面addCorsMappings配置跨域规则时,注意allowedOriginPatterns要写成具体的域名或开发地址,不要用*配合allowCredentials(true),这会导致代理浏览器识别报错。稳妥做法是:

@Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**") .allowedOriginPatterns("http://localhost:8080", "http://localhost:8081") .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") .allowedHeaders("*") .allowCredentials(true) .maxAge(3600); }

前端这边同时还有一层保护措施,在Vue的vue.config.js中配置开发环境代理,让请求走前端服务器转发,绕开跨域问题。生产环境统一使用Nginx做反向代理,前端静态资源由Nginx托管,/api路径代理到后端服务端口,这样部署后是没有跨域概念的。两条链路并行,前后端开发起步阶段的跨域问题基本上一天之内就能解决,这在实际开发流程中是必须掌握的一环。

3.2 前端动态菜单与路由守卫的实现

系统的前端部分不是传统的一堆静态路由页面,而是根据用户权限动态生成菜单和路由。用户登录成功后,后端返回该用户的菜单树(包含路由路径、组件路径、菜单名称、图标),前端遍历树结构动态注册路由,并渲染侧边栏菜单。这种做法的好处是,不同角色登录后看到的系统是完全不一样的——质检员看不到报表管理,管理员看到的是全部菜单,视觉上直观地体现了权限控制的实现效果。

与之配套的还有路由守卫逻辑,在Vue Router的beforeEach钩子里做登录校验:判断本地Token是否存在,不存在则重定向到登录页;存在则判断路由是否在动态路由中,如果用户刷新页面导致动态路由丢失,需要重新获取用户信息并动态添加路由。这个环节有个常见Bug——刷新后菜单消失或者跳转白屏,根本原因就是动态路由在Vue实例创建之后又手动添加,导致响应式系统没有感知。实际开发经验是,将路由重置与页面刷新动作绑定,在全局守卫中判断路由是否已添加,未添加则等待添加完成再放行,刷新白屏问题就能彻底根治。

3.3 质量报表统计与ECharts可视化

质量管理系统如果只是录入数据,那体现不出业务价值。真正的价值在于对质量数据的统计分析——合格率趋势、不良品类型分布、供应商来料质量排名、一次交检合格率统计。这些统计结果落到图表上,管理层才能一目了然地看到质量变化。

这套系统在ECharts的封装上做了两层处理:第一层,后端通过SQL完成多维度聚合统计,接口返回的数据格式统一为维度名称加数值的数组结构;第二层,前端封装了一个通用的ChartCard组件,接收配置项和后端数据,自动渲染出折线图、柱状图或饼图。这样后续扩展新报表非常方便,只需要写好查询SQL和前端配置即可。比如查询某产品三个月的月度合格率,SQL大致是:

SELECT DATE_FORMAT(inspect_time, '%Y-%m') AS month, COUNT(*) AS total_count, SUM(CASE WHEN result = 1 THEN 1 ELSE 0 END) AS pass_count FROM inspection_result WHERE product_id = #{productId} AND inspect_time BETWEEN #{startTime} AND #{endTime} GROUP BY DATE_FORMAT(inspect_time, '%Y-%m') ORDER BY month;

月度合格率在SQL中就算出来了,后端只需要简单包装返回,前端ECharts以月份为X轴、合格率为Y轴画折线图,趋势变化一眼就能看清楚。对于毕设系统来说,这种报表实现的性价比是非常高的。

3.4 代码分层与命名规范

源码的结构按MVC模式分层,这个是写任何Java项目的基操,但我发现很多初学者的源码里分层意识非常薄弱。这套系统中的分包结构如下,可以直接参考:

com.qms ├── controller // 控制层,接收请求参数并返回结果 ├── service // 业务逻辑层,存放接口及实现 ├── mapper // 数据访问层,MyBatis接口 ├── entity // 实体类,对应数据库表 ├── dto // 数据传输对象,接收前端参数 ├── vo // 视图对象,返回前端数据 ├── config // 配置类,如跨域、拦截器、全局异常 ├── common // 公共类,如统一结果封装、分页对象 ├── annotation // 自定义注解 ├── interceptor // 拦截器 └── utils // 工具类

层与层之间的依赖关系严格单向:Controller依赖Service,Service依赖Mapper,不允许反向依赖。Service层只处理业务逻辑,事务边界在Service层标注。数据校验、异常统一处理在全局异常器中兜底,返回格式使用统一的Result对象,包含了状态码、消息、数据三个字段。这套规范看起来简单,却是企业级项目的底线要求。答辩时老师翻源码看注释、看命名、看分层,第一印象分就稳了。

4. 从源码到上线:部署实操全流程

4.1 本地开发环境清单

先列一下把这套系统运行起来需要准备的环境。后端JDK使用的是1.8或以上版本(建议JDK 8或11都行,实测兼容很稳),Maven 3.6及以上用于管理依赖;数据库用的是MySQL 5.7或8.0,本机需要提前安装配置好;前端环境Node.js 14+,npm用于安装Vue项目依赖。开发IDE推荐后端IDEA、前端VSCode即可。

安装版本这里提醒一下:SpringBoot版本不要盲目追求新。很多同学一看到SpringBoot官网推荐版本就直接选了3.x,结果JDK8环境下直接报错装不上,因为SpringBoot 3.0强制要求JDK 17,一堆老驱动也不兼容。这套QMS系统在文档中默认使用的是SpringBoot 2.7.x,这个版本非常稳定,既有Security、MyBatis等全套生态兼容,又不需要折腾JDK升级,对于毕设来说完全够用。

4.2 数据库初始化与后端启动

后端启动第一步是创建数据库。在MySQL中执行项目根目录下的qms.sql脚本,脚本中包含建库、建表、插入初始数据(包括管理员账号密码),执行完成后确认三张权限表和核心业务表都已生成。然后打开后端项目的application.yml配置文件,将数据库连接信息改为本地实际的用户名和密码,注意时区参数配上useUnicode=true&characterEncoding=utf8,避免测试数据时出现中文乱码问题。

SpringBoot项目的启动入口在QmsApplication类上,IDEA中直接右键运行main方法即可。启动日志中出现Tomcat started on port(s): 8081,说明后端已经就绪。建议此时先用Swagger或者直接浏览器访问一下接口,比如测试登录接口返回Token数据,确认后端链路是通的再进行下一步。

4.3 前端安装、构建与部署

前端启动分三步:先安装依赖,然后本地测试,最后构建打包。在frontend目录下执行npm install,这一步可能因网络原因耗时较长,可以使用国内镜像源。依赖安装完成后执行npm run dev启动开发服务器,浏览器访问localhost:8080登录系统测试一下基础流程。

如果只是本地展示,开发模式就足够了。但如果你需要在服务器上部署演示给老师看,就需要执行npm run build生成dist静态资源文件夹,然后将dist文件夹上传到服务器配置好的Nginx静态目录中。Nginx配置参考以下写法:

server { listen 80; server_name localhost; location / { root /usr/share/nginx/html/qms; index index.html; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://127.0.0.1:8081/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

这里有一行配置特别重要——location / 中的try_files,它的作用是当访问前端路由路径时(比如刷新http://server/quality/iqc页面),Nginx把请求重写到index.html,然后由Vue Router接管路由渲染对应组件。没有这一行配置,刷新页面就会直接404,这是一个非常经典的问题,在后面问题排查部分会详细展开。

4.4 部署后必须验证的清单

我把系统部署完成后建议检查的清单整理一下,按顺序过一遍,心里就有数了:

检查项操作方式预期结果
管理员登录使用初始化管理员账号登录进入系统首页,侧边栏显示完整菜单
新增用户并分配角色创建一个质检员账号,分配角色权限用新账号登录,看到的菜单比管理员少
来料检验完整流程创建检验单、录入检验数据、提交审核合格记录状态流转正常,报表数据同步更新
不合格品处置流程创建一个不合格零件,走完评审流程状态流转符合预期,不良类型统计出现在报表中
报表展示查看质量综合看板折线图、饼图正常渲染,数据正确
系统日志后端控制台查看SQL日志无明显报错,查询效率正常

上线之后如果出现数据中文乱码、接口404等问题,优先检查编码设置和Nginx代理配置,这两块占了部署问题的大头,其余细节在下一节展开。

5. 常见问题与排错实录

5.1 前后端接口联调时的跨域报错

最典型的报错是这样:前端页面在localhost:8080,请求localhost:8081,浏览器控制台会提示Access to XMLHttpRequest at http://localhost:8081/api/xxx from origin http://localhost:8080 has been blocked by CORS policy。这个问题分两层解决:开发环境优先使用Vue代理而不是后端跨域,将vue.config.js配置devServer.proxy,接口路径统一代理到8081;如果后端配置了全局跨域,注意对于OPTIONS请求放行,否则预检请求直接挂在拦截器上。

如果你用Postman测试接口是好的,但浏览器不行,几乎可以断定是跨域预检或Credentials认证的问题。逐个排查上述两个配置点即可。

5.2 MySQL 8.0连接时报公钥检索错误或时区错误

我帮别人远程看项目时遇到最多次数的后端错误就是数据库连接相关的异常。MySQL 8.0默认使用caching_sha2_password认证,老版本的JDBC驱动不兼容会报“Public Key Retrieval is not allowed”之类的错误,解决方式是升级MySQL驱动版本到8.0以上。另一个高频错误是“serverTimezone”,配置jdbc连接串时未设置时区会导致报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized。连接串上补上serverTimezone=Asia/Shanghai即可。

5.3 前端npm install时报依赖版本冲突或下载缓慢

Vue项目依赖安装报错的原因五花八门,最常见的两个:一个是Node版本过高,Vue CLI老版本项目在Node 18以上会出现OpenSSL错误;另一个是默认源下载缓慢导致超时。解决方法分别是对应的:Node版本降低到16,或者直接在package.json中兼容性更新依赖;npm源切换到国内镜像后,安装速度能提升十倍以上。

5.4 页面刷新后404

这个问题前面提到过,典型场景是登录进入系统后,在浏览器地址栏刷新当前路由,页面直接白屏或显示404。原因就是Nginx配置中没有处理前端路由的历史模式回退。Vue Router默认使用history模式,路由路径是真实的URL,比如/quality/report,刷新时浏览器会像服务器发起这个路径的请求,Nginx找不到对应文件就返回404。Nginx中配置try_files,将所有未命中路径重写回index.html,让前端路由重新接管,问题即可解决。

5.5 上线后登录成功但动态菜单不显示

这个问题排查起来比较复杂,但原因通常就一个——后端返回的菜单数据和前端组件的路径对不上。比如菜单表里存的component字段是quality/iqc/Index,但前端组件实际文件不在这个路径下,前端动态注册路由时就找不到组件,菜单自然渲染不出来。另一类坑是用户表状态字段设为禁用,登录接口没有过滤禁用状态,导致登录成功但后续查询用户信息时返回没有状态。两个问题方向不同,但都建议在首次部署时先用官方初始化数据跑通全流程,再修改成自己的业务数据,就能避免大量联动问题。

5.6 源码学习建议:三个层次的扩展方向

如果你的目标是毕业设计拿高分,或者想在面试的时候把这个项目讲出彩,我建议按三个层次对源码进行扩展。第一层是基础功能增强,比如给检验单增加附件上传,将质检照片和检验报告文件上传到服务器保存;第二层是业务深度扩展,比如增加供应商综合评价模块,把来料检验合格率自动汇总成供应商绩效评分;第三层是技术亮点扩展,比如引入Redis缓存用户Token和热点质检数据,在论文中增加Redis的使用场景,或者用WebSocket消息推送实现不合格品评审待办提醒。这三个方向任何一个能落地实现,你的项目在同等水平的毕设中都能明显提升一个档次。

最后再分享一点我个人的体会:拿这套系统作为学习素材,不要一开始就想着全键盘敲一遍,那是最低效的方式。正确的打开方式是把项目跑起来,选一个模块完整读一遍——从数据库表到Mapper映射到Service实现再到Controller接口,最后看到前端页面效果,把这一条链路走通,再思考如果让我自己设计一个模块,我会怎么建表、怎么写接口、怎么让页面联动。等你真正把一个模块吃透,你会发现SpringBoot和Vue的前后端分离开发其实就那几件事,剩下的就是业务逻辑的堆叠和多写多练。希望这篇文章能帮你在毕业设计或课程设计的路上少踩几个坑,顺利交付。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 4:21:03

SRA数据库体系详解:从数据检索到下载转换的实用指南

折腾过几百T测序数据之后&#xff0c;我重新理解了SRA数据库这套体系如果你跑过转录组分析&#xff0c;大概率经历过这样的场景&#xff1a;文献里写着“RNA-seq data have been deposited in the SRA under accession GSE123456”&#xff0c;你兴冲冲打开NCBI&#xff0c;找到…

作者头像 李华
网站建设 2026/9/16 4:20:30

Hermes Agent多实例任务分发与协同实践指南

1. 为什么我盯上了Hermes Agent的多实例玩法先说个背景。我手里有一个长期跑的自动化项目&#xff0c;最初是在单机单实例上部署Hermes Agent&#xff0c;跑一段时间后发现一个很现实的问题&#xff1a;任务一多&#xff0c;队列就堵&#xff0c;单实例的上下文窗口和并发处理能…

作者头像 李华
网站建设 2026/9/16 4:20:05

Java集成ONNX Runtime实战:从模型转换到Spring Boot部署

如果有一天你的 Java Web 应用里需要直接跑一个深度学习模型&#xff0c;而不是调远方同事维护的Python推理服务&#xff0c;你大概率会考虑 ONNX Runtime。这个选择在国内 Java 社区讨论得其实不算多&#xff0c;大多数团队遇到“部署深度学习模型”的需求&#xff0c;第一反应…

作者头像 李华
网站建设 2026/9/16 4:19:55

物理AI学习斜率:让模型与人类认知和物理世界同频

1. 这不是一句口号&#xff0c;而是一条正在被踩实的学习路径“数据堆到头&#xff0c;物理AI 人类学习路线 的斜率”——第一次看到这个标题&#xff0c;我盯着屏幕停了三秒。它不像常见的技术名词那样直白&#xff0c;也没有堆砌术语&#xff0c;但每个词都像一块棱镜&#x…

作者头像 李华
网站建设 2026/9/16 4:18:52

DiffSTG:面向强噪声场景的概率时空图预测模型

简介&#xff1a;本资源是一套基于去噪扩散模型的概率时空图预测算法完整实现源码&#xff0c;面向时空数据分析、时间序列建模及图神经网络方向的研究者与算法工程师&#xff0c;解决动态时空数据&#xff08;如交通流、疫情传播、金融时序&#xff09;中不确定性建模与高精度…

作者头像 李华
网站建设 2026/9/16 4:17:59

DeepSeek本地部署全攻略:Ollama/vLLM/Dify三路线与显存避坑指南

开头直接进入主题&#xff0c;不铺垫&#xff0c;不寒暄。DeepSeek本地部署这件事&#xff0c;最近问的人特别多&#xff0c;但大家遇到的坑出奇一致&#xff1a;模型下载到一半断掉、别人说Ollama一条命令搞定但自己执行就报错、Hugging Face连不上、下载完不知道放哪个目录、…

作者头像 李华