news 2026/8/1 3:10:56

Spring Boot+Vue+UniApp医院挂号小程序全栈开发实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring Boot+Vue+UniApp医院挂号小程序全栈开发实战指南

这次我们来看一个完整的医院挂号预约小程序项目。这个项目基于 Spring Boot + Vue + UniApp 技术栈,是一个典型的“前后端分离 + 跨端小程序”的实战案例,非常适合作为计算机相关专业的毕业设计、课程设计,或者用于学习全栈开发流程。

项目最核心的价值在于它提供了一个可直接运行、功能闭环的医院挂号业务场景。它不是一个简单的 Demo,而是包含了用户端小程序、后台管理界面、完整的后端 API 以及数据库设计。对于正在寻找毕设选题的同学,或者想深入理解 Spring Boot、Vue 和 UniApp 如何协同工作的开发者来说,这个项目能让你快速上手,避免从零搭建的繁琐。

本文将带你从零开始,完成这个项目的环境搭建、本地运行、功能测试以及部署上线的全流程。我们会重点关注几个关键点:如何快速启动前后端服务、如何配置微信开发者工具、核心业务接口的调用逻辑、以及在实际部署中可能遇到的典型问题。无论你是想直接复用这个项目,还是想学习其架构设计,这篇文章都能提供清晰的指引。

1. 核心能力速览

在深入代码之前,我们先通过一个表格快速了解这个项目的整体情况和技术规格,让你判断它是否符合你的需求。

能力项说明
项目类型全栈 Web 应用 + 微信小程序
技术栈后端:Spring Boot + MyBatis-Plus + MySQL
前端管理端:Vue 2.x / 3.x + Element UI
用户小程序端:UniApp (Vue语法)
核心功能用户端:登录注册、科室医生查询、在线挂号、预约记录、取消预约、个人中心
管理端:用户管理、科室管理、医生管理、排班管理、预约订单管理、数据统计
部署方式本地开发:IDEA + Node.js + 微信开发者工具
服务器部署:可打包为 Jar (后端) 和静态资源 (前端),支持 Docker 容器化
数据交互前后端完全分离,通过 RESTful API 通信,使用 JWT 进行用户认证与授权
适合场景计算机专业毕业设计、课程设计、全栈开发学习、微信小程序入门实战
学习价值理解多端协同开发、掌握 Spring Boot 后端 API 设计、熟悉 UniApp 跨端开发、实践完整的业务流程

2. 适用场景与使用边界

这个项目主要服务于以下几类人群:

  1. 高校学生(毕设/课设):如果你正在为计算机科学、软件工程等专业的毕业设计或课程设计寻找一个“业务清晰、技术栈主流、代码完整”的项目,那么这个医院挂号系统是一个绝佳的选择。它避免了从零构思业务的痛苦,让你能专注于技术实现和论文撰写。
  2. 全栈开发初学者:对于想学习如何将 Spring Boot、Vue 和微信小程序串联起来的开发者,本项目提供了一个完整的脚手架。你可以清晰地看到用户在小程序点击“挂号”后,请求是如何经过 UniApp、到达 Spring Boot 后端、再操作数据库并返回结果的完整链路。
  3. 微信小程序开发者:如果你有 Vue 基础,想尝试用 UniApp 开发微信小程序,这个项目展示了如何组织小程序页面、调用后端 API、处理用户授权登录等常见场景。

使用边界与注意事项:

  • 非生产级:该项目作为学习/毕设用途,在安全性(如 SQL 注入防护、XSS 攻击)、高并发处理、支付集成(如需真实支付,需申请微信支付商户号并合规开发)等方面可能未做深度优化,不建议直接用于线上商业运营
  • 数据合规:项目涉及用户手机号、预约记录等敏感信息。在实际部署时,必须考虑《个人信息保护法》等相关法规,做好数据加密存储、访问日志记录和用户隐私协议。
  • 功能完整性:作为教学项目,它实现了核心挂号流程。但真实的医院系统还涉及号源同步、叫号系统、医保对接、报告查询等复杂模块,这些需要根据实际需求进行二次开发。

3. 环境准备与前置条件

要成功运行本项目,你的开发环境需要满足以下条件。请务必在开始前逐一检查。

1. 后端开发环境:

  • JDK:版本 1.8 或 11(推荐 1.8,兼容性最好)。在终端输入java -version验证。
  • Maven:用于管理 Spring Boot 项目依赖。在终端输入mvn -v验证。
  • IDE:IntelliJ IDEA(推荐)或 Eclipse。
  • MySQL:版本 5.7 或 8.0。需要提前安装并启动服务。

2. 前端开发环境:

  • Node.js:版本 14.x 或 16.x(建议使用 LTS 版本)。在终端输入node -vnpm -v验证。
  • 包管理工具:npm 或 yarn(推荐使用 npm,与项目默认配置一致)。
  • IDE:Visual Studio Code(推荐)或 WebStorm。

3. 微信小程序端环境:

  • 微信开发者工具:前往微信公众平台官网下载并安装最新稳定版。
  • 微信小程序账号:需要注册一个微信小程序账号,获取唯一的AppID,用于真机调试和上传。

4. 其他工具:

  • Git:用于克隆项目代码。
  • Postman 或 Apifox:用于测试后端 API 接口。
  • Redis(可选):如果项目中使用 Redis 做缓存或会话管理,则需要安装。本项目基础版本可能未包含,请根据实际代码判断。

4. 安装部署与启动方式

我们按照“后端 -> 前端管理端 -> 微信小程序端”的顺序启动整个系统。

4.1 后端 Spring Boot 服务启动

步骤 1:获取项目代码假设项目已托管在 Git 仓库(如 Gitee 或 GitHub)。使用 Git 克隆到本地。

git clone [项目仓库地址] cd hospital-booking-backend # 进入后端项目目录

步骤 2:导入数据库

  1. 在 MySQL 中创建一个新的数据库,例如hospital_booking
  2. 在项目目录的/sql/doc文件夹下找到数据库脚本文件(通常是hospital_booking.sql)。
  3. 使用 MySQL 客户端或命令行工具执行该 SQL 文件,初始化表结构和基础数据(如管理员账号、科室信息等)。
-- 示例:在 MySQL 命令行中执行 mysql -u root -p hospital_booking < /path/to/hospital_booking.sql

步骤 3:修改配置文件找到后端项目的配置文件,通常是src/main/resources/application.ymlapplication.properties。修改其中的数据库连接信息、Redis配置(如有)等。

# application.yml 示例配置 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/hospital_booking?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: your_password # 如果项目包含文件上传,可能需要配置上传路径 servlet: multipart: max-file-size: 10MB max-request-size: 100MB # JWT 密钥配置(需与前端一致) jwt: secret: your_jwt_secret_key_here # 请修改为一个复杂的随机字符串 expire: 604800 # token 过期时间(秒),例如7天

步骤 4:启动后端服务在 IDEA 中直接找到主启动类(通常命名为Application*Application),右键运行即可。或者使用 Maven 命令启动:

# 在项目根目录下执行 mvn spring-boot:run

看到控制台输出类似Started Application in 5.123 seconds (JVM running for 5.789)的日志,且没有报错,说明后端启动成功。默认端口可能是8080,你可以在配置文件中修改server.port

4.2 前端 Vue 管理端启动

步骤 1:进入前端项目目录通常项目结构会有一个admin-frontendvue-admin的文件夹。

cd ../hospital-booking-admin # 进入前端管理端目录

步骤 2:安装依赖

npm install # 或使用淘宝镜像加速 # npm install --registry=https://registry.npmmirror.com

此过程会下载所有依赖包,可能需要一些时间。

步骤 3:配置 API 地址找到前端项目的配置文件,通常是src/config/index.js.env.developmentvue.config.js。将其中指向后端 API 的地址修改为你本地启动的后端地址。

// src/config/index.js 示例 module.exports = { baseUrl: 'http://localhost:8080/api/', // 确保这里指向正确的后端地址和端口 // ... 其他配置 }

步骤 4:启动开发服务器

npm run serve

启动成功后,命令行会提示访问地址,通常是http://localhost:8081。用浏览器打开此地址,即可看到管理后台登录界面。

4.3 微信小程序 UniApp 端启动

步骤 1:进入小程序项目目录进入uni-appmp-weixin目录。

cd ../hospital-booking-mp # 进入小程序端目录

步骤 2:安装依赖

npm install

步骤 3:配置小程序信息

  1. manifest.json文件中,配置你的微信小程序AppID
  2. 在项目根目录或config文件夹下,找到 API 配置文件(如config.js),将后端 API 地址修改为本地地址。注意:微信小程序要求 HTTPS 或本地 IP(如http://127.0.0.1),不能直接使用localhost开发阶段,可以在微信开发者工具中开启“不校验合法域名”选项。
// config.js 示例 const baseUrl = 'http://127.0.0.1:8080/api/'; // 使用IP地址 export default { baseUrl };

步骤 4:运行与预览

  1. 在 HBuilderX(如果使用)或命令行中,运行npm run dev:mp-weixin,项目将被编译到dist/dev/mp-weixin目录。
  2. 打开微信开发者工具,选择“导入项目”,目录指向上述编译生成的dist/dev/mp-weixin文件夹,并填入你的小程序 AppID。
  3. 在微信开发者工具中点击“编译”,即可在模拟器中看到小程序界面。

5. 功能测试与效果验证

系统启动后,我们需要验证核心业务流程是否通畅。我们从管理员后台和用户小程序两个角度进行测试。

5.1 管理员后台功能测试

测试目标:验证管理员能否通过后台管理系统对基础数据和预约订单进行管理。

  1. 登录测试:

    • 操作:访问http://localhost:8081,使用初始化的管理员账号(通常在数据库脚本中设置,如admin/123456)登录。
    • 预期:成功跳转到后台管理首页,侧边栏菜单正常加载。
    • 失败排查:检查后端服务是否运行、数据库连接是否正确、密码是否匹配。
  2. 科室与医生管理测试:

    • 操作:在后台找到“科室管理”和“医生管理”菜单,尝试新增一个科室(如“皮肤科”),然后在该科室下新增一位医生,填写姓名、职称、简介、头像(可上传测试图片)等信息。
    • 预期:新增成功,列表页能立即看到新增的记录。这验证了后端CRUD接口和前端的表单提交、图片上传功能是否正常。
    • 失败排查:检查文件上传路径权限、后端接口日志、前端网络请求(F12开发者工具查看Console和Network)。
  3. 排班管理测试:

    • 操作:为刚才新增的医生设置排班,选择日期、时间段(上午/下午)、可预约总数。
    • 预期:排班信息创建成功。这是挂号业务的基石。
  4. 预约订单查看测试:

    • 操作:在“预约管理”或“订单管理”菜单中查看所有预约记录。
    • 预期:能够看到预约列表,包含用户信息、医生信息、预约时间、状态(待就诊/已取消/已完成)等。尝试操作“取消预约”或“完成就诊”。
    • 失败排查:确保小程序端有用户成功创建了预约订单。

5.2 微信小程序端功能测试

测试目标:模拟真实用户完成从登录到挂号的完整流程。

  1. 微信登录授权测试:

    • 操作:在微信开发者工具模拟器中,点击小程序首页的“登录”或“我的”页面触发登录。
    • 预期:弹出微信授权窗口(模拟),授权后,小程序成功获取到openidunionid并发送到后端,后端生成JWT Token返回,小程序本地存储Token,界面显示已登录状态(如显示昵称和头像)。
    • 失败排查:这是最常见的坑。检查小程序AppID配置、后端登录接口逻辑(接收code调用微信接口换取openid)、JWT生成和返回格式。
  2. 首页与科室浏览测试:

    • 操作:登录后,浏览首页推荐的科室或医生,点击进入科室列表页。
    • 预期:页面正常渲染,数据来自后端接口。滑动流畅,无白屏或错误。
  3. 核心挂号流程测试:

    • 操作:
      1. 选择一个科室,进入医生列表。
      2. 选择一位有排班的医生,进入医生详情页。
      3. 选择可预约的日期和时间段。
      4. 点击“立即预约”,确认订单信息并提交。
    • 预期:提交后,页面提示“预约成功”,并跳转到“我的预约”页面。在该页面能看到刚创建的、状态为“待就诊”的订单。
    • 失败排查:这是业务核心。重点检查:选择时间段时,前端是否正确传递了doctor_idschedule_id;提交订单时,请求体是否包含必要的患者信息(如姓名、手机号,可从登录用户信息带出);后端接口是否校验了号源余量并进行了减库存操作。
  4. 取消预约测试:

    • 操作:在“我的预约”页面,找到刚才创建的订单,点击“取消预约”。
    • 预期:弹出确认框,确认后订单状态变为“已取消”。同时,后台该时间段的号源余量应恢复(如果业务逻辑如此设计)。
    • 失败排查:检查取消接口的逻辑,是否做了状态校验(如只能取消“待就诊”的订单)和库存回滚。

6. 接口 API 与批量任务

理解项目的 API 设计是深入学习和二次开发的关键。本项目采用 RESTful 风格,前后端通过 JSON 格式交换数据。

6.1 核心 API 接口示例

以下是一些关键接口的调用示例,你可以使用 Postman 进行独立测试。

1. 用户登录(微信静默登录/密码登录):

POST /api/auth/login HTTP/1.1 Host: localhost:8080 Content-Type: application/json { "code": "微信小程序登录凭证 code", // 用于微信登录 // 或使用账号密码登录 // "username": "patient01", // "password": "123456" }

成功响应:

{ "code": 200, "msg": "登录成功", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "userInfo": { "userId": 1, "nickname": "微信用户", "avatar": "https://..." } } }

后续请求需要在Header中携带Authorization: Bearer {token}

2. 查询某科室下的医生列表(带分页):

GET /api/doctor/list?deptId=1&pageNum=1&pageSize=10 HTTP/1.1 Host: localhost:8080 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

3. 查询医生的排班信息:

GET /api/schedule/doctor/3?date=2023-10-27 HTTP/1.1 Host: localhost:8080 Authorization: Bearer {token}

4. 创建预约订单:

POST /api/order/create HTTP/1.1 Host: localhost:8080 Authorization: Bearer {token} Content-Type: application/json { "doctorId": 3, "scheduleId": 15, "patientName": "张三", "patientPhone": "13800138000", "appointmentDate": "2023-10-27", "timeSlot": "上午" }

6.2 后台批量任务处理

在实际医院场景中,可能存在批量任务需求,本项目虽未直接实现,但可以基于现有架构扩展:

  • 批量导入医生/排班:可以在管理后台开发一个功能,允许上传 Excel 文件,后端解析后批量插入数据库。Spring Boot 可以使用EasyExcelApache POI库实现。
  • 定时任务:使用 Spring Boot 的@Scheduled注解实现定时任务,例如:
    • 每晚清理过期预约:将超过预约时间未支付的订单自动取消,释放号源。
    • 生成每日统计报表:统计各科室的预约量、取消率等。
// 示例:每天凌晨1点执行 @Component public class ScheduleTask { @Scheduled(cron = "0 0 1 * * ?") public void cancelExpiredOrders() { // 1. 查询所有状态为“待支付”且已过期的订单 // 2. 批量更新状态为“已取消” // 3. 对应排班的号源余量增加 System.out.println("执行取消过期订单任务..."); } }
  • 消息队列(高级):对于高并发下的预约请求,可以引入消息队列(如 RabbitMQ、RocketMQ)进行削峰填谷,将下单请求异步处理,提高系统稳定性。

7. 资源占用与性能观察

作为一个教学级项目,在本地开发环境下资源占用通常不高,但了解如何观察和优化对学习很有帮助。

  • 后端 (Spring Boot Jar 包):
    • 内存:启动后,根据堆内存设置(-Xmx),通常占用 300MB - 800MB。可以使用jconsolejvisualvmArthas工具监控。
    • CPU:在无并发请求时几乎无占用。在接口压测时,CPU 使用率会上升,主要消耗在业务逻辑处理和数据库 I/O。
  • 前端开发服务器 (Node.js):
    • 内存:npm run serve启动的 dev server 通常占用 100MB - 200MB。
    • CPU:主要在代码热重载(HMR)时有短暂波动。
  • 数据库 (MySQL):
    • 数据量不大时,内存占用很小。性能瓶颈通常出现在复杂的联表查询上,需要为高频查询字段(如doctor_id,schedule_date)建立索引。
  • 微信开发者工具:
    • 工具本身会占用一定内存和 CPU,模拟器运行小程序也会消耗资源。

性能优化建议:

  1. 数据库索引:确保order表的user_id,schedule_id,status等字段有索引。
  2. API 响应优化:对于列表查询,务必使用分页。避免一次性查询大量数据。
  3. 静态资源缓存:将前端 Vue 项目打包后,将静态文件(JS、CSS、图片)部署到 Nginx 并配置缓存策略,或使用 CDN。
  4. JVM 参数调优(生产环境):根据服务器内存调整 Spring Boot 应用的启动参数,例如-Xms512m -Xmx1024m

8. 常见问题与排查方法

在部署和运行过程中,你可能会遇到以下问题。这里提供系统的排查思路。

问题现象可能原因排查方式解决方案
后端启动失败,端口被占用8080 端口已被其他程序(如另一个Spring Boot应用、Tomcat)使用。1. 查看启动日志中的错误信息。
2. 使用命令netstat -ano | findstr :8080(Windows) 或lsof -i:8080(Mac/Linux) 查找占用进程。
1. 终止占用端口的进程。
2. 修改application.yml中的server.port为其他端口,如8082
前端管理端运行后,页面空白或接口4041. 后端服务未启动或地址错误。
2. 前端配置的 API 地址不对。
3. 跨域问题(CORS)。
1. 检查后端服务日志是否正常。
2. 浏览器 F12 打开开发者工具,查看 Console 和 Network 标签页,确认请求的 URL 和响应状态码。
3. 检查后端是否配置了 CORS。
1. 确保后端服务运行在正确的 IP 和端口。
2. 修改前端配置文件中的baseUrl
3. 在后端 Spring Boot 主类或配置类中添加全局 CORS 配置。
微信小程序无法登录,提示“登录失败”1. 小程序 AppID 配置错误。
2. 后端登录接口未正确处理微信code
3. 微信服务器网络问题(较少见)。
1. 核对manifest.json和微信开发者工具中的 AppID。
2. 查看后端登录接口日志,看是否成功调用微信接口https://api.weixin.qq.com/sns/jscode2session并获取到openid
3. 检查后端配置的微信小程序AppSecret是否正确。
1. 使用正确的 AppID 和 AppSecret。
2. 在后端代码中,确保使用codeAppIDAppSecret三个参数去请求微信接口。
3. 开发阶段,可在微信开发者工具中开启“不校验合法域名”临时测试。
预约时提示“号源不足”或“排班不存在”1. 前端传递的schedule_id错误。
2. 后端业务逻辑未正确校验或更新号源余量。
3. 高并发下出现超卖(教学项目可能未处理)。
1. 检查前端在选择时间段时,是否将正确的排班ID传递到了确认页面和提交接口。
2. 查看后端创建订单的接口代码,是否先查询余量>0,再执行“减余量+创建订单”的事务操作。
1. 确保前端数据传递正确。
2. 在后端使用数据库事务和乐观锁(如version字段)或悲观锁(SELECT ... FOR UPDATE)来防止超卖。
上传医生头像或图片失败1. 前端未正确组装 FormData。
2. 后端文件上传路径不存在或没有写权限。
3. 文件大小超过配置限制。
1. 浏览器 F12 查看上传请求的Payload是否是FormData格式。
2. 查看后端日志,是否有文件保存的异常信息。
3. 检查application.yml中的spring.servlet.multipart.max-file-size配置。
1. 确保前端使用uni.uploadFileFormData上传。
2. 在服务器创建对应的上传目录,并赋予写权限。
3. 调整配置文件中的文件大小限制。
管理后台页面样式错乱1. Element UI 等前端依赖未正确安装或版本冲突。
2. 浏览器缓存了旧版本资源。
1. 检查package.json中 Element UI 的版本,并重新npm install
2. 浏览器 F12 的 Network 标签页禁用缓存后刷新,或强制刷新页面(Ctrl+F5)。
1. 删除node_modulespackage-lock.json,重新npm install
2. 确保引用的 CSS 和 JS 文件路径正确。

9. 最佳实践与使用建议

为了让这个项目更好地服务于你的学习或毕设,这里有一些进阶建议:

  1. 代码阅读与理解:

    • 先跑通,再深究。不要一开始就陷入所有代码细节。先按照本文步骤让项目成功运行起来,体验完整流程。
    • 按模块学习。例如,先重点看“用户登录授权”模块(涉及小程序、后端、微信接口三方交互),再看“预约下单”模块(涉及库存扣减、事务管理)。
    • 善用调试。在 IDEA 和 VS Code 中打断点调试,是理解代码执行流程最有效的方式。
  2. 二次开发与定制:

    • 修改业务逻辑:例如,将简单的“号源余量”改为更复杂的“分时段号源”,或者增加“预约后15分钟内支付”的限制。
    • 增加新功能:例如,增加“就诊后评价”模块、医生在线咨询(WebSocket)、健康知识推送等。
    • 更换前端UI:如果你觉得管理后台的 Element UI 不够美观,可以尝试替换为 Ant Design Vue 或其它 UI 框架。小程序端也可以使用更丰富的 UniApp 插件。
  3. 部署上线(用于演示):

    • 后端:使用mvn clean package打包成jar文件,在服务器上通过java -jar your-app.jar --spring.profiles.active=prod命令启动。建议使用nohup或配置为系统服务。
    • 前端管理端:使用npm run build打包,将生成的dist文件夹内的静态文件部署到 Nginx 或 Apache 服务器。
    • 微信小程序:在微信开发者工具中点击“上传”,提交到微信小程序平台审核。审核通过后,即可发布体验版或正式版。注意:后端 API 地址需要配置为已备案的域名(HTTPS)。
  4. 毕设/课设报告撰写:

    • 项目介绍部分:可以直接引用本项目的背景和意义。
    • 技术选型部分:详细阐述为什么选择 Spring Boot、Vue、UniApp,以及它们的优势。
    • 系统设计部分:画出系统架构图、功能模块图、数据库 E-R 图。本项目已提供实体和表结构,你可以用工具(如 PDManer)反向生成 E-R 图。
    • 核心代码部分:挑选 2-3 个最复杂的业务逻辑(如创建订单的事务处理、微信登录流程)进行详细分析和代码展示。
    • 测试与部署部分:记录你的功能测试过程、遇到的问题及解决方法,并展示最终部署上线的成果。

这个医院挂号预约小程序项目提供了一个非常扎实的起点。它的价值不仅在于一套可运行的代码,更在于展示了一个现代 Web 应用的标准开发范式。通过动手部署、调试和修改它,你能够将 Spring Boot、Vue、UniApp 这些孤立的技术点串联成线,形成完整的全栈开发能力。建议你在成功运行的基础上,尝试至少进行一项功能扩展或优化,这会让你的学习或毕设成果更加出彩。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 3:08:17

千笔AI:专科生论文写作全流程智能解决方案

1. 千笔AI&#xff1a;专科生论文写作的智能助手作为一名经历过专科论文写作煎熬的老学长&#xff0c;我深知专科生在学术写作中面临的困境&#xff1a;文献检索能力弱、格式规范不熟悉、语言表达不专业。最近实测了一款名为"千笔AI"的论文辅助工具&#xff0c;它针对…

作者头像 李华
网站建设 2026/8/1 3:07:46

力扣-数组刷题经验整理

知识点概念&#xff1a;数组是存放在连续空间上的相同类型数据的集合。 注意点&#xff1a;数组下标从0开始&#xff1b;不能直接删除&#xff0c;只能覆盖。主要题型二分法、双指针、滑动窗口&#xff08;特殊的双指针&#xff09;、前缀和&#xff1b;二分查找&#xff1a;注…

作者头像 李华
网站建设 2026/8/1 3:04:02

AIGC降重工具对比:嘎嘎降AI、比话降AI与去AIGC技术解析

1. 主流AIGC降重工具横评背景解析2023年被称为AIGC&#xff08;人工智能生成内容&#xff09;爆发元年&#xff0c;各类AI写作工具如雨后春笋般涌现。但随之而来的问题是&#xff1a;如何判断内容是否由AI生成&#xff1f;如何对AI生成内容进行有效降重&#xff1f;这直接关系到…

作者头像 李华
网站建设 2026/8/1 3:03:33

3分钟从创意到成片:一位教师的AI视频创作转型记

3分钟从创意到成片&#xff1a;一位教师的AI视频创作转型记 【免费下载链接】auto-video-generateor 自动视频生成器&#xff0c;给定主题&#xff0c;自动生成解说视频。用户输入主题文字&#xff0c;系统调用大语言模型生成故事或解说的文字&#xff0c;然后进一步调用语音合…

作者头像 李华
网站建设 2026/8/1 3:02:09

二叉树高度计算:从递归到迭代的算法精解与工程实践

1. 从“数层数”到“算高度”&#xff1a;一个被低估的算法基本功最近在带新人做算法题&#xff0c;发现一个挺有意思的现象&#xff1a;很多朋友对“求二叉树高度”这个题目&#xff0c;第一反应是“这不就是数层数吗&#xff1f;”&#xff0c;然后随手写个递归就交差了。但真…

作者头像 李华