Spring Boot+微信小程序音乐播放器毕设项目全解析:从架构到部署
每年到了毕业设计赶工季总有一批同学会栽在“基于Spring Boot的音乐播放器小程序”这类题目上。标题看起来很唬人其实骨架非常清晰前端一个小程序壳子后端一个Spring Boot工程中间串上MySQL数据库能完整跑通用户登录、歌曲列表、播放、收藏、评论这套闭环就已经满足绝大多数高校的毕设要求。我拿到的这套项目编号91909就是这种典型结构而且它是真的可以部署、可以运行、数据库初始化脚本齐全的那种不是网上那些缺胳膊少腿的残废源码。这篇文章我就从架构、数据库、后端实现、部署步骤到二次开发把这个项目从头到尾拆给你看尤其适合正在做同类题目或者想用Spring Boot练手全栈开发的同学直接参考。先说结论这条项目技术栈选型不激进但特别稳。Spring Boot负责后端接口和业务逻辑小程序端负责页面展示和用户交互MySQL存业务数据三者各司其职。你不需要懂什么高深的分布式架构也不需要背一堆框架原理才能应付答辩只要能把每个模块讲清楚、能演示运行结果就能拿到一个不错的分数。但前提是你真的看懂了这个项目每一步在做什么而不是仅仅把代码跑起来。下面我开始逐层拆解。1. 项目整体架构设计1.1 为什么选 Spring Boot 小程序这套组合很多同学拿到题目第一反应是问“要不要换成Vue做网页端”或者“后端能不能用Python”。我的建议是别折腾题目定什么就做什么尤其是这种带“部署教程可完整运行源码数据库”的毕设项目核心价值在于完整的闭环而不是炫技换框架。Spring Boot为什么适合做毕设因为它把Spring那套繁琐的XML配置全部内置了你只需要写一个启动类加上注解就能把接口跑起来。对于音乐播放器这种业务不算复杂的系统Spring Boot自带的自动配置、内嵌Tomcat、Spring MVC这些能力完全够用而且社区资料极多报错一眼就能搜到解决方案。小程序端的好处更明显微信小程序自带用户体系不需要你单独做注册登录的复杂流程即使要做短信验证码也方便而且小程序可以直接调用音频播放组件大大降低了音乐播放功能的实现门槛。从部署角度看后端打包成JAR丢到服务器上前端在微信开发者工具里导入项目改个域名就能预览整个流程对新手非常友好。1.2 项目模块拆解用户端、管理端、数据层这套毕设系统的功能模块其实可以分成三大块。第一块是用户小程序端这是学生日常接触最多的部分。典型的页面包括首页推荐歌单、音乐分类、歌曲列表、搜索、歌曲详情、播放页、收藏列表、个人中心。用户在首页或者分类页点进歌单进入歌曲列表页选择歌曲后跳转到播放页进行播放、暂停、切歌操作同时可以收藏歌曲或者评论。播放页是整个前端最核心的交互场景涉及播放器状态管理、当前歌曲信息展示、歌词展示、喜欢按钮等。第二块是后台管理端。虽然毕设演示时不一定看得特别深入但能管理歌曲、管理歌单、管理用户、管理评论这些功能一定要有因为答辩老师大概率会问“你如何维护这些音乐数据”。这部分逻辑一般放在同一个Spring Boot工程里以接口形式暴露前端可能是一个简单的网页管理界面也可能只是接口预留。91909这个项目里管理端接口是齐全的配合数据库手工维护数据也可以跑通。第三块是数据层也就是MySQL数据库。你需要设计用户表、歌曲表、歌手表、歌单表、歌单歌曲关联表、收藏表、评论表这些基础表并且写入初始化数据。比如推荐歌单需要在歌单表里有记录歌曲表里存放歌曲名称、歌手、封面图URL、音频文件URL、时长、播放量这些字段。数据库设计的好坏直接决定了后端代码的复杂度和答辩时你能不能讲清楚业务逻辑。2. 数据库设计与核心表结构2.1 音乐业务的数据建模思路音乐播放器小程序的数据模型不复杂但有几个点很容易被新手搞乱。我重点讲一下最核心的几张表。用户表字段一般包括主键id、微信openid、昵称、头像、创建时间。这里特别要注意openid的唯一性因为小程序登录拿到的用户身份标识主要靠openid不要用自增id去判断用户是否存在。歌手表和歌曲表的设计要分清主次。歌手的核心字段是歌手名、歌手头像、歌手简介歌曲表则有歌名、歌手id、专辑名、封面图、音频文件URL、歌词文件URL、时长、播放量、状态。歌曲表里用歌手id去关联歌手表而不是直接把歌手名存进歌曲表这是最基础的表设计规范。如果你把歌手名直接存进每首歌里后面想做“按歌手查歌曲”就会非常痛苦。歌单相关的表更需要细心。最常见的一个误区是把歌曲直接存在歌单表里用逗号分隔存一堆id。这种设计看起来简单但后续做歌单详情、添加歌曲、移除歌曲、统计每个歌单的歌曲数量时都会变成噩梦。正确做法是拆一张歌单歌曲关联表里面存歌单id、歌曲id、排序字段。一个歌单对应多条关联记录一首歌也可以出现在多个歌单里这就是典型的多对多关系。收藏表和评论表相对独立。收藏表存用户id和歌曲id或者歌单id最好加一个字段区分收藏类型这样用户“我喜欢”列表和歌单收藏可以共用一张表。评论表则存用户id、歌曲或歌单id、评论内容、评论时间、点赞数。这里同样建议加一个类型字段避免拆成歌曲评论表和歌单评论表两张几乎一样的表。2.2 表关联关系与初始化数据表结构设计完还要弄清楚表与表之间的关联关系。用户表到收藏表是一对多用户表到评论表是一对多歌手表到歌曲表是一对多歌单表到歌单歌曲关联表是一对多歌曲表到歌单歌曲关联表也是一对多。画一张简单的ER图理清楚这些关系写Mapper的时候就心里有数了。初始化数据是数据库脚本里最容易被忽略但又是最重要的部分。一个空壳数据库虽然验证了表结构但你在演示的时候总不能现场往数据库里一条条插数据吧。91909项目自带的SQL脚本里预置了二三十首歌曲、十几个歌单、几个测试用户还有部分评论和收藏数据实测下来直接导入就能跑出效果。注意导入SQL脚本时千万要记得先检查数据库字符集。音乐名称、歌手名、歌词这些内容都是中文如果数据库字符集不是utf8mb4导入后很可能出现乱码或者直接报错。我建议你自己操作一次全新导入顺序是先建数据库再用source或者Navicat运行SQL脚本最后检查几个核心表的数据条数。不要跳过这一步直接启动后端很多环境问题其实都是因为数据库没准备好导致的。3. 后端核心功能实现详解3.1 用户登录与鉴权流程小程序登录和普通网页登录最大的区别在于你不能让用户直接输用户名密码而是要走微信官方的code换session流程。前端调用微信的wx.login接口拿一个临时code把code传给后端后端用这个code去微信接口服务商换取openid和session_key。拿到openid之后先去用户表里查有没有这个人没有就自动注册一个新用户有就直接返回登录成功。91909这个项目在后端实现了一套基于Token的登录态管理。用户登录成功后后端会生成一个token存到Redis或者数据库然后返回给小程序端。小程序端每次请求需要带上这个token后端通过拦截器去验证token是否有效。这个设计比每个接口都传用户id要规范得多答辩时候也更好解释到底什么是鉴权。有一点需要注意看清楚项目里的Redis是用了还是只是预留了配置。有些毕设项目默认开启了Redis依赖但本地没装Redis服务启动就直接报错。如果你的项目也出现这种情况要么把Redis装起来要么把相关配置改成数据库存储Token不要死磕。这也是我多次帮人调这个项目时遇到最多的启动问题之一。3.2 音乐播放与歌单管理接口实现后端接口设计直接决定了小程序前端好不好调。常规音乐模块接口大致包括这几个获取推荐歌单、按分类获取歌单、获取歌单详情、搜索歌曲、获取歌曲播放地址、收藏歌曲、取消收藏、获取收藏列表、发表评论、获取评论列表。这些接口尽量设计成RESTful风格。比如获取歌单详情用GET /playlist/{id}收藏歌曲用POST /favorite传一个包含userId和songId的JSON。返回格式建议统一用Result对象包装里面放状态码、提示信息和数据。不要在一个接口里一会儿返回数组一会儿返回Map前端联调的时候会非常痛苦。搜索功能是音乐播放器的一个隐藏考点。很多同学觉得搜索就是select * from song where name like %关键字%这确实能用但如果搜索范围扩大到了歌手名和专辑名SQL就得多几个OR条件。实操的时候可以把搜索关键词拼接成%关键词%先搜歌名再搜歌手名两个查询结果合并去重。实时搜索如果数据量不大可以不用引入全文搜索引擎这个业务体量用MySQL简单模糊查询完全足够。播放地址接口要特别注意一个问题微信小程序里的音频播放组件要求播放链接必须是HTTPS开头而且域名还要在小程序后台配置为合法域名。这个是部署阶段绕不开的坑我在后面详细说。3.3 环境准备版本与关键参数拿到源码别急着双击启动先把环境对齐。Spring Boot版本不同JDK版本要求和依赖行为差异很大。91909这套项目实测用的JDK 8配Spring Boot 2.x版本最顺如果你用JDK 17甚至JDK 21去跑Spring Boot 2.x大概率会遇到一些奇奇怪怪的兼容问题比如动态代理报错、某些反射方法被模块化限制。MySQL建议用5.7或者8.0数据库连接串里加上serverTimezoneAsia/Shanghai和characterEncodingutf8mb4参数时区和中文乱码这两个坑百分之百会遇到。Maven的话只要终端能正常执行mvn命令就行。前端微信开发者工具建议用最新稳定版基础库版本选择2.20.0以上太老的基础库会不支持新版音频组件API。还有一个很容易踩的坑是端口冲突。Spring Boot默认8080端口如果你机器上装了其他服务占了8080启动就会报Port already in use。这种时候不要凭感觉改配置直接改application.yml里的server.port同时记得前端请求地址里的端口也要同步改。4. 部署教程从零到可运行4.1 本地部署完整流程这套部署流程我用自己的电脑完整走过一遍从拿到源码到小程序端能播放歌曲大约需要20分钟。前提是你已经把Java、Maven、MySQL、微信开发者工具都装好了。整个流程就是“数据库初始化 - 后端启动 - 前端导入”。第一步初始化数据库。打开Navicat或命令行创建一个名为music_player的数据库字符集选utf8mb4然后导入项目里sql目录下的初始化脚本。导入完成后先看几个核心表的数据条数比如song表至少有二十条以上记录。第二步修改后端配置。用IDEA打开Spring Boot工程找到src/main/resources/application.yml重点检查数据库地址、用户名、密码。这里我强烈建议先把数据库密码改成你自己的本机密码不要沿用压测环境配的密码。同时检查一下server.port记住这个端口后面会有用。第三步启动后端。在IDEA里直接运行启动类或者在项目根目录执行mvn spring-boot:run。看到Started Application in x.x seconds就说明启动成功了。你可以在浏览器访问http://localhost:{端口}/api/playlist/recommend这种接口地址如果返回JSON数据说明后端和数据库都通了。第四步导入小程序前端。用微信开发者工具导入项目文件夹AppID可以选择测试号因为毕设演示通常不需要真实发布。导入后找到项目中配置API地址的地方一般是utils/config.js或者app.js里的baseUrl把请求地址改成http://localhost:{端口}。按下编译按钮如果能看到首页的歌单列表说明前后端已经打通。提示本地调试时微信开发者工具默认勾选了“不校验合法域名”所以用http://localhost请求没问题。但如果你要在真机预览就必须在小程序后台配置HTTPS合法域名这就要你有一个服务器和备案域名属于后话了。4.2 部署环节典型问题与排查部署过程最容易翻车的地方不在地图本身而是各种环境配置的“小摩擦”。端口占用问题是最常见的。后端启动时报端口被占用可以用netstat -ano | findstr 8080查看那个进程结束它或者干脆给后端换个端口。换了端口必须同时记住改小程序前端的请求地址否则前端报错一直指向旧端口。数据库连不上的问题几乎每个人都会遇到。启动日志里如果出现Access denied for user rootlocalhost九成是密码写错了如果是Unknown database music_player就是初始化数据库那一步跳过了如果是Communications link failure那就是MySQL服务本身没启动先检查服务状态。前端报500错误要多看后端控制台日志不要只看小程序的报错提示。小程序只会告诉你请求失败真正的原因都在后端堆栈里。最常见的500原因是SQL语句里的字段名和数据库表字段对不上比如Java代码里写的songName数据库里字段叫song_name。这种问题一般查一下MyBatis的XML文件就好。5. 源码结构解析与二次开发建议5.1 后端包结构导读拿到源码第一件事是看包结构而不是急着点开某个文件乱翻。91909项目后端包结构是比较规范的分为controller、service、mapper、entity、config这几个主要目录。controller层很薄只负责接收请求、调用service、返回结果。判断一个Controller写得规不规范就看它里面有没有直接写SQL相关的东西。如果Controller里满是业务逻辑那这个项目的分层就有问题。service层是核心业务逻辑都在这层处理。比如收藏功能你需要在service层里先判断用户是否已经收藏过这首歌再决定执行插入还是返回“已收藏”。这种判断逻辑放在Controller里也能跑但放在service层里更符合Spring Boot的开发规范答辩时候讲分层的优点完全可以拿这个当例子。mapper层负责数据库操作里面是接口方法加SQL注解或者XML映射。entity层是实体类对应数据库表结构。config层放跨域配置、拦截器配置这些内容。跨域配置很重要小程序前端请求后端如果出现CORS报错多半是这一层没配好。如果你想在毕设基础上做二次开发我的建议是先改service层。比如增加一个每日推荐功能就是在service层里新增一个根据播放量排序查询歌曲的方法再在Controller里加一个接口前端加一个展示区域。改实体类需要同时改数据库和Mapper牵一发动全身新手容易改出问题。5.2 小程序前端目录与关键交互小程序的代码结构通常包括pages目录、utils目录、app.js、app.json等。pages目录里每个页面一个文件夹里面放着四个基本文件wxml、wxss、js、json。91909这个项目前端页面不算多我梳理一下最核心的几个。首页是一个歌单列表和推荐位用户点击歌单进入歌曲列表页。歌曲列表页请求后端接口获取歌曲数据渲染出包含歌曲名、歌手、时长的列表。点击某首歌之后进入播放页面播放页面通过微信小程序的wx.createInnerAudioContext()创建音频播放实例实现播放、暂停、进度条拖拽、上下曲切换。前端最需要仔细看的是请求封装。一般在utils目录下会有request.js或者api.js里面用wx.request封装了GET和POST方法并且会自动附带请求头里的token。二次开发的时候你只需要在api.js里新增一个方法页面里调用就好了不要每次直接写一大串wx.request。收藏按钮的交互逻辑值得多看两遍。点赞或者收藏按钮的状态要和用户当前登录状态关联点击后先判断是否已经收藏开心之后再调用后端接口。这个交互做得好演示的时候体验会很流畅答辩加分项。6. 实测过程中的坑与优化建议6.1 三个必踩的经典坑第一个坑是跨域问题。小程序真机和开发者工具不会像浏览器那样强制CORS但如果你把后端接口放到自己的网页管理端里测试跨域就逃不掉。解决方法是后端加一个CORS配置类或者在各Controller上加CrossOrigin注解。91909项目的config目录下已经写好了跨域配置建议理解一下它做了什么免得在网页端调试时一头雾水。第二个坑是微信小程序的合法域名限制。你在本地用开发者工具调试勾选“不校验合法域名”倒是能跑但是在真机上运行时wx.request请求的域名必须在小程序公众平台里配置为HTTPS合法域名。毕设演示一般不需要上线但如果你要给评委用真机扫码预览这个限制就必须处理。最省事的方案是开发阶段一直保持真机调试模式并开启“不校验合法域名”选项正式答辩前再准备一台服务器和一个已备案的HTTPS域名把后端JAR包丢上去。第三个坑是时间格式化问题。后端返回创建时间如果直接用LocalDateTime序列化前端看到的是类似2025-05-20T10:30:00的字符串带着一个T。这个格式在小程序端显示很丑需要前端做一次格式化或者后端在配置里统一处理。更省事的方法是在实体类的时间字段上用JsonFormat注解指定格式全局生效。6.2 从“能跑”到“能展示”的优化方向毕设演示的时候评委最看重的是“你的系统能不能完整讲出一个用户故事”。所以在跑通项目之后我建议你按下面几个方向做一些低成本但高感知的优化。第一统一接口返回格式。目前可能有些接口返回了原始Map有些返回了实体对象。建议统一用Result对象包装里面的字段固定为code、message、data。前端拿到这种统一结构后解析逻辑可以复用也好歹显得你懂API设计规范。第二补充操作日志。在service层加一个简单的日志输出用Slf4j打几行日志。比如“用户id为xxx的用户收藏了歌曲id为xxx的歌曲”。这个细节不复杂但是一旦演示时出了问题你可以直接看控制端日志定位比当着评委的面打开数据库查数据要专业得多。第三整理一份部署说明文档。把数据库初始化、后端启动步骤、小程序导入步骤写成一个README文件放在项目根目录。答辩时老师问“这个项目怎么部署”你直接现场按文档走一遍比口述要清楚得多也能体现你动手能力。第四静态资源不要写死本地路径。歌曲文件、封面图如果放在本机演示的电脑一换就全挂了。建议把图片和音频上传到云端对象存储数据库里存的就是对象存储的URL。当然如果时间来不及也可以继续用本地资源但在答辩前把所有路径都改成相对路径至少换一台电脑时还能正常运行。7. 写在最后的个人心得这类毕业设计的项目我前前后后帮几届同学调试过不少最大的感触是真正决定项目质量的往往不是代码写得多高级而是能不能把基础链路跑通并讲清楚。Spring Boot音乐播放器小程序这套题核心就三件事——数据库表设计合理、后端接口能用、小程序端能播歌。你能把这三点用大白话向评委解释明白再配合一套诚实的部署流程就已经超过相当一部分同学了。如果你是准备用这套项目来交毕设我建议你拿到源码后不要急着改功能先用一天时间把部署流程完整走三遍。第一遍照着文档走第二遍不看文档自己操作第三遍故意制造几个常见错误再修复它们。做到这一步答辩时任何关于部署和运行的问题都难不倒你。把这个项目吃透你学到的不只是一个音乐播放器而是Spring Boot全栈开发的一条完整主线——后面换任何业务场景无非是换几张表、换几个接口而已。

相关新闻

PyTorch实现MNIST手写数字识别:CNN模型搭建与训练避坑指南

PyTorch实现MNIST手写数字识别:CNN模型搭建与训练避坑指南

简介:这是一套基于Python与MNIST数据集实现的CNN手写数字识别项目,面向高校毕业设计、课程设计与开发者项目实践。项目基于TensorFlow搭建卷积神经网络模型,通过优化器训练并保存模型变量,识别阶段复用已保存权重;同时…

2026/10/11 14:11:21 阅读更多 →
免费C++小游戏集合:源码解析、环境配置与调试实战

免费C++小游戏集合:源码解析、环境配置与调试实战

简介:一份收录了多种经典小游戏的C代码合集,面向初学编程的读者和游戏开发爱好者。通过阅读、运行和修改这些源码,可以系统巩固变量、循环、条件判断、函数、数组以及类与对象等C核心概念。压缩包内共117个文件,以115个cpp源文件为…

2026/10/11 14:11:21 阅读更多 →
Django+Python影城售票系统:从数据建模到并发锁座的完整实战

Django+Python影城售票系统:从数据建模到并发锁座的完整实战

做这个项目的人我见过不少,各种课设、毕设、还有想转行拿来做作品集的,但说实话,十个里有八个做的只是“换皮图书管理系统”——能增删改查电影和场次,再让用户注册登录,然后就没然后了。前阵子我帮人改造一个类似的模…

2026/10/11 14:11:21 阅读更多 →

最新新闻

现代机器人学课后答案:Grübler公式与自由度验算方法

现代机器人学课后答案:Grübler公式与自由度验算方法

简介:《现代机器人学》(Modern Robotics: Mechanics, Planning, and Control)官方配套课后习题答案,内容覆盖第2至第13章,涵盖自由度计算、运动学、动力学、路径规划与控制理论等核心主题。资源为单个PDF文件&#xff…

2026/10/11 15:04:53 阅读更多 →
贝叶斯网络入门:从DAG到后验概率推理与Python实践

贝叶斯网络入门:从DAG到后验概率推理与Python实践

简介:贝叶斯网络简介讲课稿是一份面向人工智能、机器学习初学者及课程教师的PPT教学资源,系统讲解贝叶斯网络如何用有向无环图表达变量依赖、以条件概率表量化不确定关系,并给出清晰的认知路径。内容从朱迪亚•佩尔1986年提出的背景展开&…

2026/10/11 15:04:53 阅读更多 →
Gatsby 嵌入 Twitter 推文与组件:gatsby-plugin-twitter 的配置、懒加载机制与版本演进解读

Gatsby 嵌入 Twitter 推文与组件:gatsby-plugin-twitter 的配置、懒加载机制与版本演进解读

前端静态站点Web框架 【免费下载链接】gatsby React-based framework with performance, scalability, and security built in. 项目地址: https://gitcode.com/gh_mirrors/ga/gatsby 点击查看 免费下载 本文围绕 Gatsby 官方插件 gatsby-plugin-twitter 展开&…

2026/10/11 15:04:53 阅读更多 →
RESTful服务中Hibernate实战:事务边界与懒加载优化

RESTful服务中Hibernate实战:事务边界与懒加载优化

1. RESTful服务要用ORM,到底图什么? 先说个我观察到的现象。很多做REST接口的同学,一听到Hibernate就皱眉,觉得它重、慢、不好控制,宁愿手写JDBC或者直接用MyBatis。但如果你搞的是以业务逻辑为核心、实体关系复杂、需…

2026/10/11 15:04:53 阅读更多 →
MATLAB聚类分析实战:从K-means到DBSCAN的完整指南

MATLAB聚类分析实战:从K-means到DBSCAN的完整指南

简介:面向数据挖掘、模式识别与市场细分等应用场景的聚类分析专题课件,围绕系统聚类、快速聚类及MATLAB实现展开,讲解Q型与R型聚类、样品间距离度量、谱系聚类步骤,并结合pdist、linkage、dendrogram、cophenet、cluster等函数给出…

2026/10/11 15:04:53 阅读更多 →
华为无线解决方案报告书:从设计到交付的WLAN避坑指南

华为无线解决方案报告书:从设计到交付的WLAN避坑指南

简介:这是一份华为无线解决方案报告书,以某集团无线覆盖项目为背景,系统讲解无线局域网从设计到落地的完整思路,适合网络工程师、方案架构师及高校通信相关专业学生参考。报告重点涵盖网络设计原则、无线信号质量分析、总体架构、…

2026/10/11 15:03:52 阅读更多 →

日新闻

流感时间序列预测实战: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 阅读更多 →