新闻详情

新闻详情

首页 / 资讯中心 / 详情

基于SpringBoot+Vue+MySQL的本科生交流培养管理平台设计与实践

发布时间:2026/9/30 4:01:34来源:尧图网络
基于SpringBoot+Vue+MySQL的本科生交流培养管理平台设计与实践
1. 项目背景为什么需要一个本科生交流培养管理平台这段时间一直在折腾一个针对本科生的交流培养管理平台源码基于SpringBoot后端加Vue前端和MySQL数据库属于典型的Web管理系统。做这个项目的原因其实很现实——高校里本科生培养环节涉及大量信息流转从导师分配、交流活动报名、项目申报到过程考核如果全靠Excel表格和微信群一旦人数超过一定规模信息混乱、统计滞后、通知漏发的问题会非常明显。这个项目一开始面向的就是一个中等规模的二级学院场景几百名本科生、几十位导师、每年若干轮培养活动。系统需要覆盖的核心业务包括学生信息维护、导师匹配、交流活动发布与报名、培养计划制定、项目申报与审核、过程记录以及最终的统计分析。我拿到源码之后先做了一遍整体梳理发现它不是那种只搭了壳子的demo而是把上述业务从数据表到页面都串了起来后端接口、前端页面、数据库脚本齐全配置好环境之后确实能直接跑起来。如果你是要做课程设计、毕业设计或者学院里确实有类似管理需求想找人落地这套技术栈和功能划分值得拿来参考。文章后面我会把项目的核心模块拆开讲一遍包括数据库设计思路、SpringBoot后端的分层实现、Vue前端页面组织方式以及我从部署到运行的整个过程中踩到的坑。对于准备拿这套源码做二次开发的朋友环境准备、启动顺序、常见报错处理也会一并说明。2. 技术栈选型的逻辑为什么是SpringBoot、Vue和MySQL2.1 后端框架的选择SpringBoot在当前Java后端开发里仍然是占有率极高的选择。它最大的价值在于把Spring生态里繁琐的XML配置、复杂的依赖管理全部收口了一个启动类直接内嵌Tomcat运行。对于本科生管理平台这类偏传统的信息管理系统SpringBoot提供的Spring MVC模板、Spring Data JPA或MyBatis集成、Spring Security权限框架正好是标配组合学习成本低招聘市场上会的人也最多。具体到这套源码后端走的是Controller-Service-Mapper三层结构Controller负责接口暴露Service承载业务逻辑Mapper层操作数据库。三层拆分的直接好处是业务和数据的解耦。比如一个学生报名交流活动的操作实际涉及活动名额校验、报名记录插入、活动参与人数更新三个动作如果全写在Controller里后续想加一个报名前检查学生是否已参加过同类活动的规则就得动接口层代码。但封装在Service里就简单很多新增规则时只需要调整Service内部逻辑接口签名和调用方都不受影响。2.2 前端框架的选择前端选Vue的原因也很直白——它在国内社区的生态成熟度极高Element UI组件库几乎把后台管理系统需要的表格、表单、弹窗、分页、树形菜单全做完了拿来即用。这套项目的前端页面我看了下采用的是典型的Vue单页应用结构配合Vue Router做页面路由Axios做HTTP请求。Vu的核心优势在于组件化和响应式数据绑定。页面上的活动列表、用户表格、审核状态标签全部可以拆成独立组件。组件内部只维护自己的状态页面之间通过路由传递参数父子组件通过props和事件通信。相比传统的JSP加jQuery写法Vue在复杂交互场景下的代码组织效率明显更高这也是现在Web项目的主流选择。选Vue还有一个实际考量——二次开发的门槛低。本科生在校期间多数都接触过Vue如果学院想找学生团队做后续维护技术栈匹配度会好很多。2.3 数据库层的定位MySQL在这个项目里的定位就是稳定可靠地存储结构化业务数据。本科生培养管理平台的数据量整体属于中小规模哪怕运行三五年核心表单的记录量通常也就在数万到数十万条之间MySQL完全能撑住。而且MySQL在事务、索引、数据导入导出、备份恢复这些方面的操作生态非常成熟Navicat、DataGrip等工具都可以直接连库操作部署和排错的资料也最多。这套源码附带的是完整的建库建表SQL脚本我建议你拿到之后不要直接在生产库里跑先看清楚脚本里的库名、字符集设置、初始化数据确认没有风险再执行。字符集务必选择utf8mb4原因很简单——学生姓名、活动描述、申报材料里可能出现生僻字或特殊符号utf8mb4才能完整支持这些字符老版的utf8格式遇到生僻字容易出现乱码或存储失败。3. 数据库设计几张核心表是如何支撑起整条业务链的3.1 用户、角色与权限的基础表设计系统的数据库是整个项目的地基。我最初梳理表结构时比较在意的是用户表的字段设计。用户表除了常规的id、用户名、密码、姓名、学号/工号、邮箱、手机号之外还需要一个role字段来区分学生、导师、教务管理员三类身份。学生信息和导师信息我建议单独拆分表来存而不是全部塞进用户表。学生信息表可以冗余保存年级、专业、班级、导师ID导师信息表保存研究方向、职称、可带学生数上限等字段。这样做的出发点在于三类角色的属性差异明显混在一张表里会产生大量空字段mysql的行存储对这种稀疏数据并不友好查询和扩展都不方便。角色与权限控制这块这套系统用的是自定义拦截器配合Session或Token的方式。管理员接口、普通用户接口、公开接口分别用路径匹配来做拦截。数据库层面通过user_role等关联表来维护用户和角色的多对多关系但实际操作中很多项目会直接基于用户表的role字段做简单控制对于功能不那么复杂的系统来说足够用。3.2 交流活动与培养计划的核心表结构交流活动模块是平台的一个核心功能。活动表的主要字段包括活动标题、活动类型宣讲会、研讨会、经验分享、企业参访等、活动地点、活动时间、报名截止时间、参与人数限制、当前报名人数、活动状态草稿、报名中、已截止、已完成、活动介绍、附件URL。与活动表配套的是报名记录表它起到了学生与活动之间的关联作用。报名记录表至少需要activity_id、student_id、报名时间、审核状态这几个字段得设置唯一索引约束比如UNIQUE(activity_id, student_id)防止同一学生重复报名同一个活动。培养计划表对应的是本科生的培养过程管理。字段包括学生ID、计划标题、计划周期、计划目标、阶段任务、阶段时间节点、完成状态、导师评语。这套系统的设计里培养计划是分阶段维护的每学期可以新建一条计划阶段任务支持多条记录最终由导师在后台进行审核和评定。3.3 审核记录与通知机制的表设计平台涉及导师审核、管理员审批等不少流程性操作如果每个模块都自己做一张审核表表结构会冗余且混乱。比较好的做法是设计一张统一的审核记录表用audit_type区分审核场景项目申报审核、活动报名审核、培养计划审核用target_id关联对应模块的业务主键再用audit_status记录审核结果并保存审核意见和审核时间。通知消息表的作用是把系统内的业务动作推送给相关用户。比如学生报名一个交流活动成功之后系统自动生成一条报名成功的数据写入消息表学生登录后首页能看到未读消息数量。消息表的字段包括receiver_id、message_type、title、content、is_read、created_at。这类设计虽然简单但能明显提升平台的使用体验不然学生只能天天手动刷页面去查审核结果。从整套库表结构来看这个项目的表之间基本做到了一个业务一个核心表加一到两个关联表没有特别重的冗余设计。整体上符合规范化的要求对中小规模管理系统来说是一个比较合理的数据模型。4. 后端SpringBoot的分层实现与关键模块拆解4.1 后端项目结构与启动入口后端项目的包结构是标准的SpringBoot布局。启动类放在根目录Controller包、Service包及实现类包、Mapper包、Entity实体类包、Config配置类包各司其职。resources目录下是application.yml配置文件、Mapper XML文件如果使用MyBatis以及可能的SQL初始化脚本。启动入口就是一个带SpringBootApplication注解的类该注解组合了SpringBootConfiguration、EnableAutoConfiguration和ComponentScan三个关键注解。EnableAutoConfiguration会根据项目的依赖自动配置内嵌Tomcat和数据源这也就是为什么SpringBoot项目通常不需要手动创建Tomcat就能直接运行。application.yml里最重要的配置是数据源。需要配置数据库地址、端口、库名、用户名、密码和驱动类。另外需要设置端口server.port、上下文路径server.servlet.context-path这两个字段直接影响前端请求URL怎么拼接。4.2 用户认证与权限控制的实现细节用户认证这块也是Web系统的常见环节。我看到不少类似系统的做法是使用Spring Security加上JWT或者使用自定义拦截器。这套项目的做法相对轻量通过登录接口校验用户名密码后生成一个令牌前端在后续请求的Header里带上Token后端拦截器对Token做校验并解析出当前用户身份。登录接口的实现要点在于密码不能明文存储。数据库里保存的是加密后的密文登录时把用户输入的密码做同样的加密处理后与密文比对。如果你要二次开发建议优先使用BCrypt这类自带盐值的加密算法不要用简单的MD5加盐方式因为BCrypt对破解的抵抗能力要强得多。权限控制方面拦截器需要对路径做分类处理后台管理接口比如用户管理、活动审核必须校验管理员身份普通查询接口只要求登录即可登录注册这类接口直接放行。这里需要特别注意的是静态资源的放行配置否则前端页面引用的CSS、JS文件如果也走了拦截器很容易出现页面样式加载不了的情况。4.3 活动管理模块的接口设计与业务闭环活动管理模块的后端接口大体包括POST /api/activity/create创建活动PUT /api/activity/{id}更新活动信息DELETE /api/activity/{id}删除活动GET /api/activity/list分页查询活动列表按状态、类型筛选按时间排序GET /api/activity/{id}活动详情POST /api/activity/{id}/signup学生报名活动DELETE /api/activity/{id}/cancel取消报名GET /api/activity/{id}/participants查看报名学生列表报名环节涉及比较典型的业务闭环处理。学生报名时要先判断活动的状态是否为报名中再判断已报名人数是否达到上限都通过后才创建报名记录并更新活动表的当前报名人数。这里要把检查与更新放在同一个事务里不然并发情况下可能出现超报。具体做法是在Service方法上标注Transactional让数据库保证这些操作的原子性。从实际体验来说这类平台的并发量不会有太大压力但事务意识必须建立起来。以后换到任何一个业务系统涉及库存扣减、名额抢占之类的逻辑事务和并发控制都是核心关注点。4.4 文件上传与附件管理系统里涉及头像上传、活动附件上传、申报材料上传等需求所以项目里也需要有文件上传接口。SpringBoot里处理文件上传非常简单MultipartFile接收前端的file参数然后保存到本地磁盘或对象存储。本地保存的话需要考虑路径拼接问题。建议不要把文件路径硬编码写到接口里而是配置一个upload.dir的配置项文件保存后往数据库里记录相对路径或URL。部署时只需要改配置文件就能切换文件存储位置不用动代码。还要注意设置文件大小限制SpringBoot默认单文件上传上限只有1MB很多场景根本不够用。需要在application.yml里显式配置spring.servlet.multipart.max-file-size比如10MB和max-request-size比如50MB否则大一点的材料直接上传失败还特别提示文件超出大小限制。5. Vue前端的关键页面与联调经验5.1 前端项目的整体结构与路由规划前端项目基于Vue CLI或Vite构建。src目录下一般有api目录封装Axios请求、views目录页面组件按模块拆分子目录、components目录公共组件、router目录路由注册、store目录状态管理如果用Vuex或Pinia。路由规划方面前端页面可以划分为登录注册页、学生端首页、活动中心、培养计划、项目申报、消息中心、个人中心以及管理端的用户管理、活动管理、培养计划审核、数据统计等页面。页面之间用Vue Router切换路由守卫用来处理登录状态的判断——未登录的用户跳转到登录页已登录且访问管理员页面时会校验角色权限。Axios请求封装是很值得讲的一个细节。统一创建一个axios实例设置baseURL对应后端接口地址再通过请求拦截器把Token放入Authorization头响应拦截器里统一处理401重新登录、500后端异常、业务错误码等逻辑。这样做之后业务页面里调用接口就不用重复写那些繁琐的错误处理了代码量会明显减少。5.2 活动中心页面的实现思路活动中心是学生端访问频率最高的页面它由一个搜索筛选区、一个表格或卡片列表、一个分页组件构成。筛选条件包括活动状态、活动类型、时间范围。页面的数据流逻辑是这样的筛选条件变化或点击页码时触发查询方法调用后端分页接口接口返回的数据赋值给表格的dataSource分页组件用返回的total字段刷新总条数。活动报名操作是个典型的二次确认场景。为了避免误触页面里需要弹出一个确认框告知用户活动名称、时间、地点确认后再提交报名请求。报名成功或失败的结果通过Message组件提示出来同时刷新列表数据让最新状态展示出来。这里值得提醒一下Element UI版本兼容问题。如果是Element UIVue2和Element PlusVue3很多组件的API不完全一样。比如Element Plus的Button组件的type属性、Dialog的v-model写法都有差异如果你在半路升级了Vue版本或组件库版本页面报错是很正常的需要按新版的文档逐个调整。5.3 与后端联调时的常见问题前后端联调阶段出现频率最高的问题就是跨域。浏览器出于安全限制当Vue开发服务器运行在localhost:5173后端在localhost:8080时端口不同就会产生跨域请求问题。如果后端没有开启跨域支持前端请求就会被浏览器拦截。跨域的解决方案不外乎几种后端配置全局CORS支持写一个配置类或添加CrossOrigin注解、前端配置代理转发。开发环境更推荐前端代理方案——在Vue项目的配置文件里设置devServer.proxy让前端服务器把/api开头的请求转发到后端地址。这样浏览器看到的请求是同源的不会有跨域问题而且上线后只要用Nginx做类似转发即可。另一个常见问题是请求体格式。前端默认使用Axios的POST发送JSON数据如果后端接口使用RequestBody接收那么请求头就必须是Content-Type: application/json。如果后端接口用RequestParam接收则前端要使用params方式传参或用表单格式。联调时遇到返回415错误多半就是这里没对齐。5.4 状态管理在系统里的实际应用这套系统的状态管理需求并不复杂最核心的就是保存当前登录用户的信息。打开系统后用户信息需要被头部组件、侧边栏组件、各个业务页面用到不可能每个页面都发一次请求拿用户数据所以放到全局状态里管理是最合理的。前端登录成功后可以把后端返回的用户基本信息存入状态管理的state中同时存入本地存储localStorage实现刷新页面后用户状态不丢失。路由守卫里判断登录状态时优先读取本地存储的Token再决定是否放行。如果你的二次开发里涉及比较高频的全局数据比如未读消息数也可以考虑用状态管理配合定时轮询或WebSocket来保持实时性。但这个平台本身没有这种强实时性需求所以简单的存储和更新就够用了。6. 让项目真正跑起来环境准备、配置与运行全流程6.1 本地开发环境清单想要把这套源码从零跑起来下列工具需要提前准备好JDK 8或11SpringBoot 2.x版本对JDK版本有对应要求建议先用项目基础版本对应的JDK不要上来就直接用JDK 21Maven 3.6以上用来拉取后端依赖MySQL 5.7或8.0建议8.0但5.7兼容性更好Node.js 14以上Vue2项目或Node 18以上Vue3项目npm/yarn包管理器IDE后端用IDEA前端可用VS CodeJDK版本和Node版本是我重点强调的。很多源码能跑但不起来的情况根因就是版本不匹配。SpringBoot 2.3系列搭配JDK 8或11都没有问题JDK 17也能运行但部分旧版依赖可能告警。Vue2项目的Node版本太高时会出现OpenSSL错误ERR_OSSL_EVP_UNSUPPORTED解决办法是降低Node版本或者配置NODE_OPTIONS参数但最稳妥的还是安装一个Node 16。6.2 数据库初始化与配置拿到项目之后第一步先在MySQL里建库执行项目里提供的SQL脚本。建库语句建议指定utf8mb4字符集。执行完脚本后重点检查初始化数据——管理员账号、测试学生账号、导师账号是否都已经存在账号密码是明文还是密文如果是密文需要确认是否能正常登录。第二处要确认的是application.yml里的数据库连接参数。数据库密码要改成你自己的本地密码。别小看这一步数据库中用户名密码不对是项目启动失败的常见原因报错信息通常是Access denied for user或者Communications link failure。如果后端项目里配置了Redis需要额外确认Redis服务已经启动否则启动过程中会报连接超时。这套源码默认没有硬依赖Redis但我见过不少类似项目加了缓存模块所以这里特别提一句。6.3 后端启动过程与验证方式后端启动用两种方式都行。一种是在IDEA里直接运行启动类另一种是先用mvn package打包成jar再执行java -jar命令。开发调试推荐前者因为IDEA里的热部署支持可以明显提升开发效率。启动成功的标志是在控制台看到Spring Boot的启动日志其中有Tomcat started on port(s): 8080这样的信息。之后用浏览器访问后端暴露的接口地址看到JSON数据返回说明接口层没有问题再继续启动前端环境。6.4 前端依赖安装与启动前端目录下先执行npm install安装依赖。这个环节时间长短取决于网络环境如果npm源下载速度慢可以切换阿里云镜像源执行npm config set registry https://registry.npmmirror.com之后安装速度会快很多。依赖安装完成后执行npm run serve或npm run devVue CLI默认把服务跑在8080端口。如果后端也是8080前端需要换端口或者后端换端口。Vite默认跑在5173如果端口被占用会自动换端口这时你需要关注前端页面环境变量里的baseURL配置是否指向后端实际端口。启动前端后打开浏览器访问开发服务器地址能跳到登录页说明前端OK。使用SQL脚本里预置的账号做一次完整登录测试登录后看首页数据是否正常展示。如果首页数据空白先去浏览器开发者工具里看Network标签页的请求查后端接口是否返回正常数据再排查跨域链路。7. 部署上线阶段的核心配置7.1 前后端分离项目的部署思路开发调试全部走通后如果要把项目正式部署到服务器就要采用前后端分离的部署方式。后端使用java -jar命令启动jar包前端用build命令打包成静态文件再由Nginx托管静态资源。前端文件build之后生成在dist目录里把dist目录里的文件复制到服务器的Web目录即可。这里有个容易踩的坑Vue项目里接口请求地址如果写死在axios的baseURL里且是localhost那么部署到服务器后请求就会发到服务器本机的对应端口如果前后端部署在同一台机器上倒还好如果分开部署就会出问题。更好的做法是把baseURL配置成相对路径比如/api由Nginx统一做反向代理转发到后端服务。7.2 Nginx配置要点Nginx配置主要包含两部分静态文件服务与接口代理转发。前者让浏览器能够访问到前端页面的文件后者把/api开头的请求转发到后端服务的一个具体端口。要在配置文件里设置一个server块监听80端口。root指向dist目录的位置。location /用于匹配所有请求找到对应的前端资源文件。location /api/用于匹配接口请求并proxy_pass设置到后端地址。一个需要注意的细节是proxy转发的路径处理。如果你的后端地址配置了context-path比如/api前缀代理转发的地址需要精确匹配否则会导致404。这类报错排查时最直接的方法是看浏览器Network里的请求URL对比实际打开的后端接口地址判断哪一段路径没有对上。7.3 生产环境配置的差异化生产环境与本地运行有几个关键配置差异。数据库建议使用独立的账号只给业务库的读写权限不要用root账号。数据源URL可能还需要加时区参数serverTimezoneAsia/Shanghai和SSL参数useSSLfalse否则高版本MySQL可能出现时差8小时或者SSL连接警告的问题。文件上传路径在服务器上需要一个独立的目录并保证Web服务进程对该目录有写权限。日志方面建议配置SpringBoot的日志输出到文件方便后续排错。应用打包后通过java -jar app.jar启动时如果直接关闭终端进程会跟着退出要用nohup命令或者systemd服务的方式托管应用进程保证后台稳定运行。8. 使用这套源码做二次开发时值得注意的问题8.1 模块扩展如何新增一个管理模块在现有架构基础上新增模块是比较常见的工作。比如平台想增加竞赛管理模块让学生可以查看竞赛通知、在线报名、提交作品这件事需要同时改后端和前端。后端要新建竞赛表编写相应的实体类、Mapper接口及XML、Service接口及实现类、Controller接口。管理端里提供竞赛的新增、编辑、发布、删除接口。学生端提供竞赛查询和报名接口。前端的路由里添加竞赛相关页面菜单里加对应入口页面里在api目录新增接口函数。如果沿用现有项目的分层结构新模块的代码组织方式与老模块完全一致不会产生额外的工作量。这也是分层架构带来的实际好处——业务模块之间尽量解耦新增功能时尽量不去动老代码避免把正常的功能改出问题。8.2 权限模型升级的可能性现有系统的权限控制基本是角色级别的。如果要细化到操作级别比如允许某个老师只审核自己负责的学生不能查看其他老师的数据就需要引入更完善的权限模型比较常见的是RBAC基于角色的访问控制模型延伸出的数据权限和多级角色设计。数据库层面要给用户增加多角色关联表给角色增加权限点关联表。后端接口校验不再只判断角色枚举而要查找该角色拥有的权限点是否包含当前接口对应的权限编码。前端菜单渲染也要根据用户权限动态生成。这类改造的工作量会比新增一个模块大不少因为它是横切整个系统的逻辑但效果会明显提升系统的灵活度。8.3 与第三方系统的对接思路学校场景里经常有统一身份认证、教务系统数据同步、企业微信通知等对接需求。统一认证方面可以考虑接入CAS或OAuth2协议数据同步方面可以加一个定时任务按学号比对教务系统导出的数据增量更新学生基本信息通知推送方面可以对接企业微信群机器人或者学校的短信平台。这些对接都有一个共性——需要梳理清楚第三方系统的接口规范并在项目里合理安排调用时机。比如短信通知通常要控制频率和延迟不能让用户在一个操作里触发一条短信短时间内大量操作就会产生堆积影响用户体验和平台费用。9. 从运行角度复盘这套源码的亮点与可优化空间9.1 值得肯定的地方从整体设计来看这套系统的架构思路清晰前后端职责划分明确数据库设计基本规范。业务覆盖了本科生培养管理的主要流程不像很多课程设计项目只做了登录注册加一个CRUD。活动管理从创建到报名再到统计形成了一个比较完整的业务链条这对入门学习者来说是很有参考价值的范例。另外一个值得肯定的是可直接运行这个目标。拿到源码后只用修改数据源配置就能跑起来设计说明作者在依赖配置、SQL初始化脚本这些环节下了功夫。实际运行过程中跟数据库相关的坑只花了比较少的时间就定位到了这比满屏报错、依赖冲突的项目体验好太多。9.2 可以进一步优化的方向从生产使用角度看系统还有一些值得改进的方向。代码层面存在大量重复的CRUD代码可以考虑通过MyBatis-Plus的通用Service和通用Mapper来简化数据操作。日志记录做得比较粗管理端的关键操作删除活动、审核通过等建议增加操作日志表方便做安全审计。业务方面待审核流程的模式比较单一。如果学院的实际审批流程是分级的指导老师初审、系主任复审、学院终审现有实现就要做一定改造。前端视觉上如果面向的群体是本科生交互细节和移动端适配还有提升空间现在多数管理系统的设计都比较朴素愿意重度使用的人群会比较有限。性能方面虽然有分页查询但没有加索引设计层面的深入考量。随着数据量的增长报名记录表和审核记录表的查询可能会变慢建议为常用查询条件组合建立合适的复合索引。如果经常按活动ID和时间范围查询报名记录就可以建立一个包含活动ID、报名时间的联合索引。9.3 技术学习的路径建议如果你拿这套源码主要是为了学习我建议按照数据库→后端接口→前端调用这个顺序逐步深入。先读SQL脚本理解每一张表的含义再打开后端代码看接口如何操作数据最后打开前端的对应页面看它如何调用接口。一条链路走通之后再尝试自己加一个简单功能体验一次完整的前后端联调。学习过程中不要只盯着代码建议动手画一遍业务流程图和数据流图把用户从注册登录到完成一个培养计划的完整过程理清楚。这会对以后做系统设计有很大的帮助比单纯会用框架重要得多。框架更新换代很快业务建模和架构思维才是真正的核心竞争力。回到这套源码本身它作为一套可运行的完整系统在基础设施搭建和业务模块划分方面都给出了一个比较标准的答案。如果用来做毕业设计或课程设计的起点你可以在这个框架上做深度定制替换掉通用的模块加入自己设计的特色功能让项目从通用管理系统变成一个有明确场景和差异化亮点的新作品。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Unity资源依赖检测小工具:轻量级诊断与优化方案 2026/9/30 5:01:55

Unity资源依赖检测小工具:轻量级诊断与优化方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
AUTOSAR存储栈实战:NvM、MemIf、Fee配置与掉电保护 2026/9/30 5:01:54

AUTOSAR存储栈实战:NvM、MemIf、Fee配置与掉电保护

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Unity游戏AI感知系统设计:空间建模替代视觉模拟 2026/9/30 5:01:54

Unity游戏AI感知系统设计:空间建模替代视觉模拟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
百度前端实习一面全记录:原理、手写题与项目追问实战 2026/9/30 5:01:47

百度前端实习一面全记录:原理、手写题与项目追问实战

1. 面试前夜:百度前端实习的一面到底在考什么2026年3月11日,我参加了百度前端实习的一面。说实话,面完出来最大的感受是:百度的面试风格和网上流传的那些“背题就能过”的经验帖真的不太一样。先交代一下背景,我是某双…

阅读更多 →
Unity iOS Deep Link 完整接入:从链接配置到 C# 参数透传避坑指南 2026/9/30 5:01:47

Unity iOS Deep Link 完整接入:从链接配置到 C# 参数透传避坑指南

做手游的都知道,拉新靠买量,回流靠唤醒。而 iOS 端的 Deep Link,就是那条把用户从 Safari、广告页、活动 H5 重新拽回游戏 App 的绳子。很多人以为这不就是配个 URL Scheme 的事,但真做到 Unity 工程里就会发现,从链接…

阅读更多 →
Wireshark看不到虚拟机网卡?一文搞懂VMware抓包接口选择与操作 2026/9/30 5:01:47

Wireshark看不到虚拟机网卡?一文搞懂VMware抓包接口选择与操作

最近有个朋友在群里吐槽:虚拟机里装好系统、配好网络,想在物理机的 Wireshark 上抓虚拟机的流量,结果打开 Wireshark 的捕获接口列表,翻来覆去只看到物理无线网卡、以太网卡和一堆“Adapter for loopback”,愣是找不到…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉