学生成长档案管理系统源码解析:从数据模型到部署改造全流程
简介25175学生成长档案管理系统大专院校版源码包定位为面向高校教务、教师及软件学习者的学生成长档案管理解决方案。系统以成长档案袋为主线完整记录学生在学科领域与通用能力上的发展过程支持档案录入、过程追踪、动态展示与发展性评价可用于课程考核、班主任管理及学生自我成长记录等场景。包体共430个文件、约2.15MB以aspx/ashx服务端处理、js前端交互、css/html页面布局为主同时包含as/fla等Flash相关组件、dll库文件以及bak数据库备份结构清晰便于定位业务逻辑与数据脚本。已有363人学习下载。通过阅读与运行源码可快速掌握成长档案系统的表结构、核心处理流程及评价展示机制尤其适合需要二次适配或学习ASP.NET与Flash混合开发的学习者。1. 学生成长档案管理系统源码先看懂它解决什么问题再动手如果你带过班级或者做过教务信息化一定经历过这种场景学生的成绩、奖惩、评语、体测、实践活动散落在不同的 Excel 里学期末汇总时要么格式不统一要么文件版本对不上想调出某个学生三年的成长轨迹得翻半天聊天记录。这套「学生成长档案管理系统」就是典型的信息化存档方案把学生从入学到毕业的成长记录统一收进一个 Web 系统里支持多角色登录、档案维护、文件上传和查询导出。对正在做课程设计、毕业设计的人或者学校信息中心想快速落地的老师这份源码最值钱的地方不是代码本身而是「拿到后能不能跑得起来、改得动、拿去演示或交付」。这也是我写这篇笔记的出发点不吹功能只讲怎么把源码变成你自己能用的一套系统。2. 从源码里抽出核心数据模型先明白系统在管哪些数据2.1 从导航菜单反推功能清单拿到一份陌生的管理系统源码不要急着打开代码就跑。我习惯先把后端控制器的路由过一遍再对照前端菜单反推这套系统到底做了哪些功能。这套学生成长档案管理系统的典型功能清单大致是系统登录与角色权限学生基础信息维护成长记录管理含成绩、奖惩、评语、活动、心理健康等分类档案附件上传与预览班级和年级维度统计以及操作日志。这里有一个判断源码质量的关键点功能模块是否和数据表一一对应。如果导航菜单上有「综合评价」但数据库里找不到对应的表那很可能是前端写死了页面后端接口是空的这种源码演示有余、落地不足。我一般会用 Navicat 或 DataGrip 连上数据库把表数量和后端 Controller 数量对照一遍数量能对应上说明这套源码是完整的。2.2 五张核心表看懂数据怎么流转学生成长档案不同于普通的用户管理系统它的核心是「围绕学生一人一档累积记录」。常见做法是拆出五张表系统用户表、学生基本信息表、班级表、成长记录表和附件表。我摘一段常见的学生表和成长记录表结构你可以直接对照自己的源码看CREATE TABLE student_profile ( id bigint NOT NULL AUTO_INCREMENT COMMENT 主键, student_no varchar(32) NOT NULL COMMENT 学号, name varchar(64) NOT NULL COMMENT 姓名, gender tinyint DEFAULT NULL COMMENT 性别 1男 2女, birth_date date DEFAULT NULL COMMENT 出生日期, class_id bigint DEFAULT NULL COMMENT 所属班级id, guardian_phone varchar(20) DEFAULT NULL COMMENT 监护人电话, status tinyint DEFAULT 1 COMMENT 状态 1在读 0离校, create_time datetime DEFAULT CURRENT_TIMESTAMP, update_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_student_no (student_no) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT学生基本信息表; CREATE TABLE growth_record ( id bigint NOT NULL AUTO_INCREMENT COMMENT 主键, student_id bigint NOT NULL COMMENT 学生id, record_type varchar(20) NOT NULL COMMENT 记录类型score/award/comment/activity/health, record_title varchar(128) NOT NULL COMMENT 记录标题, record_content text COMMENT 记录内容, record_date date NOT NULL COMMENT 发生日期, creator_id bigint DEFAULT NULL COMMENT 录入人id, create_time datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_student_type (student_id, record_type) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT成长记录表;这段建表语句里有两个设计值得注意。第一个是record_type用字符串枚举区分成绩、奖惩、评语、活动、健康五类记录而不是拆成五张表。这样做的优势是查询和统计时只需要一张表前端按类型分类展示扩展新记录类型时也不需要改表结构。第二个是student_no加了唯一索引保证一个学号只能有一条档案记录这是避免重复建档的关键约束。2.3 三处决定改造量的设计点读源码时建议重点看三个设计点它们基本决定了后期改造的工作量。第一是班级和年级是字典表还是硬编码字段。做得好的系统会拆一张class_info表和grade_dict字典表方便跨学年调整做得糙的直接在学生表里写一个grade_name字符串升年级时就得批量改数据。第二是删除策略。有的源码用物理删除学生毕业了直接 DELETE 掉历史轨迹就没了我更推荐看它有没有status或is_deleted字段做逻辑删除档案系统讲究留存逻辑删除是底线。第三是附件存储方式。本地路径存磁盘、数据库只存路径的方式最容易部署适合单机课程设计如果是云存储改造点就在上传和回显两个接口上。3. 把源码跑起来后端与前端的最小启动配置3.1 环境版本对齐先看 pom.xml 再装环境很多人拿到源码第一件事就是双击启动结果报一堆错原因九成是版本不匹配。这套系统最常见的组合是 Spring Boot 后端加 Vue 前端加 MySQL 数据库我建议按下面这张表对齐环境能省掉大半启动报错技术栈推荐版本注意事项JDK1.8 或 11看 pom.xml 里 java.version不一致会有编译报错Maven3.6 以上IDEA 自带可用命令行需配置阿里云镜像Node.js14 或 16版本太高会导致 node-sass 安装失败MySQL5.7 或 8.08.0 注意驱动和时区参数配置Redis可选如果登录用了 Redis 做会话必须先启动它我一般先把pom.xml打开搜 spring-boot 版本号再看src/main/resources/application.yml里的数据库配置。这两处确认了环境基本就能定了。经常有人拿着 Spring Boot 2.2 的源码用 JDK 17 去跑直接启动失败这不是技术问题是版本问题。3.2 后端启动配置数据库并跑通第一条命令后端配置的核心是application.yml你需要把数据库地址、账号密码改成自己的本地环境。常见配置长这样server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/student_growth?useUnicodetruecharacterEncodingutf8useSSLfalseserverTimezoneAsia/Shanghai username: root password: 123456 servlet: multipart: max-file-size: 20MB max-request-size: 100MB mybatis-plus: mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl这里的serverTimezoneAsia/Shanghai是 MySQL 8 必须加的不加会出现时区报错useSSLfalse是为本地开发关闭 SSL 校验避免连接警告multipart配置决定了上传附件的大小上限学生照片和奖状图片一般 20MB 足够跑通。改完配置后在项目根目录执行启动命令# 先编译跳过测试减少踩坑 mvn clean package -DskipTests # 直接启动编译好的 jar java -jar target/student-growth-system-1.0.0.jar第一次启动会看到 Spring Boot 的启动日志最后出现Started Application in x.xxx seconds就说明后端起来了。如果端口被占用启动日志会直接提示端口冲突这时把server.port改成 8081 再试即可。3.3 前端启动配置代理绕开跨域前端项目一般是独立的 Vue 工程结构上有一个package.json和一个vue.config.js。先装依赖再启动但这里有个高频坑package.json里锁了旧版本依赖直接 install 经常卡住或报错。常见做法是先删掉node_modules和package-lock.json再执行npm install --registryhttps://registry.npmmirror.com npm run serve启动成功后命令行会打印本地访问地址默认是http://localhost:8081。这时前端页面能打开但登录大概率会报接口 404因为前端 8081 和后端 8080 存在跨域。最常见的解决办法是在vue.config.js里配置代理module.exports { devServer: { port: 8081, proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } } };这段配置的意思是所有以/api开头的请求都由开发服务器转发到http://localhost:8080转发时改写请求来源避免跨域拦截。你的项目里如果接口路径不带/api前缀就把 key 换成实际路径前缀。代理配好后前端页面和后端接口就打通了。3.4 初始化数据从哪里来很多源码包里带一个sql文件夹或者db.sql文件这是系统的初始化脚本里面应该包含建库、建表、插入初始账号三部分。用 Navicat 新建一个名为student_growth的数据库字符集选utf8mb4然后执行这个 SQL 文件。执行完之后检查两张表sys_user表里应该有一个管理员账号通常是 adminstudent_profile表可能已经有几条测试数据。如果 SQL 文件里没有初始账号就需要手动往sys_user表插入一条记录密码一般是 MD5 加密后的字符串插入前先看源码里有没有工具类可以直接生成密文。4. 档案写入与查询的核心链路权限、记录与附件4.1 登录与权限控制拦截器到底拦了什么这套系统的访问控制一般有两种套路Session 会话或 JWT 令牌。源码如果是拦截器加 Session 的实现核心代码通常长这样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(loginUser); if (user null) { response.setStatus(401); return false; } return true; } }这段拦截器的逻辑是每个请求进来先检查 Session 里有没有loginUser没有就返回 401有就放行。你在改造时要关注两点第一loginUser这个 key 是登录接口里面放进 Session 的两处必须一致第二静态资源和登录接口本身要排除掉不然会出现「登录页图片加载不出来」和「用户登录时被拦截」的尴尬问题。我见过不少翻车现场就是拦截器写得太粗把所有请求都拦了前端登录都调不通。4.2 新增一条成长记录从表单到数据库的完整链路成长档案的核心操作是录入一条记录代码链路是前端表单提交到 Vue 的 API 方法再调后端 ControllerController 调 ServiceService 调 Mapper 写入数据库。后端 Controller 常见写法如下RestController RequestMapping(/api/growth) public class GrowthRecordController { Autowired private GrowthRecordService growthRecordService; PostMapping(/save) public Result save(RequestBody GrowthRecord record) { if (record.getStudentId() null) { return Result.error(学生id不能为空); } record.setCreatorId(CurrentUserHolder.getUserId()); boolean ok growthRecordService.save(record); return ok ? Result.success() : Result.error(保存失败); } }这里有两个设计细节值得学习。第一个是RequestBody接收 JSON 参数前端提交时必须设置Content-Type: application/json否则后端拿到的对象是空的。很多人在前端用 URLSearchParams 方式提交后端又用RequestBody对不上就保存失败。第二个是setCreatorId从CurrentUserHolder里取当前登录用户而不是让前端传人过来这个设计防止了伪造录入人档案系统的审计要求必须有这一层。4.3 附件上传保存路径、回显和大小限制档案系统离不开附件奖状扫描件、实践报告、学生照片都要传。后端上传接口的常见实现是PostMapping(/upload) public Result upload(RequestParam(file) MultipartFile file) { if (file.isEmpty()) { return Result.error(文件不能为空); } String originalFilename file.getOriginalFilename(); String ext originalFilename.substring(originalFilename.lastIndexOf(.)); String newFileName System.currentTimeMillis() _ UUID.randomUUID().toString().replace(-, ) ext; String filePath uploadDir / newFileName; File dest new File(filePath); if (!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); } file.transferTo(dest); return Result.success(/upload/ newFileName); }这段代码里把文件名重构成了「时间戳_随机串.扩展名」的格式目的是防止重名覆盖和中文文件名乱码这是非常关键的一个习惯。上传后的文件默认保存在uploadDir配置的本地目录里返回给前端的是一个相对路径前端拿到后拼在服务器地址后面就能回显。这里最需要注意的是uploadDir和静态资源映射要对应如果上传到了本地 D 盘但前端请求/upload/xxx被 Spring Boot 当成接口去找就会 404解决办法是在项目里配置一个资源映射目录。4.4 评语分页与关键词查询查询是档案系统使用频率最高的操作班主任看评语、领导查记录都靠它。用 MyBatis-Plus 实现分页查询是比较简洁的方式public PageGrowthRecord queryByCondition(PageQuery query) { LambdaQueryWrapperGrowthRecord wrapper new LambdaQueryWrapper(); wrapper.eq(GrowthRecord::getStudentId, query.getStudentId()); if (StringUtils.hasText(query.getKeyword())) { wrapper.like(GrowthRecord::getRecordTitle, query.getKeyword()) .or().like(GrowthRecord::getRecordContent, query.getKeyword()); } wrapper.orderByDesc(GrowthRecord::getRecordDate); return growthRecordMapper.selectPage(new Page(query.getPageNum(), query.getPageSize()), wrapper); }分页查询这里有个高频坑MyBatis-Plus 的分页需要配置PaginationInnerInterceptor不配置的话selectPage查出来的 total 永远是 0或者直接报错。配置方式是在项目里加一个MybatisPlusConfig类注册MybatisPlusInterceptor并添加分页插件。另一个值得留意的是like与or的组合如果关键词同时匹配标题和内容条件要加括号否则 SQL 的优先级会出问题查出来的结果集不对。5. 部署和改造时常见的 5 个问题与排查5.1 中文乱码和 emoji 姓名显示成问号现象系统跑起来后录入学生姓名「张伟」没问题但输入带生僻字或者 emoji 的昵称存储后变成问号。原因建表时用了utf8字符集而 MySQL 的utf8最多只支持 3 字节emoji 是 4 字节字符存储不了。要么是初始化 SQL 里写了utf8要么是数据库连接串里没加characterEncodingutf8。解决把整库、整表的字符集改成utf8mb4同时确认连接串里有characterEncodingutf8。改完要重启数据库连接已经乱码的数据需要重新录入改字符集不会修复存量数据。5.2 前端 npm install 反复失败或卡死现象执行npm install后报node-sass相关的编译错误或者卡在下载阶段长时间不结束。原因node-sass对 Node 版本极其敏感这套系统的前端源码如果写于两三年前锁的 node-sass 版本大概率不兼容新 Node。解决不要硬刚 node-sass直接把package.json里的node-sass替换成sass重新 install。如果项目用的是旧版 Element UI同理确认版本兼容新版 Node 装旧版依赖大概率有一堆警告能用就行不必追求全部无警告。5.3 分页查询 total 永远是 0现象列表能显示第一页数据但页码和总条数不显示total 一直是 0。原因MyBatis-Plus 的分页插件没有在配置类中注册。这是集成度最高的一个坑因为不加插件代码不报错只是分页数据不对。解决打开项目里任意一个标注Configuration的类添加PaginationInnerInterceptor的 Bean 注册。注册后重启分页参数就能正常返回。5.4 上传的图片回显 404现象文件上传成功数据库里有路径但页面上图片裂开请求地址返回 404。原因上传时保存文件到了本地磁盘目录但 Spring Boot 没有把那个目录映射成可访问的静态资源路径。解决在 WebMvcConfigurer 里添加资源映射把/upload/**映射到实际磁盘目录。另外一个常见连带的坑Windows 和 Linux 的路径分隔符不同保存路径里如果硬编码了\部署到 Linux 就找不到文件统一用File.separator处理。5.5 后端端口改成 8080 之后前端反而连不上现象按教程把后端端口设置为 8080结果前端启动后登录接口全部超时。原因端口没有冲突但前端代理配置里的 target 地址写死了某个端口或者后端改了端口而vue.config.js忘了同步改。解决检查前端代理 target 是否指向当前后端实际端口检查目标端口是否被占用检查后端启动日志确认实际监听端口。改完代理配置要重启前端服务npm run serve不会热加载vue.config.js的改动。6. 把开箱源码改成自己的交付版本两小时改造与验收技巧如果你是在做课程设计答辩或者要给学校做试点源码不能直接原样打包交出去。我一般按下面这个顺序快速改造第一步全局搜索原系统名把页面标题、Logo 文字、浏览器标签上的项目名统一替换成你自己的系统名称第二步删除演示用的假数据保留表结构重新造几条有连贯性的测试数据确保演示时点开每个学生都有完整档案第三步确认默认管理员密码已修改不要留着源码里写死的初始密码进入演示环节让评审或领导看到默认密码是很掉价的事。第四步把改造后的源码用 Git 做一次版本管理这是「源代码管理」落到实处的关键一步后续任何改动都能回滚不至于改崩了恢复不了。验收环节我建议准备一张自测清单在正式展示前跑一遍用管理员账号登录是否正常退出后是否能访问受保护页面新增一条评语并重新登录确认数据仍在上传一张图片并刷新页面确认回显翻到第二页确认分页生效切换一个低权限账号确认看不到管理菜单。这张清单跑完这套系统在你的机器上就是可交付状态了。最后说一个我的习惯拿到任何一份源码第一件事永远是备份原始版本再开始改。哪怕是像把端口从 8080 改成 8081 这样的小改动我也先复制一份原包因为改崩了就是一瞬间的事而备份是成本最低的后悔药。希望这份拆解能帮到你让你的这份成长档案代码今晚就能在自己电脑上跑起来。本文还有配套的精品资源点击获取

相关新闻

Scikit-learn高级API实践:从Pipeline到自定义转换器

Scikit-learn高级API实践:从Pipeline到自定义转换器

对很多刚上手Scikit-learn的人来说,这个库的API看起来简单得甚至有点“无聊”:分类器就fit一下再predict一下,回归器也差不多,顶多预处理模块里多几个fit_transform。但这套统一接口的背后,其实是整个机器学习工作流最…

2026/10/10 17:07:06 阅读更多 →
CNN-LSTM-SE注意力机制:原理与Matlab实现

CNN-LSTM-SE注意力机制:原理与Matlab实现

简介:一份基于CNN-LSTM-SE注意力机制的多输入单输出分类预测Matlab实现,面向需要进行时间序列分析、文本分类或语音识别等任务的研究者与工程人员。项目将卷积特征提取、长短期记忆建模与SE通道注意力相结合,适用于特征间存在空间关联且带时序…

2026/10/10 17:07:06 阅读更多 →
基于OpenPose与深度学习的手语识别毕设项目:从关节点提取到分类模型全链路

基于OpenPose与深度学习的手语识别毕设项目:从关节点提取到分类模型全链路

简介:这份资源是一套基于Python深度学习的手语识别系统完整项目包,面向计算机相关专业的高校学生、科研人员及行业开发者,可用于毕业设计、课程设计、日常作业参考,也可作为项目初期立项演示快速搭建原型。项目采用OpenPose检测视…

2026/10/10 17:06:04 阅读更多 →

最新新闻

学生选课系统:SQL Server数据库课程设计实战指南

学生选课系统:SQL Server数据库课程设计实战指南

简介:本资源是一份完整的数据库系统课程设计报告模板,面向高校计算机、软件工程等专业本科生,用于支撑《数据库系统概论》类课程的实践教学与课程设计作业。报告以“学生选课管理信息系统”为案例,系统覆盖需求分析(含…

2026/10/11 19:52:46 阅读更多 →
Photoshop习题版PDF:用可验证的题海训练打磨抠图调色肌肉记忆

Photoshop习题版PDF:用可验证的题海训练打磨抠图调色肌肉记忆

简介:这是一份精选的Photoshop基础习题资料,面向刚接触图像处理的初学者和需要巩固基础的设计爱好者,将颜色模式、位图与矢量图、图像文件格式、像素与分辨率、画布与图像尺寸等核心概念以问答形式系统梳理,并涵盖旋转画布、精确裁…

2026/10/11 19:52:46 阅读更多 →
UML实验报告实战:用EA7.5完成网上选课系统八图建模

UML实验报告实战:用EA7.5完成网上选课系统八图建模

简介:面向系统分析与建模课程的UML实验报告,是一份完整的课程实践资料,适合软件工程专业学生、建模初学者及相关课程教师参考。报告从实验0熟悉Enterprise Architect开发环境入手,系统覆盖用例图、类和对象图、交互图、状态图、活…

2026/10/11 19:52:46 阅读更多 →
YOLOv8瓶子检测源码实战:从训练到Docker部署全链路拆解

YOLOv8瓶子检测源码实战:从训练到Docker部署全链路拆解

简介:本资源面向深度学习目标检测初学者与进阶开发者,提供一套基于YOLOv8的瓶子识别检测完整工程,可用于物品检测课程设计、毕业项目或工业质检场景的快速复现。压缩包共488个文件,约89.27MB,以115个Python源码、173个…

2026/10/11 19:52:46 阅读更多 →
Linux下Ad-Hoc无线网络实战:IBSS模式配置与驱动级调试

Linux下Ad-Hoc无线网络实战:IBSS模式配置与驱动级调试

简介:本资源是一份面向高校计算机网络课程实验的Ad-Hoc无线自组网实践指导文档,适用于网络工程、通信技术等专业学生及初学者,解决无AP环境下快速构建临时对等无线网络并实现文件共享的实际问题。文档完整覆盖实验目的、原理(强调…

2026/10/11 19:52:46 阅读更多 →
深入排查npm报错:Cannot read properties of null (reading ‘matches‘)的完整指南

深入排查npm报错:Cannot read properties of null (reading ‘matches‘)的完整指南

先别急着清缓存重装,这个报错我前后折腾过好几次,每次原因都不一样。先花两分钟把错误本身看明白,后面能省一大堆时间。1. 报错拆解:这行错误到底在说什么1.1 错误信息的语法结构这行报错是典型的 JavaScript TypeError&#xff0…

2026/10/11 19:51:46 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →