SSM+Vue就业信息统计系统毕业设计:从数据库设计到答辩全流程解析
1. 项目解读与核心功能拆解先说一句实在话每年到这个时候SSMVue的选题就跟韭菜似的一茬接一茬。就业信息统计系统这个题目在毕业设计里是个典型的中等难度项目——你说它难吧它没有复杂的算法和分布式架构你说它简单吧它又把Web开发的常规链路全走了一遍登录鉴权、CRUD、多条件查询、统计图表、导出报表。正因为它处在“够得着但又不至于太简单”的位置才常年稳居毕设选题热门榜。这类系统的使用场景很好理解高校的就业指导中心或者院系辅导员需要统计毕业生的就业去向、单位性质、薪资区间、就业地区分布等数据用来上报材料、评估专业就业质量、调整培养方案。这就是系统的核心痛点——手工统计Excel来回传汇总慢、容易出错、数据口径不一致。做这个系统本质上就是把线下表格流转搬到线上实现学生填报、教师审核、管理员统计的一体化流程。从角色和模块来拆分一般分为三种角色学生、教师含辅导员、系统管理员。对应的核心权限边界很清晰学生维护个人信息、填写就业信息、查看审核状态教师审核学生填报的就业数据、按班级/专业查看统计结果、导出Excel报表管理员管理学生账号、管理院系和专业、配置就业类型字典、生成全局统计图表你拿这个项目去答辩老师最关心的往往不是页面多好看而是业务逻辑是否闭环、数据统计口径是否合理、权限是否严格。换句话说功能少一两个没关系但核心链路必须完整。2. 技术选型思路为什么SSMVue依然是保险牌聊技术栈之前先给新手提个醒做毕设不是造轮子炫技核心目标是稳、能跑、讲得清。在这样的前提下SSMSpring SpringMVC MyBatis加Vue这套组合几乎是普通本科毕设里最稳妥的选择。为什么不用Spring Boot说实话Spring Boot确实能简化配置但很多学校毕设大纲里写得还是SSM而且从答辩角度讲SSM的配置过程本身就是很好的“工作量证明”。你可以在答辩时讲半小时的Mapper代理、事务管理器、视图解析器评委老师会觉得你确实把底层的活儿干明白了。用Spring Boot反而容易被追问“这块是不是框架帮你自动处理的你清楚原理吗”。当然如果你学校不强制用Spring Boot也完全可行只是从“稳妥”角度看SSM没毛病。前端选Vue的理由更直观前后端分离是现在Web项目的常规做法Vue用起来轻量响应式数据绑定和组件化开发跟后端接口对接起来很舒服。配合Element UI或Element Plus做后台管理界面表格、表单、弹窗、树形控件全是现成的半天就能把页面框架搭完。而且Vue的语法对新手友好中文资料一大堆踩坑成本低。架构上这个项目我建议直接走前后端分离前端Vue 2 Vue Router Vuex Axios Element UI后端Spring SpringMVC MyBatis MySQL部署后端打War包放Tomcat前端打包后放Nginx或者直接把dist文件丢到Tomcat的webapps里凑合跑我见过很多同学纠结要不要用Vue 3。如果有时间去折腾Vue 3 Vite Element Plus确实更现代但你要是想省心Vue 2还是稳。原因很简单Vue 2的学习资料、踩坑帖子、组件库生态都比Vue 3成熟而且大部分毕设老师的知识边界也在Vue 2。为毕设去追新版本没有意义你要的是“做完、跑通、能答辩”。提示前后端分离项目前端和后端是独立进程开发时一般前端端口是8080后端是8081。你需要在Vue项目里配置代理转发否则所有请求都会跨域报错一上来就卡死一大半人。3. 数据库设计和核心表结构附字段说明一套业务系统的地基在数据库这话一点都不夸张。就业信息统计系统的表结构我建议按“用户体系 基础字典 业务数据”三个层面来设计。先列出最核心的几张表用户表t_user存放所有登录账号。关键字段包括id、username、password、role角色、real_name、user_no学号/工号、department_id关联院系。密码不要存明文用MD5加盐或者BCrypt加密都行答辩时这往往是加分项。院系/专业表t_department、t_major学院表存id、name、code专业表存id、name、department_id。这两张表是后续按条件统计的基础没有它们你就只能统计全校整体数据没法按学院/专业细分。就业信息表t_employment核心业务表记录每位学生的就业去向。字段至少要有student_id关联用户表company_name单位名称company_type单位性质国企/私企/外企/事业单位/自主创业等position岗位名称salary_range薪资区间用枚举值3k以内、3k-5k、5k-8k、8k以上province / city就业省市employment_date就业时间status审核状态待审核/已通过/已驳回remark备注就业类型字典表t_dict存放单位性质、薪资区间、就业形式等枚举数据。用字典表的好处是灵活以后学校要加一种就业类型不用改代码往表里插一条记录就行管理员页面也能自己维护。设计这组表的时候有两点值得展开讲。第一为什么薪资要设计成区间枚举而不是直接填数字因为就业统计的口径通常是“人数分布”比如“5k-8k区间有120人”而不是“平均薪资是多少”。区间枚举让你在后端统计时只用一条GROUP BY而直接填数字的话还得自己写分段逻辑麻烦且容易出错。第二就业记录和学生的关系要设计成一对多。一个学生理论上可能先签一家单位后又换了一家所以每条就业记录带student_id同时保留历史数据。有些同学图省事直接在学生表上挂一个公司字段这会导致学生改签后原记录丢失答辩时被老师追问“业务闭环呢”很难回答。注意审核状态字段一定要有默认值比如“待审核”。很多新手把插入语句写漏了结果前端页面数据显示undefined排查半天才发现是数据库字段默认值没设置。插入几条示例SQL能帮你快速验证表设计是否合理。比如查询每个学院的就业人数SELECT d.name, COUNT(e.id) AS cnt FROM t_department d LEFT JOIN t_user u ON d.id u.department_id LEFT JOIN t_employment e ON u.id e.student_id GROUP BY d.id这条SQL在答辩时最好能背出来因为它体现的是多表关联 分组统计的能力属于评审老师必关注的核心点。4. 后端核心接口与关键实现后端这块我按模块来讲每个模块说清楚“做了什么”和“为什么这么做”。4.1 登录鉴权模块登录用SpringMVC的拦截器Interceptor做就可以了。流程是用户提交username和password后端查库验证密码用MD5加盐或其他加密方式比对验证通过后把用户信息存入Session返回给前端一个用户对象前端把用户信息存到Vuex里之后每次请求都携带Session同源情况下Cookie自动带拦截器的作用是保护需要登录才能访问的接口。核心代码如下public class LoginInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session request.getSession(); Object user session.getAttribute(user); if (user null) { // 返回401状态码前端配置统一跳转登录页 response.setStatus(401); return false; } return true; } }这个环节记得问自己一个问题不同角色的权限怎么办最简单的方式是在拦截器里判断用户角色也可以写一个自定义注解比如RequireRole标注在Controller方法上灵活程度看你自己的需求。个人建议角色少就直接拦截器判断别过度设计。4.2 就业信息管理模块学生填报接口、教师审核接口、管理员查询接口本质上都是围绕t_employment表的增删改查。但有一个点值得展开说多条件组合查询。按“院系 专业 就业状态 薪资区间 关键词”组合查询这是在真实业务里被使用频率最高的功能后端实现用MyBatis的动态SQL处理非常合适select idselectEmploymentByCondition resultTypemap SELECT e.*, u.real_name, u.user_no, d.name AS dept_name, m.name AS major_name FROM t_employment e LEFT JOIN t_user u ON e.student_id u.id LEFT JOIN t_department d ON u.department_id d.id LEFT JOIN t_major m ON u.major_id m.id where if testdeptId ! null and deptId ! AND u.department_id #{deptId} /if if testsalaryRange ! null and salaryRange ! AND e.salary_range #{salaryRange} /if if testkeyword ! null and keyword ! AND (e.company_name LIKE CONCAT(%, #{keyword}, %) OR u.real_name LIKE CONCAT(%, #{keyword}, %)) /if /where ORDER BY e.create_time DESC /select这段代码有两个细节值得在答辩时主动讲用了LEFT JOIN保证即使某学生没有就业记录也能关联出学生基础信息用了 标签参数为空时动态忽略条件不会拼出多余SQL4.3 统计报表模块统计功能是这个系统区别于普通CRUD项目的灵魂。你要实现的统计图大致包括就业率趋势、单位性质分布、薪资区间分布、就业地区Top10这些功能统一用“按字段分组计数”的SQL实现接口返回格式是 [{name: 国企, value: 35}, {name: 私企, value: 78}]前端拿到数据后直接喂给ECharts即可渲染。典型SQLSELECT company_type AS name, COUNT(*) AS value FROM t_employment WHERE status 已通过 GROUP BY company_type强调一下WHERE status 已通过这个条件它体现了统计口径只有审核通过的数据才算数。这属于业务逻辑的严谨性答辩时一定要提。还有一个细节统计接口返回的图表数据建议用Map或自定义VO对象接收不要直接返回List实体否则前端拿到的字段名可能对不上。4.4 Excel导出功能导出报表也是就业统计系统的标配。后端用Apache POI操作Workbook生成Excel核心流程三步查询符合条件的就业数据创建Workbook和Sheet填充表头和行数据设置响应头Content-Disposition让浏览器触发下载response.setContentType(application/vnd.ms-excel); response.setHeader(Content-Disposition, attachment;filenameemployment_export.xls);这段代码短但坑很多。中文文件名会出现乱码需要URLEncode处理日期格式显示成序列号需要手动设置单元格格式大数据量导出要分批查询防止内存溢出。提前把这三个坑踩平导出功能会顺利很多。5. 前端Vue页面与核心交互实现前端这块我按工程搭建、核心页面、Axios封装、图表渲染四个部分来拆解。5.1 工程初始化与目录结构用Vue CLI初始化项目是标准做法vue create employment-frontend npm install element-ui axios echarts vuex vue-router目录结构我是这么组织的src/ ├── api/ # 接口请求统一封装 ├── router/ # 路由配置 ├── store/ # Vuex状态管理 ├── views/ │ ├── login/ # 登录页 │ ├── student/ # 学生端页面 │ ├── teacher/ # 教师端页面 │ └── admin/ # 管理员端页面 ├── components/ # 公共组件 └── utils/api目录里的代码值得规范起来每个接口一个函数方便维护import request from /utils/request export function getEmploymentList(params) { return request({ url: /api/employment/list, method: get, params }) }5.2 路由守卫与登录鉴权前端路由也要做鉴权。Vue Router的全局前置守卫根据用户角色判断能否访问对应页面router.beforeEach((to, from, next) { const user JSON.parse(localStorage.getItem(userInfo)) if (to.meta.requiresAuth !user) { next(/login) } else if (to.meta.role user.role ! to.meta.role) { next(/403) } else { next() } })这部分实现不复杂但能体现你对“前后端双重鉴权”的理解。答辩时可以这么说前端路由守卫是为了用户体验后端拦截器才是真正的安全屏障。5.3 核心页面就业信息填报与审核列表学生端的就业信息填报表单是重点页面。用Element UI的el-form组件加上rules校验规则表单校验的规则要和后端保持一致比如公司名称必填、薪资区间必选减少了提交后因校验失败被后端拒绝的来回沟通成本。教师端的审核列表页用的核心组件是el-table。列里嵌入el-tag显示审核状态状态颜色通过type属性区分成功/危险/警告。操作列放两个按钮通过、驳回实现思路是点击后调接口更新状态刷新列表。这里插一个常见坑el-table你可能会直接用后端返回的数组直接赋值给tableData但如果你在返回数据里嵌了对象如user对象要展示user.realName就直接写propuser.realName不用额外处理。5.4 Axios封装与前端代理Axios统一封装的核心是请求拦截器加token、响应拦截器统一处理错误码和401跳转。下面这段代码是每个Vue项目都必备的骨架import axios from axios import router from /router const request axios.create({ baseURL: /api, timeout: 15000 }) request.interceptors.request.use(config { const user JSON.parse(localStorage.getItem(userInfo)) if (user) { config.headers.token user.token } return config }) request.interceptors.response.use( response response.data, error { if (error.response error.response.status 401) { localStorage.removeItem(userInfo) router.push(/login) } return Promise.reject(error) } ) export default request然后你需要在vue.config.js里配置代理否则开发环境的跨域能让你怀疑人生module.exports { devServer: { proxy: { /api: { target: http://localhost:8081, changeOrigin: true } } } }注意代理配置里的target指向的是后端地址而且接口路径带上/api前缀这样就不需要在请求里写完整的后端地址了。production环境部署时记得让Nginx也配置/api的转发规则否则前端打的包在服务器上还是跨域状态。5.5 ECharts图表渲染ECharts用在统计页面。这里有三种核心图表管够柱状图展示各学院就业人数饼图展示单位性质占比折线图展示近三年就业率变化趋势这个数据通常要在后端造一些历史模拟数据或者整理往届数据否则只有当年数据图很空图表的初始化流程大同小异先initialized实例再setOption配置项最后监听窗口resize事件调用chart.resize()适配浏览器大小。关键点是eCharts实例需要在Vue组件mounted后再创建因为此时DOM节点才真正渲染到了浏览器。6. 论文写作结构与答辩准备要点说回论文。很多同学功能做完了论文憋不出来主要原因是没搭好整体框架。我提供一个适合这种项目的目录结构按这个写下来字数很容易到位第一章 绪论研究背景与意义、国内外研究现状、研究内容与目标、论文结构安排第二章 相关技术介绍SSM框架、Vue.js、MySQL、ECharts第三章 系统分析可行性分析技术、经济、操作、需求分析角色、功能、非功能、用例图第四章 系统设计总体架构设计、功能模块设计、数据库设计ER图、表结构、接口设计第五章 系统实现分模块描述界面与核心代码附截图第六章 系统测试测试环境、功能测试用例表、性能测试简述、测试结论第七章 总结与展望总结工作内容简要点出扩展方向论文写作有两个重要技巧。第一截图要精心准备每个模块要有2-3张不同状态的截图比如审核前、审核通过后、统计报表展示。用干净的数据名字用工整的测试账号看起来专业。第二核心代码块不用贴太多但要在讲解时能口述思路。代码贴个十行八行讲清楚逻辑就够了重点让老师看到你“能说清楚”而不是“抄了一堆代码”。答辩PPT我建议按这个节奏来自我介绍 → 项目背景与意义1页→ 技术架构1页→ 功能演示5-6页这是大头放系统的真实截图→ 项目亮点1页→ 总结。演示环节不要念PPT文字打开系统直接操作老师界面看得见你的系统比你干讲要有说服力得多。7. 常见问题与排查技巧实录这部分我挑了几组高频率出现的坑几乎每届学生都会踩提前知道能省下大把时间。问题现象排查思路解决方案前端请求报跨域浏览器Network里能看到请求发出但响应空配置Vue devServer代理或后端加CORS过滤器登录后刷新页面用户状态丢失Vuex状态存内存刷新后清空登录成功时同步存localStorage初始化时读取查询列表时MyBatis报ResultMap错误实体类字段名与表字段名不一致开启mapUnderscoreToCamelCase或写ResultMap部署到Tomcat后接口404前后端分离打包路径问题修改Vue构建的publicPath为相对路径或用Nginx配置转发统计图表数据全是0前端传参格式与后端日期格式不一致用Query参数传不用JSON Body传核对字段名中文Excel导出乱码文件名的编码问题对文件名做URLEncoder处理再单独说一个最隐蔽的坑maven项目忘了引入相关依赖。后端一启动直接报ClassNotFoundException新手可能一脸懵但实际上就是pom.xml里少了依赖。SSM项目你至少要有spring-webmvc、mybatis、mybatis-spring、mysql-connector-java、druid连接池。我见过缺mysql驱动、缺Jackson库的案例页面报错五花八门本质全是依赖缺失。排查问题的底层逻辑我总结为一句口诀从前到后逐层排查。前端F12看Network的请求是否发出、响应状态码是多少后端看控制台日志有没有异常、SQL是否正确再看数据库有没有数据、数据格式是否符合预期。按这个链路排查90%的问题10分钟内能定位。还有前端控制台报“Cannot read properties of undefined”这种错误十有八九是接口返回的字段名拼错了或者层级不对打印出response.data看两眼就清楚了。8. 最后一点个人体会这类SSMVue的项目我从教辅和帮带的角度反复接触了很多轮。总结了几个可能的加分扩展方向加一个邮件通知审核通过后自动给学生发邮件加一个批量导入上传Excel批量初始化学生账号或者把统计报表做成可下载的PDF版本。这些扩展用一个晚上的时间就能搞定但答辩效果非常直接。还有一件事必须提醒无论是企业签的还是自主择业就业数据的覆盖率和准确性是这个小系统的根本意义做测试数据的时候要把各种状态都覆盖到位——已审核、待审核、驳回、未填报四类状态都展示在界面上评委一看就知道你对业务的完整链路有把控。项目的每个环节都在这篇文章里拆开讲了。剩下就是老老实实写代码、记笔记、截图留档。等你把系统跑通、论文排版整洁地交上去那一刻你会觉得这个毕设值了而且它会是你能拿出去讲一整年的作品。

相关新闻

Grok Bot视频生成教程:从需求拆解到全平台导出的完整链路

Grok Bot视频生成教程:从需求拆解到全平台导出的完整链路

开头先放一句实在话:现在用 AI 做视频,难的不是“生成”,而是“一句话到成片”中间那几十个没人告诉你的决策点。你给一句“做个产品介绍视频”,工具确实能吐出一条片子,但成品大概率是画面乱飘、字幕出框、声音干巴巴…

2026/10/15 22:47:14 阅读更多 →
REA爆火:大模型驱动的逆向工程自动化分析实践与探索

REA爆火:大模型驱动的逆向工程自动化分析实践与探索

最近逆向工程圈子里,有个叫 REA 的开源项目突然就火了。火到什么程度呢?很多安全社区、技术群、CTF 选手群里都在讨论它,GitHub 的 star 数几天之内就翻了好几倍。干逆向的老手可能记得,这行当一直不缺工具——反汇编器、反编译器…

2026/10/15 22:47:14 阅读更多 →
用Pandas自动生成人力月报:Excel手工报表流程的完整替代方案

用Pandas自动生成人力月报:Excel手工报表流程的完整替代方案

在人力数据分析这个方向看得多了,我发现真正把同行拖垮的往往不是分析思路,而是Excel里那套复制粘贴、VLOOKUP、透视表、调格式的流水线。每月初收各部门花名册、入职台账、离职台账,串数据就得大半天,交上去的报表老板只看几个数…

2026/10/15 22:46:13 阅读更多 →

最新新闻

STM32F407单相PWM整流器实现单位功率因数与能量回馈

STM32F407单相PWM整流器实现单位功率因数与能量回馈

简介:本资源是针对2022年全国大学生电子设计竞赛A题「单相交流电子负载」的完整嵌入式实现方案,面向STM32初学者、电赛备赛学生及电力电子方向实践者,重点解决单相系统下高精度锁相与PWM整流控制这一核心难点。工程基于STM32F407VET6主控&…

2026/10/16 4:09:14 阅读更多 →
NAS实战:部署RegexVis让正则表达式可视化

NAS实战:部署RegexVis让正则表达式可视化

正则表达式这玩意儿,真的是让NAS玩家又爱又恨。爱的是它一把梭就能搞定批量重命名、日志筛选、下载文件整理这些脏活;恨的是你写的正则三天后自己都看不懂,更别说改别人留下的“天书正则”了。我前几天在NAS上想整理一批剧集文件,…

2026/10/16 4:09:14 阅读更多 →
Redis为什么快?从内存、IO模型到线程模型的深度拆解

Redis为什么快?从内存、IO模型到线程模型的深度拆解

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

2026/10/16 4:09:14 阅读更多 →
Glide 图片加载缓存机制:弱引用与引用队列的设计原理

Glide 图片加载缓存机制:弱引用与引用队列的设计原理

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

2026/10/16 4:09:14 阅读更多 →
车云协同十年演进:从电话式连接到端云智能共同体

车云协同十年演进:从电话式连接到端云智能共同体

车云协同这个词,十年前我拿着方案去讲的时候,说得再热闹,对方核心诉求也就是"能远程开个空调、查个位置就挺好"。那时候车是车,云是云,中间靠一张SIM卡打电话。十年后再看,云端已经成了智能汽车的…

2026/10/16 4:09:14 阅读更多 →
STM32电子密码锁仿真工程:状态机+按键消抖+LCD驱动+Flash模拟EEPROM

STM32电子密码锁仿真工程:状态机+按键消抖+LCD驱动+Flash模拟EEPROM

简介:本资源是一套基于STM32F103C6芯片设计的电子密码锁完整嵌入式开发工程,面向嵌入式初学者、单片机课程设计学生及STM32入门开发者,聚焦密码验证、LCD显示、矩阵键盘输入与蜂鸣器提示等典型功能实现,助力理解HAL库驱动开发与硬…

2026/10/16 4:08:13 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/15 9:49:14 阅读更多 →