基于SpringBoot+Vue的饮食健康管理系统设计与实现要点解析
最近刚把一个基于SpringBootVue的饮食健康管理系统完整走通了一遍。这个项目我一直惦记着——从需求梳理、表结构设计到前后端联调、打jar包部署前前后后用了两周多的时间。这类系统在课程设计和实际健康类产品里都很常见核心思路并不复杂用户可以录入每天的饮食记录系统根据食物营养数据算出热量和三大营养素蛋白质、脂肪、碳水化合物再结合个人健康档案给出分析和建议。整个项目的代码结构、数据库脚本、接口文档我都整理出来了这篇就尽量把拆解过程讲透包括我踩过的坑和一些细节设计思路希望给准备动手做类似系统的人一个能照搬的参考方案。1. 项目背景与思路拆解1.1 饮食健康管理到底在管什么先把需求掰开看。饮食健康管理这几个字看起来挺宽泛但落到系统功能上其实可以拆成几个非常明确的业务闭环首先是数据采集用户每天吃了什么、吃了多少、什么时间吃的。这一环对应到系统里就是饮食记录功能。其次是数据分析吃了这些东西摄入多少热量蛋白质、脂肪、碳水各占多少跟用户的目标减重、增肌、保持体重相比是多了还是少了。最后是结果反馈给用户一个直观的展示最好有图表告诉用户今天的热量超了或者还差多少近一周的蛋白质摄入偏少这类结论。这就是整个系统最核心的骨架。很多初学开发的同学容易上来就把系统设计得特别大账号体系、社区发帖、教练预约全都往上堆。但实际上围绕标题里的饮食健康管理把这些核心闭环打扎实项目就已经很有说服力了。我做的这个系统最终定位为以个人饮食记录为中心以营养数据分析为特色的前后端分离应用。1.2 功能模块划分经过了第一轮拆解我给系统定了以下模块用户端注册登录、个人健康档案维护、每日饮食记录管理增删改查、饮食历史查询、营养分析报告、健康趋势图表、目标设定减重/增肌/保持体重。管理员端用户管理、食物库管理录入食物及营养数据、饮食记录管理、数据统计概览。用户端和管理员端共用同一套登录认证但是通过角色字段区分权限。这个设计比较常规但在开发时很省事因为权限拦截只需要在接口层面判断角色即可。1.3 为什么选SpringBootVue这套组合技术选型是每个项目都必须回答的问题。SpringBootVue在目前的企业开发、课程设计和开源项目里占比非常大不是说它绝对最好而是它综合下来的性价比最高。后端用SpringBoot主要看中的是起步快、生态成熟。SpringBoot能帮我们省去大量Spring MVC的XML配置内置Tomcat打一个jar包就能跑。配合MyBatis-Plus做数据访问层单表CRUD基本不用手写SQL开发效率能翻倍。前端用Vue是因为组件化开发特别适合管理后台和需要频繁刷新局部数据的页面。比如饮食记录表单提交后热量汇总区域立即更新这块用Vue的数据绑定做起来非常顺手。再配合Element UI组件库界面不用从零写CSS也能达到不错的视觉效果。如果非要用别的技术比如后端用Django前端用React也不是不行。但考虑到项目需要源码数据库文档整套交付越主流的组合别人拿到手后越容易看懂、跑起来、二次开发。这一点在项目交付时其实非常重要。2. 从零搭建后端服务SpringBoot端2.1 工程结构与环境准备后端工程我用的结构是经典的分层架构controller、service、mapper、entity、config、common六层。虽然网上很多教程把这个结构叫SSM项目标配但确实好用controller只负责接参数和返回结果service写业务逻辑mapper和数据库打交道entity映射数据表。初始化工程的时候有几个关键配置要提一下项目的依赖引入我用的是SpringBoot 2.7.x版本核心依赖包括spring-boot-starter-web、mybatis-plus-boot-starter、mysql-connector-java、jjwtJWT工具、hutool工具类库、lombok。这里特别要说一下MyBatis-Plus它自带分页插件配合Page对象做分页查询非常爽比如管理员端的用户列表直接page()方法两行搞定。数据库连接配置放在application.yml里我习惯把环境相关的配置单独拆出来这样部署的时候只需要改一个配置文件server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/diet_health?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true global-config: db-config: logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0这里有几个容易出问题的地方后面我会单独讲。先说map-underscore-to-camel-case这个配置开启后数据库字段user_name能自动映射到实体的userName属性省掉大量TableField注解。2.2 用户认证与JWT鉴权用户认证我用的JWT也就是无状态令牌认证。大致流程是用户提交用户名密码后端校验通过后生成一个带过期时间的token返回给前端。前端把token存到localStorage里之后每次请求都在请求头里带Authorization: Bearer token。后端用一个拦截器统一校验token如果没有token或者token过期直接返回401。JWT的优势在于服务端不需要存session这在前后端分离的项目里特别方便。后端只需在登录接口里把用户ID、用户名、角色这些关键信息放进token签发时设置7天有效期String token Jwts.builder() .setSubject(user.getId().toString()) .claim(username, user.getUsername()) .claim(role, user.getRole()) .setExpiration(new Date(System.currentTimeMillis() 7 * 24 * 3600 * 1000)) .signWith(SignatureAlgorithm.HS256, secretKey) .compact();实际开发中我加了一个登录拦截器和角色拦截器。登录拦截器校验token是否存在、是否合法角色拦截器通过RequireRole(admin)之类的注解校验管理员接口。这样用户接口和管理员接口就可以共用一套token体系不用再单独写一套管理员认证。这里有一个个经验token里的用户信息不要放太多只放必要的ID、用户名、角色。如果后面要展示用户其他信息去数据库查就行了token越长请求头开销就越大。2.3 核心业务接口设计接口设计遵循REST风格按资源来组织URL。饮食记录相关的接口是系统的核心我列一下最终的接口清单功能请求方式路径说明新增饮食记录POST/api/diet/records传食物ID、份量、餐次、就餐时间修改饮食记录PUT/api/diet/records/{id}修改份量或餐次删除饮食记录DELETE/api/diet/records/{id}逻辑删除查询某日记录GET/api/diet/records/date传日期返回当天所有记录获取营养分析GET/api/diet/analysis/date返回当天营养素汇总获取健康趋势GET/api/diet/trend/week返回近7天热量摄入曲线接口设计最重要的思想是接口返回结构统一。我们项目里封装了一个Result类所有接口都返回{ code, message, data }这个结构。前端axios的响应拦截器里统一判断codecode为200就走成功逻辑其他情况弹出message提示。这样做的好处是不管哪个模块出错前端处理逻辑都是一套非常利于维护。3. 数据表设计与营养算法3.1 核心表结构数据库是整个系统的地基设计得不好后面写业务代码全是坑。这个系统我最终设计了六张表用户表、健康档案表、食物分类表、食物营养表、饮食记录表、管理员操作日志表。用户表和健康档案表是一对一关系用户表存登录信息用户名、密码、手机号、角色健康档案表存身高、体重、年龄、性别、活动系数、健康目标。之所以拆成两张表是因为健康档案属于用户的扩展信息跟登录凭证放在一起不够灵活比如后面想加一个腰围字段直接改档案表即可不影响用户表。食物分类表和食物营养表是一对多关系。我的食物库预置了几百条常见食物数据覆盖主食、肉蛋奶、蔬菜、水果、坚果等分类。食物营养表存的是每100克食物的热量、蛋白质、脂肪、碳水含量。饮食记录表是整个系统的核心也是数据量增长最快的表所以我额外加了一个份量系数字段这个在下一小节重点说。3.2 热量与营养素的计算逻辑这是整个系统最有技术含量的一部分。食物营养表里存的是每100克食物的营养素含量但用户吃的时候可不会按100克来吃。比如吃了一个苹果苹果可能200克喝了一碗粥粥可能300克。所以饮食记录表里必须有一个份量字段用来表示用户实际吃了多少克然后计算的时候用比例换算。核心计算代码逻辑如下// 记录: 食物100克热量为calorie, 用户实际吃了gram克 double fatCalorie food.getFat() * 9 * record.getGram() / 100.0; double proteinCalorie food.getProtein() * 4 * record.getGram() / 100.0; double carbCalorie food.getCarb() * 4 * record.getGram() / 100.0; double totalCalorie fatCalorie proteinCalorie carbCalorie;为什么脂肪要乘9蛋白质和碳水乘4因为1克脂肪完全氧化能产生约9千卡热量1克蛋白质和1克碳水分别约4千卡。这是营养学的基本常识也是系统计算数据的理论基础。很多教程里做营养计算只是拍脑袋给个数没有这个公式支撑答辩的时候一问就露馅了。3.3 BMR和TDEE让系统能真正评价用户饮食记录算出来的热量本身只是一堆数字。要让系统具备分析能力必须有一个参照标准。这个参照就是用户的每日热量需求。这里我用了两个专业公式BMR基础代谢率用Mifflin-St Jeor公式计算男性BMR 10 × 体重(kg) 6.25 × 身高(cm) - 5 × 年龄(岁) 5女性BMR 10 × 体重(kg) 6.25 × 身高(cm) - 5 × 年龄(岁) - 161TDEE每日总能量消耗 BMR × 活动系数。活动系数根据用户档案中填写的运动频率取值久坐不动1.2轻度活动1.375中度活动1.55高强度1.725。然后结合用户的健康目标做热量调节减重目标在TDEE基础上减300~500千卡增肌目标在TDEE基础上加200~300千卡。系统把算出来的这个值作为每日推荐热量前端展示热量趋势图时也会画一条推荐热量参考线用户一眼就能看出今天的摄入是否超标。这个计算逻辑写进一个NutritionCalculator工具类里所有需要分析营养的地方都调它保证全系统计算结果一致。这也是我踩过的一个坑一开始分别在好几个Service里复制粘贴热量计算代码后来发现记录详情页和日报页算出来的数据不一致排查半天才意识到是其中一处忘了把克数除以100。统一封装工具类后再没出过这种问题。4. 前端页面与可视化报表实现Vue端4.1 前端工程初始化前端用的是Vue2 Element UI ECharts Axios。用Vue CLI创建工程后我做的第一件事是配置路由和请求拦截。路由需要做权限控制用户登录后根据角色动态设置可访问的路由。没有登录或token过期时跳到登录页。具体做法是在router.beforeEach这个全局前置守卫里判断router.beforeEach((to, from, next) { const token localStorage.getItem(token) if (to.path ! /login !token) { next(/login) } else { next() } })axios封装时加了请求拦截器统一在header里加token加了响应拦截器统一处理code和错误状态码。特别是当后端返回401时拦截器里自动清除本地token并跳转到登录页这个体验细节能避免很多页面一直白屏但不知道去哪登录的尴尬。页面结构上我做了左侧菜单右侧内容区的经典布局。菜单项包括健康档案、饮食记录、营养分析、健康报表。饮食记录页是核心页面每天有多条记录所以内部用日期选择器记录卡片列表的方式展示切日期的时候通过watch监听日期变化重新请求数据。4.2 饮食记录页面的交互细节记录页面我做了三层结构上面是日期选择器和添加记录按钮。中间是被选日期的所有饮食记录按早餐、午餐、晚餐、加餐这几个餐次分组展示。每张卡片显示食物名称、份量、热量右边有编辑删除操作按钮。最下面是当日的热量汇总条实时显示摄入热量 / 推荐热量用进度条的形式呈现。添加记录时弹出对话框。对话框里关键操作是选食物因为食物库有几百条数据手动输入名称不现实所以我做成了远程搜索下拉框输入关键词后调用后端接口模糊查询食物名称展示匹配结果。选完食物再填一个份量数值克前端立刻根据后端返回的每100克营养数据计算出这份食物大概多少热量显示在对话框底部给用户即时反馈。这里有个交互设计的小细节后端接口返回食物列表时我不仅返回食物ID和名称还把每100克的热量、蛋白质、脂肪、碳水这些营养数据一起返回。前端拿到后直接用于计算展示不需要为了看一个热量值再单独调一次详情接口减少请求次数体验也跟手。4.3 ECharts健康报表报表是整个系统视觉效果最好的部分我用ECharts做了三个图表第一个是近7日热量摄入折线图横轴是日期纵轴是热量图上同时画两条线一条实际摄入一条推荐摄入。两条线的对比非常直观能看出用户连续几天是超了还是没吃够。第二个是营养素摄入结构环形图把当日或近7天总和的蛋白质、脂肪、碳水热量占比可视化。用户一眼就能看出自己的饮食结构是否合理比如是不是脂肪吃太多、蛋白质偏少。第三个是体重变化趋势折线图来自用户健康档案和后续录入的体重数据。这张图的意义在于用户能看到自己的饮食管理措施是否真的有效——光看热量数字是抽象的但曲线往下或往上走跟目标一对比成就感就出来了。ECharts在Vue里使用我封装了一个ChartCard组件props传入标题、图表类型、初始化数据内部负责初始化、update和销毁。这样做的好处是三个报表页面代码可以复用同一个组件只需要在mounted生命周期里从接口拉数据convert成ECharts的option数据格式就行。5. 联调、部署与常见问题排查5.1 前后端联调流程前后端联调是整个项目里最琐碎但最有必要的一步。我习惯先把后端接口全部跑通用一个在线接口测试工具测每一层的CRUD新增、删除、修改、查询确认无误后再接前端页面。如果一上来就前后端同时动出了问题很难定位是前端传参错了还是后端逻辑错了。联调阶段我遇到最多的问题是参数格式不匹配。比如前端用qs序列化提交表单后端用RequestBody接收JSON中间隔了一层就会报参数解析异常。我的处理办法是所有POST、PUT请求统一传JSON前端header里加Content-Type: application/json后端所有接口对象都用RequestBody接收。统一约定之后接口对接的沟通成本大幅下降。另外一件重要的事是临时解决跨域。前后端分离开发时前端跑在localhost:8081后端跑在localhost:8080浏览器会拦截跨域请求。开发阶段我在后端加了一个全局跨域配置允许所有来源等部署到同一台服务器同一个端口后就不存在跨域问题了。5.2 我踩过的坑时区、逻辑删除、打包404这几个坑比较有代表性逐个讲一下。第一个坑数据库时区问题。项目刚启动时饮食记录的时间字段总是比本地时间少8个小时。原因很简单MySQL连接的serverTimezone没设置或者服务器和本地的时区不一致。我用的是Asia/Shanghai这个时区配置同时数据库字段类型用datetimeJava侧用LocalDateTime接收只要连接串里写了serverTimezoneAsia/Shanghai这个问题就从根上堵住了。第二个坑逻辑删除导致统计数据错乱。我在业务中给多条表配置了逻辑删除MyBatis-Plus的逻辑删除在单表查询时很好用自动追加WHERE deleted 0。但联表查询、统计查询时如果没有在SQL里手动带上deleted条件就会把已删除的记录一起统计进去。比如用户删了一条高热量记录后日报里的热量反而没减少。解决方法是所有自定义SQL里都手动加上AND deleted 0条件或者直接通过MyBatis-Plus提供的LogicDelete功能来自动拼接避免写原生SQL。第三个坑Vue路由history模式打包后刷新404。本地开发一切正常npm run build后扔到服务器访问首页没问题但一刷新二级页面就404。这是因为history模式用的是HTML5 History API刷新时服务器得把不存在的路径重定向到index.html。解决方法是前端用哈希模式hash模式或者在后端配置一个简单的路由转发。哈希模式虽然URL里带个#但部署零成本稳定不会出这种问题。我这个项目最终用的是hash模式也是考虑到部署的简便性。5.3 部署上线与运维提示整个系统部署很简单因为前后端分离最终产物就两个东西后端的jar包和前端的dist目录。后端打包前记得先在application.yml里把数据库连接信息改成生产环境的MySQL地址然后执行mvn clean package -DskipTests在target目录下拿到jar包。服务器上只要装了JDK8以上和MySQL然后java -jar diet-health-server.jar --spring.profiles.activeprod前端在服务器上用Nginx承载把npm run build产生的dist目录内容放到Nginx的html目录下。如果前端是hash模式Nginx基本零配置只要把不同路径指到index.html即可。数据库初始化也很简单把项目里的diet_health.sql导入MySQL里面包含了建表语句和食物库的初始数据。有一个细节要啰嗦一下食物库初始数据很重要一个空食物库会让整个系统的体验瞬间崩塌。用户打开添加记录对话框搜索苹果搜不到这个系统就是个废物。所以我在SQL脚本里预置了主食、肉蛋奶、蔬菜、水果、坚果等分类下几百条常见食物数据覆盖了中国饮食中最常见的食材这才保证了系统开箱即用。5.4 项目交付时的三个文档建议标题里提到的源码数据库文档在这类项目里文档往往是决定评价口碑的关键。我的文档包含需求说明书、概要设计、详细设计、数据库设计说明、部署手册。这套文档不是从网上随便下的模板而是按项目实际结构写的。数据库设计文档里每个表字段都有注释和说明还画了表关系说明用文字描述外键关系哪些表通过哪个字段关联。部署手册里详细写了从安装JDK、MySQL到导入SQL、启动jar包的每一个步骤甚至把可能踩的坑也写进去了。这样接手这套系统的人照着文档一步步操作基本上不会卡壳。写在最后这个项目做下来我最大的感受是像饮食健康管理系统这种题目真正拉开差距的地方不在用了多炫的技术栈而在业务流程的完整度和数据计算的严谨性。把热量计算、BMR、TDEE这些营养学逻辑做得站得住脚把表结构设计得经得起推敲把接口设计得统一易用这个系统就有说服力。后面如果再扩展可以加入食物识别也就是拍照自动识别食物并估算热量另外还可以加入膳食营养素目标管理比如按中国居民膳食指南的摄入标准来预警维生素和矿物质是否缺乏。总之基础的地基打牢了上层房子怎么盖都稳。

相关新闻

Docker中Nginx中文乱码与配置热更新实战

Docker中Nginx中文乱码与配置热更新实战

1. 项目概述:为什么在 Docker 里跑 Nginx 还要操心中文乱码和配置挂载? 你刚用 docker run -d -p 80:80 nginx 跑起一个 Nginx 容器,浏览器一刷——页面能打开,但网页里的中文标题、按钮文字、日志输出全变成方块或问号&#xf…

2026/10/13 22:08:49 阅读更多 →
Docker中Nginx中文乱码与配置挂载全解

Docker中Nginx中文乱码与配置挂载全解

1. 项目概述:为什么在 Docker 里跑 Nginx 还要操心中文乱码和配置挂载?你是不是也遇到过这种情况:用docker run -d -p 80:80 nginx一行命令就跑起了一个 Nginx 容器,页面打开也正常,但一上传带中文名的文件、一访问含中…

2026/10/13 22:08:49 阅读更多 →
零基础AI漫剧智能量产全流程实操指南

零基础AI漫剧智能量产全流程实操指南

入行AI漫剧这档子事,完全算机缘巧合。有一天深夜我刷短视频,刷到一个漫剧账号:AI生成的角色立绘、克制的镜头推拉、AI配音加BGM,一集不到两分钟,评论区几千人催更。我当时第一反应是,这玩意儿到底怎么做到一…

2026/10/13 22:08:49 阅读更多 →

最新新闻

ACM竞赛中STL sort的cmp函数设计原理与避坑指南

ACM竞赛中STL sort的cmp函数设计原理与避坑指南

1. 为什么排序不是“写个for循环就完事”的事?刚接触ACM竞赛的新人,十有八九都经历过这个阶段:看到一道题说“把数组从小到大排好”,立刻撸起袖子写个冒泡——三重嵌套,i、j、k变量齐飞,跑样例能过&#xf…

2026/10/13 22:58:14 阅读更多 →
vnpy中缠论顶底分型的工程化实现与可视化避坑指南

vnpy中缠论顶底分型的工程化实现与可视化避坑指南

1. 为什么顶底分型不能只靠“肉眼盯盘”——从vnpy实战场景切入的缠论可视化困局在某量化实盘小组里,我见过最典型的场景是:一位有十年股票交易经验的老手,在复盘时指着K线图说:“这里明显是个顶分型,三根K线高点递减&…

2026/10/13 22:58:14 阅读更多 →
dateparse4cj 版本演进与新增日期格式解析指南(v1.0.0 / v1.0.1)

dateparse4cj 版本演进与新增日期格式解析指南(v1.0.0 / v1.0.1)

后端 【免费下载链接】dateparse4cj dateparse4cj 是一个基于 cangjie 标准库实现的高性能、功能丰富的日期时间解析库。它能够自动识别并解析多种格式的日期字符串,支持全球各种常见日期格式,包括各种区域标准、时区处理以及多语言日期表示。该库适合需…

2026/10/13 22:58:14 阅读更多 →
VINS-Mono回环检测与四自由度位姿图优化原理

VINS-Mono回环检测与四自由度位姿图优化原理

1. 为什么VINS-Mono的回环检测不是“加个ORB-SLAM模块”就能跑通?很多人第一次尝试给VINS-Mono添加回环功能时,会下意识地去翻ORB-SLAM2的LoopClosing类,照着抄一个特征匹配位姿图优化的流程,结果编译能过,运行十秒就崩…

2026/10/13 22:58:14 阅读更多 →
Kubernetes上稳定运行Kafka的实战指南:StatefulSet、Local PV与KRaft配置

Kubernetes上稳定运行Kafka的实战指南:StatefulSet、Local PV与KRaft配置

1. 项目概述:为什么在Kubernetes上跑Kafka不是“炫技”,而是生产刚需“k8s搭建kafka集群”这八个字,最近半年在某云原生技术社区的搜索量翻了3.2倍。我带过的三个跨部门协作项目里,有俩都卡在“Kafka要不要上K8s”这个决策点上——…

2026/10/13 22:58:14 阅读更多 →
生成式AI从算法创新到工程落地:关键技术与实操指南

生成式AI从算法创新到工程落地:关键技术与实操指南

1. 从一场大会的议程设计,看生成式AI落地的真实风向如果你最近在关注生成式AI的行业动态,大概率会注意到一个现象:各种技术大会的议程正在悄悄变脸。前两年大家还在热烈讨论“大模型参数规模”“预训练数据量”这类底层指标,而今年…

2026/10/13 22:57:14 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →