86899孕妇健康管理与健康知识普及系统---免费课设毕设源码分享

Godot 4.x 实现 JRPG 回合制战斗系统:架构、状态机与实战优化 游戏开发中,状态机是管理复杂逻辑流转的核心设计模式,尤其在回合制战斗这类事件驱动的场景中。其原理是通过定义有限的状态和明确的转移条件,来控制系统在不同阶段的行为,从而实现清晰、可维护的流程控制。这项技术的价值在于能够将杂乱的条件判断代码结构化,降低模块间的耦合度,提升代码的可读性和可扩展性。在游戏开发领域,状态机广泛应用于角色AI、UI流程、战斗系统等场景。本文以Godot引擎为例,深入探讨如何运用节点与信号驱动架构,构建一个健壮的JRPG(日式角色扮演游戏)回合制战斗系统。内容涵盖从核心的**状态机**设 阅读详情

摘  要

  目前社会对于孕期健康管理越来越重视,但是传统的孕期服务模式存在着信息分散、医患沟通方式单一、个性化健康指导缺乏等状况,孕妇很难得到系统的、连续的健康支持。创建一个把健康管理同知识传播结合起来的在线平台,成了改善孕期服务品质的重要途径。本课题使用Spring Boot框架和MySQL数据库,前端用Vue技术,在IntelliJ IDEA集成开发环境里完成孕妇健康管理、健康知识普及系统的设计与实现。系统以孕期用户、医护用户和管理员为对象,创建起知识科普、健康跟踪和医患交流一体化服务系统。孕期用户在系统中获取孕期知识、健康信息、通知,自行管理孕期信息,发起在线咨询或留言申请,收藏并点赞自己感兴趣的事情。医护人员按照权限可以查看孕妇健康档案、管理随访任务,进行在线交流提供指导,也可以参与知识内容的互动。管理员对系统基础数据进行全权管理,包括用户权限、知识分类、资讯内容、公告发布等各方面的管理,并使用操作日志审计系统的运行情况。系统运行结果表明,各个模块的功能齐全,界面操作流畅,很好地实现了孕妇和医护人员之间的信息交流,提高了孕期信息传递的效率,对提高健康知识的可及性和孕期管理的连续性起到了一定的作用。

关键词:孕妇健康管理;SpringBoot;Vue;在线沟通;知识普及

Abstract

  With more stress placed on managing mothers’health, there are problems with old services, they give out pieces of info, have few ways to talk and can’t tailor advice well so expectant mums don’t get complete support that keeps going. A good online platform integrating health management and knowledge dissemination is necessary to enhance the level of maternal care. For my project I have made use of Maternal Health Managemnt and Dissemination of knowledge using SpringBoot frameworkmysql backend where all the queries are being executed. Frontend of it has been done through Vue in InteliJ Idea. The system is made up of three parts: Pregnant Users,Medical StaffAndAdministrators which will have a system involved in Health education,Health Tracking and Patient to Doctor Interaction. Pregnant users get pregnant stuff, health info, and notices; they manage their pregnancy record; start online Q&As and follow-ups; and grab or hit content they like. Medical workers look at maternal health records based on their permission, take care of follow-up tasks, give advice online, and communicate with knowledge materials. Administrator is responsible for system basics data and users & permissions of Knowledge and ContentsByCategory, anouncements etc. All kind of logs done in the system. System operation results show that all modules have been functioning well, interfaces are also connected smoothly; it can connect pregnant women and doctors, improve information dissemination speed, make it easier for people to obtain health knowledge about pregnancy and continuous pregnancy care.

Key words:Maternal health management;SpringBoot;Vue;Online communication;Knowledge dissemination

第一章 绪论

1.1 研究背景与意义

  孕妇群体在传统孕期管理模式下高度依赖医院产检、纸质记录册与电话咨询,信息传递呈现单向滞后特征,产检数据散落于不同科室系统,居家监测指标无法及时反馈给医护方,医患之间形成明显的信息壁垒[1]。随着移动互联网普及与医疗信息化建设推进,部分医院开始提供在线预约、报告查询等基础服务,孕产类论坛与资讯网站也相继出现,信息获取速度有所提升,但内容碎片化、缺乏个性化指导、优质知识难以沉淀、互动渠道单一等问题依然突出,现有服务形态难以支撑孕妇对即时反馈、持续追踪、深度参与的健康管理诉求[2]。开发一个包含健康数据记录和专业知识普及的系统,把孕妇居家信息同医护端指导连贯起来,削减人工记录和沟通时的信息偏差,促使孕期服务由间断式的产检转向持续性的健康管理,也为垂直领域医患协同平台创建赋予了可行的技术方案和实现途径。

1.2 国内外研究现状

  国内孕妇健康管理与知识普及相关平台的发展经历了从单一资讯服务到多角色协同交互的演进过程。早期阶段主要依托门户网站妇幼频道与综合医疗平台,以编辑发布式内容为主,用户仅能被动浏览科普文章与产检提醒,互动性较弱[3]。随着垂直母婴社区兴起,如宝宝树、妈妈网等平台逐步引入论坛交流与专家问答模块,用户生成内容开始沉淀,但健康数据记录功能仍较为简单,难以形成连续的健康档案[4]。近年来移动医疗应用大量涌现,部分妇幼保健院推出官方App,支持产检预约、报告查询、在线问诊等基础功能,但不同平台间数据孤立,且针对孕期个体差异的健康指导仍不够精细[5]。一些研究尝试结合微信平台开展系统化健康教育,证实了移动端干预在提升孕产妇健康知识掌握度方面的有效性,但此类模式多依赖于人工推送与社群维护,系统化程度有限[6]。以家庭支持为导向的个体化营养管理方案被应用于妊娠期糖尿病孕妇群体,其结果表明针对性健康干预能够改善孕妇自我管理能力,但此类方案往往局限于特定疾病人群,普适性平台仍较为缺乏[7]。国外在孕产妇健康管理领域起步较早,其系统建设呈现出从社交媒体属性向数据驱动实时交互转变的鲜明特征。以Bleacher Report为代表的体育健康延伸平台较早引入用户健康数据追踪功能,但其核心聚焦于运动人群,未专门针对孕妇群体进行深度优化[8]。SofaScore与Onefootball等应用以实时数据反馈见长,其数据可视化与即时提醒机制为孕妇健康监测提供了技术借鉴,但缺乏医疗专业人员的主动介入与随访管理[9]。欧洲部分豪门俱乐部官方App尝试将健康管理模块嵌入球迷服务体系,但其用户覆盖仍以体育爱好者为主,医疗资源对接不够充分[10]。Fantasy Premier League类平台通过游戏化机制提升用户参与度,为孕妇健康管理中的用户留存设计提供了参考,但其核心业务与医疗健康关联度不高[11]。一些医疗系统开始探索专门针对孕妇人群的健康管理应用,如部分医学中心通过整合远程监测与医护随访模块,初步形成了医患协同的管理闭环,但在知识普及内容的系统化构建与个性化推荐方面仍有待加强[12]。

1.3 主要研究内容

  本课题以孕妇健康管理及健康知识普及需求为出发点,利用Spring Boot框架和Vue前端技术开发出一套信息化系统,采用前后端分离架构以及B/S模式,使用MySQL做数据持久化。系统面向孕期用户、医护用户、管理员三个角色,包含孕期信息管理、在线交流、孕期随访、知识库分类管理、资讯发布、权限控制和操作日志审计等功能模块,主要解决孕妇居家健康数据和医生端随访信息相脱离、健康知识获取途径分散、医患互动缺少持续性的记录等问题,用规范的软件工程流程来完成从需求分析到系统测试的全部开发。

第二章 相关技术介绍

2.1 Spring Boot框架

  Spring Boot框架是基于Spring生态系统创建的,用自动配置机制和起步依赖来简化传统的Spring应用繁琐的配置过程。该框架使用约定优于配置的思想,开发人员只需要在项目中添加对应的场景starter依赖,框架就会自动加载默认配置,并且注入相关组件,从而大幅度简化项目的搭建过程。从运行机制上来说,Spring Boot内置了Tomcat、Jetty这些Servlet容器,将应用打包成可执行的JAR文件后可以直接运行,不需要额外把WAR包部署到外部服务器上,这样就使得开发和测试环境一致了。框架的核心容器管理着应用中的所有的Bean对象,使用IoC机制将对象的创建和依赖关系交给容器来处理,开发人员只需要用注解声明组件之间的依赖,容器在启动的时候就会自动完成装配。AOP模块给系统提供了一个横切关注点的统一处理能力,把日志记录、权限校验这些通用的逻辑从业务代码中分离出来。本系统采用Spring Boot作为后端基础框架,利用其自动配置特性快速搭建项目骨架,通过内嵌服务器实现独立运行,使开发过程聚焦于业务逻辑实现,同时借助框架提供的拦截器与监听器机制处理请求校验与操作审计,为系统稳定运行奠定了坚实基础[13]。

2.2 Vue.js框架

  Vue.js是创建用户界面的一种渐进式JavaScript框架,它的核心库只负责视图层,使用声明式的渲染方式和组件化开发模式,把页面拆分成一个个可以独立使用的组件单元。该框架响应式数据绑定机制使用Object.defineProperty来实现,数据对象发生改变的时候,框架可以准确地追踪到依赖的关系,并且可以异步地更新对应的DOM节点,从而避免了传统DOM操作造成的性能损失。虚拟DOM技术的使用使得框架在数据发生变化的时候先在内存中计算出差异,然后把最小化的更新批量地应用到真实的DOM上,从而大大提高了页面的渲染速度。组件系统可以将页面的功能封装成独立的模块,每个组件都有自己的模板、样式和逻辑,组件之间使用props传递数据、自定义事件进行通信,这样设计出来的代码更加清晰。本系统前端采用Vue框架构建,利用组件化思想将知识展示、信息表单、沟通面板等界面元素封装为独立组件,通过响应式数据绑定实现用户操作与界面状态的即时联动,虚拟DOM机制保障了页面在大量数据交互场景下的流畅体验[14]。

2.3 MySQL数据库技术

  MySQL数据库属于关系型数据库管理系统的典型代表,它采取客户端/服务器架构模式,用结构化查询语言来完成数据的定义、操作和管理。该数据库的存储引擎就是它的主要特点,InnoDB引擎是默认的存储引擎,支持事务处理、行级锁、外键约束,可以在并发操作的情况下保证数据的一致性。MySQL用B+树索引来组织数据页,索引的叶子节点存储完整的行数据或者主键值,这样的索引结构使得范围查询和等值查询都可以得到较好的检索效率。事务的ACID特性用重做日志和回滚日志来实现,写操作先写入日志再修改数据页,即使系统出现异常重启,也可以通过日志恢复到一致的状态。本系统选用MySQL作为数据持久化方案,利用其事务特性保障孕期信息更新、随访记录写入等关键操作的原子性,通过合理设计索引结构提升知识库查询与用户信息检索的响应速度,InnoDB引擎的行级锁机制在多用户并发访问场景下有效避免了锁冲突造成的响应延迟[15]。

2.4 前后端分离架构

  前后端分离架构是把用户界面层和业务逻辑层解耦的一种系统组织方式,前端主要完成界面渲染、用户交互等工作,后端主要是对业务进行处理、数据访问等,两者之间用标准接口进行数据交互。核心就是明确职责边界,前端独立部署在浏览器中,通过异步请求向后端发送数据操作指令,后端用RESTful风格暴露统一资源接口,用JSON格式传递响应数据,前端接收到数据之后完成视图更新,前后端开发可以同时进行。用户操作引起前端发出HTTP请求,请求经过网关层到达后端控制器,控制器解析请求参数之后调用服务层执行业务处理,最后把结果封装成统一响应结构返回给前端,前端依照响应状态码和数据内容来决定界面反馈的方式。因此,系统具有较好的横向扩展性,在访问量大的时候,可以把前端的静态资源放在内容分发网络上,把后端服务部署成集群并进行负载均衡,从而分摊请求的负担。本系统采用前后端分离架构组织整体结构,前端Vue应用与后端Spring Boot服务独立开发与部署,通过预先约定接口规范实现协同,后端仅关注孕期信息管理、随访任务处理、权限校验等核心业务逻辑,前端专注界面交互与用户体验优化,架构的松耦合特性使后续功能迭代与维护工作互不干扰[16]。

第三章 系统分析

3.1 功能需求分析

  孕期用户在系统前端完成各项操作。孕期用户登录后可浏览孕期知识文章,查看系统发布的健康资讯与最新公告,根据自身情况录入并管理孕期体重、血压、血糖、胎动等健康数据,通过在线沟通模块与医护用户进行实时交流,提交孕期随访请求并查看医护反馈,对感兴趣的知识或资讯内容进行收藏与点赞记录管理。孕期用户用例图如图3-1所示。

image

图3-1孕期用户用例图

  医护用户登录系统后访问前台功能页面。医护用户可查看孕期用户提交的健康信息记录,对分配的随访任务进行管理与反馈,通过在线沟通渠道与孕期用户交流指导,浏览孕期知识、健康资讯及最新公告内容,对优质内容进行收藏与点赞记录操作。医护用户用例图如图3-2所示。

image

图3-2医护用户用例图

  管理员通过后台管理模块完成系统配置与数据维护。管理员负责孕期用户与医护用户提交的孕期信息审核与管理,维护知识类型分类与孕期知识内容发布,对孕期随访任务进行统筹管理,发布最新公告与健康资讯,分配不同角色的操作权限,查看系统操作日志以审计运行状态。管理员用例图如图3-3所示。

image

图3-3管理员用例图

3.2 可行性分析

3.2.1 技术可行性

  系统使用前后端分离架构,前端用Vue框架搭建用户界面,后端用SpringBoot框架进行业务逻辑处理,MySQL数据库做数据持久化存储。Vue框架在国内已经有大量的项目实践,它的组件化开发模式以及响应式机制也已经得到了长时间的验证。Spring Boot框架用自动配置、内嵌容器简化了项目的搭建和部署过程,开发者只关注业务代码的编写。MySQL数据库的事务机制和索引结构可以达到多用户并发情况下数据一致性的要求。开发者前期已经掌握了Java编程语言、Spring框架基础以及数据库操作技能,可以独自完成系统的各个模块的开发。系统部署在本地服务器上,用常规的权限校验和输入过滤来防止常见的安全问题。因此,系统在技术方面是可行的。

3.2.2 操作可行性

  孕期用户日常使用移动设备和电脑浏览器获取信息、记录数据的习惯已经形成,系统界面采用卡片式布局和功能导航,用户登录后可以在首页快速找到知识浏览、数据录入、沟通交流等主要入口。医护用户主要对患者的病历查询、随访任务处理等进行操作,系统把相关功能集成到一个面板里,减少在各个页面之间切换的次数。系统上线之后,原有的以电话、门诊为主导的随访方式得以保留,系统只是作为补充渠道来提供数据记录和沟通服务,并没有对原有的工作流程的主体结构产生影响。之后的维护工作由管理员在后台进行内容更新和权限调整,操作人员只需要经过简单的培训就可以完成。因此,系统在操作方面是可行的。

3.2.3 经济可行性

  系统开发投入主要依靠人力成本,开发人员使用现有的计算机设备和开源开发环境来完成编码和测试工作,不需要额外购买硬件或者商业软件。前端Vue框架、后端Spring Boot框架、MySQL数据库都是开源技术,不需要支付授权费用。系统部署到本地服务器上,在运行的过程中只消耗基本的电力和网络资源,不会产生持续的高额费用。系统上线之后为孕妇群体提供免费的健康管理服务,给医护人员提供高效的随访工具,投入成本和预期的应用价值相匹配。。因此,系统在经济方面是可行的。

第四章 系统设计

4.1 系统架构设计

  系统采用前后端分离的模块化设计,将用户界面、业务处理与数据存储三层明确划分。前端基于Vue框架构建交互界面,用户通过浏览器发起请求,Axios组件以异步方式将请求数据封装为JSON格式发送至后端。后端基于Spring Boot框架构建RESTful风格接口,控制器层接收请求后调用服务层执行具体业务逻辑,服务层通过数据访问对象与MySQL数据库进行交互。数据库负责存储孕期用户信息、健康数据、知识内容及随访记录等核心数据,通过事务机制保障多表操作的一致性。这种分层架构使各模块职责清晰,前端专注于界面渲染与用户交互,后端聚焦业务处理与数据管理,前后端通过标准化接口协同工作,降低了模块间的耦合程度,便于后续功能扩展与维护[17]。系统整体架构如图4-1所示。

image 图4-1系统架构图

4.2 系统结构功能设计

  系统围绕孕期用户、医护用户与管理员三类角色构建功能体系。孕期用户可执行孕期知识查看、健康资讯获取、最新公告查阅、孕期信息管理、在线沟通、孕期随访、收藏记录与点赞记录操作。医护用户具备孕期信息查看、孕期随访管理、在线沟通、收藏记录、点赞记录、孕期知识查看、健康资讯获取、最新公告查阅权限。管理员负责孕期信息管理、知识类型维护、孕期知识发布、孕期随访管理、最新公告发布、健康资讯管理、权限分配与操作日志审计。该系统功能结构如图4-2所示。

image 图4-2系统功能结构图

4.3 系统流程设计

4.3.1 总体业务流程设计

  系统从用户登录入口开始,依据用户身份区分操作权限。孕期用户登录后进入前台界面,可浏览知识内容、管理个人健康数据、发起随访请求或与医护交流。医护用户登录后查看所负责的孕期用户信息,处理随访任务并提供指导。管理员登录后台系统,对内容、用户权限及系统日志进行统一管理。各类用户操作结束后退出系统,完成完整业务流程。系统总体业务流程如图4-3所示。

image 图4-3系统总体业务流程图

4.3.2 孕期知识浏览流程设计

  孕期用户进入知识模块后,系统加载知识分类列表与热门知识推荐。用户可按分类筛选知识内容,或通过搜索框输入关键词查询。系统根据用户选择返回对应知识列表,用户点击任一知识条目进入详情页面,查看完整知识内容、护理要点及评论区。用户在详情页可执行收藏或点赞操作,系统记录用户行为并更新相应计数。孕期知识浏览流程如图4-4所示。

image 图4-4孕期知识浏览流程图

4.3.3 孕期信息管理流程设计

  孕期用户进入信息管理界面后,系统展示用户已录入的健康数据列表。用户可点击添加按钮进入表单页面,填写孕期体重、血压、血糖、胎动记录等指标,上传产检报告文件后提交。系统对输入数据进行格式校验,校验通过后保存至数据库并返回列表页展示新增记录。用户还可对已录入数据进行修改或删除操作,系统同步更新数据库内容。孕期信息管理流程如图4-5所示。

image

图4-5孕期信息管理流程图

4.3.4 孕期随访管理流程设计

  医护用户进入随访管理模块后,系统展示分配给该医护的随访任务列表。医护用户选择任一任务查看孕期用户近期健康数据与历史随访记录。医护根据用户情况填写随访详情与备注,提交随访反馈。系统保存随访记录后更新任务状态,并将随访结果推送给对应孕期用户。孕期用户登录后可查看医护反馈内容,完成随访闭环。孕期随访管理流程如图4-6所示。

image

图4-6孕期随访管理流程图

4.3.5 在线沟通流程设计

  用户进入在线沟通模块后,系统加载好友列表与群聊列表。用户选择沟通对象后进入聊天界面,输入文本消息并点击发送。系统将消息封装后通过WebSocket连接推送至接收方,接收方在线时实时接收消息,离线时消息暂存待下次登录推送。用户可查看历史聊天记录,支持发送图片与文件附件。在线沟通流程如图4-7所示。

image

图4-7在线沟通流程图

4.4 数据库设计

  数据库设计遵循关系型模型的三范式原则,通过合理拆分数据表减少冗余存储。系统采用MySQL作为数据库管理系统,利用其事务机制保障孕期信息、随访记录、知识内容等核心数据的操作原子性。在表结构设计阶段,依据业务需求确定实体及其属性,为每个实体建立主键以唯一标识记录,通过外键约束维护实体间的参照完整性。索引策略针对高频查询字段进行优化,提升数据检索效率。规范化设计有效降低了数据更新时的异常风险,为系统稳定运行提供数据层支撑[18]。

4.4.1 E-R图设计

  孕期用户实体主要包括孕期用户id、用户姓名、用户手机、审核状态等。实体属性图如图4-8所示。

image 图4-8孕期用户实体属性图

  孕期信息实体主要包括孕期信息id、孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、用户姓名、用户手机、添加日期等。实体属性图如图4-9所示。

image 图4-9孕期信息实体属性图

  孕期随访实体主要包括孕期随访id、孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、随访日期、随访详情等。实体属性图如图4-10所示。

image 图4-10孕期随访实体属性图

  孕期知识实体主要包括孕期知识id、知识标题、知识类型、相关图片、发布时间、知识简介、知识内容等。实体属性图如图4-11所示。

image 图4-11孕期知识实体属性图

  知识类型实体主要包括知识类型id、知识类型等。实体属性图如图4-12所示。

image

图4-12知识类型实体属性图

  健康资讯实体主要包括资讯id、标题、文章分类、封面图、正文、点击数、点赞数等。实体属性图如图4-13所示。

image 图4-13健康资讯实体属性图

  最新公告实体主要包括公告id、标题、正文等。实体属性图如图4-14所示。

image 图4-14最新公告实体属性图

  医护人员实体主要包括医护人员id、医护姓名、医护电话、审核状态等。实体属性图如图4-15所示。

image 图4-15医护人员实体属性图

  用户账户实体主要包括用户id、用户名、昵称、密码、手机号码、用户组等。实体属性图如图4-16所示。

image 图4-16用户账户实体属性图

  系统E-R图如图4-17所示。

image 图4-17系统E-R图

4.4.2 数据库表设计

  孕期用户表主要是用来存储孕妇的基本信息。主要包括用户姓名、用户手机、审核状态、用户账户关联标识等字段。如表4-1所示。

表4-1孕期用户表

序号字段名类型长度是否非空是否主键备注
1孕期用户idint11是是唯一标识
2用户姓名varchar64否否孕妇姓名
3用户手机varchar16否否联系方式
4审核状态varchar16是否账户审核状态

  孕期信息表主要是用来记录孕妇日常健康监测数据。主要包括孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、用户姓名、用户手机、添加日期等字段。如表4-2所示。

表4-2孕期信息表

序号字段名类型长度是否非空是否主键备注
1孕期信息idint11是是唯一标识
2孕期体重varchar64否否体重数值
3孕期血压varchar64否否血压读数
4空腹血糖varchar64否否血糖值

  孕期随访表主要是用来存储医护对孕妇的随访记录。主要包括孕期体重、孕期血压、空腹血糖、餐后血糖、胎动记录、产检报告、随访日期、随访详情等字段。如表4-3所示。

表4-3孕期随访表

序号字段名类型长度是否非空是否主键备注
1孕期随访idint11是是唯一标识
2孕期体重varchar64否否体重数值
3孕期血压varchar64否否血压读数
4随访日期date-否否随访时间

  孕期知识表主要是用来存储健康科普文章内容。主要包括知识标题、知识类型、相关图片、发布时间、知识简介、知识内容等字段。如表4-4所示。

表4-4孕期知识表

序号字段名类型长度是否非空是否主键备注
1孕期知识idint11是是唯一标识
2知识标题varchar64否否文章标题
3知识类型varchar64否否分类归属
4发布时间date-否否发布日期

  知识类型表主要是用来对孕期知识进行分类管理。主要包括知识类型等字段。如表4-5所示。

表4-5知识类型表

序号字段名类型长度是否非空是否主键备注
1知识类型idint11是是唯一标识
2知识类型varchar64否否分类名称

  健康资讯表主要是用来存储健康资讯内容。主要包括标题、文章分类、封面图、正文、点击数、点赞数等字段。如表4-6所示。

表4-6健康资讯表

序号字段名类型长度是否非空是否主键备注
1资讯idint11是是唯一标识
2标题varchar125是是资讯标题
3文章分类varchar64是否分类归属
4正文longtext4294967295否否资讯内容

  最新公告表主要是用来存储系统通知与公告信息。主要包括标题、正文等字段。如表4-7所示。

表4-7最新公告表

序号字段名类型长度是否非空是否主键备注
1公告idint11是是唯一标识
2标题varchar125是否公告标题
3正文longtext4294967295否否公告内容

  医护人员表主要是用来存储医护工作人员的基本信息。主要包括医护姓名、医护电话、审核状态、用户账户关联标识等字段。如表4-8所示。

表4-8医护人员表

序号字段名类型长度是否非空是否主键备注
1医护人员idint11是是唯一标识
2医护姓名varchar64否否医生姓名
3医护电话varchar16否否联系方式
4审核状态varchar16是否账户审核状态

  用户账户表主要是用来存储系统登录账户信息。主要包括用户名、昵称、密码、手机号码、用户组等字段。如表4-9所示。

表4-9用户账户表

序号字段名类型长度是否非空是否主键备注
1用户idint11是是唯一标识
2用户名varchar16是否登录账号
3密码varchar64是否加密存储
4用户组varchar32否否角色归属

第五章 系统实现

5.1 孕期用户功能实现

5.1.1 孕期知识查看功能实现

  孕期用户通过知识浏览模块获取科普内容。前端发起请求后,KnowledgeOfPregnancyController调用getList方法,该方法从数据库查询知识列表并返回分页数据,支持按知识类型筛选与关键词搜索。系统根据用户请求参数动态构建查询条件,将符合条件的知识条目以JSON格式返回前端渲染。孕期知识查看界面如图5-1所示。

image 图5-1孕期知识查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.1.2 健康资讯查看功能实现

  健康资讯查看功能由ArticleController提供。前端调用get_list接口,控制器接收请求后解析查询参数,调用服务层select方法执行数据库检索。系统根据资讯分类、发布时间等条件筛选数据,将文章标题、封面图、正文摘要等信息封装后返回。用户点击任意资讯条目时,系统记录点击量并展示完整内容。健康资讯查看界面如图5-2所示。

image 图5-2健康资讯查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.1.3 最新公告查看功能实现

  最新公告查看由NoticeController处理。前端请求get_list接口获取公告列表,系统按发布时间倒序排列,返回公告标题、正文及发布信息。用户进入公告详情页时,控制器依据公告id查询单条记录并返回完整内容。该模块采用分页机制控制单次返回数据量,避免前端加载过多内容。最新公告查看界面如图5-3所示。

image 图5-3最新公告查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.1.4 孕期信息管理功能实现

  孕期信息管理由PregnancyInformationController实现。用户通过add方法提交健康数据,控制器接收请求参数后构建实体对象,调用addEntity方法完成数据入库。set方法用于修改已有记录,系统根据查询条件定位目标数据并更新字段。孕期信息管理界面如图5-4所示。

image 图5-4孕期信息管理界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String,Object> paramMap =service.readBody(request.getReader());

  PregnancyInformation pregnancy_information = newPregnancyInformation();

  pregnancy_information.setPregnancy_weight(paramMap.get("pregnancy_weight")==null?null:String.valueOf(paramMap.get("pregnancy_weight")));

  this.addEntity(pregnancy_information);

  returnsuccess(1);

  }

5.1.5 在线沟通功能实现

  在线沟通由UserChatFriendController与UserChatGroupController协同实现。用户通过get_friend_list获取好友列表,通过add_friend添加沟通对象。消息发送通过WebSocket实时推送,未读消息通过get_read_list接口查询。系统维护用户间好友关系与群聊关系,确保消息能够准确送达。在线沟通界面如图5-5所示。

image 图5-5在线沟通界面

  核心代码实现如下:

  @GetMapping("get_friend_list")

  public Map<String, Object>getFriendList(HttpServletRequest request) {

  Map<String,String> query =service.readQuery(request);

  Integer userId = Integer.parseInt(query.get("user_id"));

  map.put("list",service.selectUserChatFriend(userId));

  return success(map);

  }

5.1.6 孕期随访功能实现

  孕期随访由PregnancyFollowUpController处理。用户通过add方法发起随访请求,系统记录孕期体重、血压、血糖等指标及随访详情。随访记录与孕期用户关联,用户可查看历史随访反馈。系统在提交时校验必填字段,确保数据完整性。孕期随访界面如图5-6所示。

image 图5-6孕期随访界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String,Object> paramMap =service.readBody(request.getReader());

  PregnancyFollowUp pregnancy_follow_up = newPregnancyFollowUp();

  pregnancy_follow_up.setPregnancy_weight(paramMap.get("pregnancy_weight")==null?null:String.valueOf(paramMap.get("pregnancy_weight")));

  this.addEntity(pregnancy_follow_up);

  returnsuccess(1);

  }

5.1.7 收藏记录管理功能实现

  收藏记录由CollectController管理。用户添加收藏时,系统将内容来源表、来源id与用户id存入collect表。get_list接口返回当前用户的收藏列表,支持按内容类型筛选。用户可取消收藏,系统根据收藏id删除对应记录。收藏记录管理界面如图5-7所示。

image 图5-7收藏记录管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.1.8 点赞记录管理功能实现

  点赞记录由PraiseController处理。用户点赞时系统记录点赞人、内容来源及点赞状态,取消点赞时更新状态字段。get_list接口返回用户已点赞内容列表,支持按内容类型筛选。系统在知识详情页同步展示点赞状态与计数。点赞记录管理界面如图5-8所示。

image 图5-8点赞记录管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2 医护用户功能实现

5.2.1 孕期信息查看功能实现

  医护用户通过PregnancyInformationController的get_list接口查看所负责孕期用户的健康数据。系统根据医护用户id关联查询其负责的孕期用户列表,返回孕期体重、血压、血糖等指标记录。支持按用户姓名、手机号筛选,便于医护快速定位目标用户。孕期信息查看界面如图5-9所示。

image 图5-9孕期信息查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2.2 孕期随访管理功能实现

  医护用户通过PregnancyFollowUpController的set方法更新随访记录。系统根据随访id定位记录,医护填写随访详情与备注后提交,系统更新随访状态并将结果推送至对应孕期用户。随访任务列表按优先级排序,确保重要任务优先处理。孕期随访管理界面如图5-10所示。

image 图5-10孕期随访管理界面

  核心代码实现如下:

  @PostMapping("/set")

  @Transactional

  public Map<String, Object>set(HttpServletRequest request) throws IOException {

  Map<String,String> queryMap =service.readQuery(request);

  Map<String,Object> paramMap =service.readBody(request.getReader());

  PregnancyFollowUp pregnancy_follow_up = newPregnancyFollowUp();

  pregnancy_follow_up.setFollow_up_specificss(paramMap.get("follow_up_specificss")==null?null:String.valueOf(paramMap.get("follow_up_specificss")));

  this.setEntity(queryMap,configMap,pregnancy_follow_up);

  returnsuccess(1);

  }

5.2.3 在线沟通功能实现

  医护用户在线沟通功能与孕期用户共用同一套接口。医护通过get_friend_list获取已沟通用户列表,通过get_read_list查询未读消息。系统维护医护与孕期用户之间的好友关系,确保沟通记录双向可查。医护可向多个孕期用户发送随访提醒与健康指导。在线沟通界面如图5-11所示。

image 图5-11在线沟通界面

  核心代码实现如下:

  @GetMapping("get_friend_list")

  public Map<String, Object>getFriendList(HttpServletRequest request) {

  Map<String,String> query =service.readQuery(request);

  Integer userId = Integer.parseInt(query.get("user_id"));

  map.put("list",service.selectUserChatFriend(userId));

  return success(map);

  }

5.2.4 收藏记录管理功能实现

  医护用户的收藏记录管理功能由CollectController提供,接口与孕期用户相同。医护可收藏感兴趣的孕期知识或健康资讯,便于后续查阅。收藏列表按创建时间倒序排列,支持按内容类型筛选与取消收藏。收藏记录管理界面如图5-12所示。

image 图5-12收藏记录管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2.5 点赞记录管理功能实现

  医护用户点赞记录由PraiseController处理,功能逻辑与孕期用户一致。医护可对知识内容点赞,系统记录点赞状态并更新内容点赞计数。点赞列表支持按内容类型筛选,便于医护回顾已关注内容。点赞记录管理界面如图5-13所示。

image 图5-13点赞记录管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2.6 孕期知识查看功能实现

  医护用户孕期知识查看功能与孕期用户共用KnowledgeOfPregnancyController接口。系统返回知识列表时不区分用户身份,所有注册用户均可浏览。该模块支持按知识类型分类展示,便于医护查阅专业内容用于指导用户。孕期知识查看界面如图5-14所示。

图5-14孕期知识查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2.7 健康资讯查看功能实现

  医护用户健康资讯查看功能由ArticleController实现,与孕期用户共用接口。系统返回资讯列表时展示标题、封面图与发布时间,用户点击后进入详情页查看正文。资讯内容支持分类筛选与关键词搜索。健康资讯查看界面如图5-15所示。

图5-15健康资讯查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.2.8 最新公告查看功能实现

  医护用户最新公告查看功能由NoticeController实现,与孕期用户共用接口。系统返回公告列表时按发布时间倒序排列,用户可查看公告详情。该模块无需身份区分,所有用户均可获取系统通知。最新公告查看界面如图5-16所示。

图5-16最新公告查看界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.3 管理员功能实现

5.3.1 孕期信息管理功能实现

  管理员通过PregnancyInformationController管理所有孕期用户的健康数据。get_list接口支持按用户姓名、手机号筛选,返回完整数据列表。管理员可对异常数据进行修改或删除操作,确保数据准确性。该模块提供分页查询与批量操作功能。孕期信息管理界面如图5-17所示。

image 图5-17孕期信息管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.3.2 知识类型管理功能实现

  知识类型管理由TypeOfKnowledgeController实现。管理员通过add方法新增知识分类,通过set方法修改分类名称,通过del方法删除无效分类。系统在删除分类前检查是否有知识内容归属该分类,避免数据关联异常。知识类型管理界面如图5-18所示。

image 图5-18知识类型管理界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String,Object> paramMap =service.readBody(request.getReader());

  TypeOfKnowledge type_of_knowledge = newTypeOfKnowledge();

  type_of_knowledge.setType_of_knowledge(paramMap.get("type_of_knowledge")==null?null:String.valueOf(paramMap.get("type_of_knowledge")));

  this.addEntity(type_of_knowledge);

  returnsuccess(1);

  }

5.3.3 孕期知识管理功能实现

  孕期知识管理由KnowledgeOfPregnancyController实现。管理员通过add方法发布新知识,通过set方法修改已有知识内容,通过del方法删除知识。系统支持知识审核流程,通过update_examine_state接口更新审核状态。孕期知识管理界面如图5-19所示。

image 图5-19孕期知识管理界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String,Object> paramMap =service.readBody(request.getReader());

  KnowledgeOfPregnancy knowledge_of_pregnancy = newKnowledgeOfPregnancy();

  knowledge_of_pregnancy.setKnowledge_title(paramMap.get("knowledge_title")==null?null:String.valueOf(paramMap.get("knowledge_title")));

  this.addEntity(knowledge_of_pregnancy);

  returnsuccess(1);

  }

5.3.4 孕期随访管理功能实现

  孕期随访管理由PregnancyFollowUpController实现。管理员可查看所有随访记录,对异常随访进行修改或删除。系统支持按孕期用户姓名、随访日期筛选,便于管理员统计随访工作完成情况。孕期随访管理界面如图5-20所示。

image 图5-20孕期随访管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.3.5 最新公告管理功能实现

  最新公告管理由NoticeController实现。管理员通过add方法发布公告,通过set方法修改已发布公告,通过del方法删除公告。公告按创建时间倒序排列,支持置顶功能。最新公告管理界面如图5-21所示。

image 图5-21最新公告管理界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String, Object> addMap =service.readBody(request.getReader());

  this.service.insert(addMap);

  returnsuccess(1);

  }

5.3.6 健康资讯管理功能实现

  健康资讯管理由ArticleController实现。管理员通过add方法发布资讯,通过set方法修改资讯内容,通过del方法删除资讯。系统支持资讯分类管理,管理员可为资讯设置分类标签便于用户筛选。健康资讯管理界面如图5-22所示。

image 图5-22健康资讯管理界面

  核心代码实现如下:

  @PostMapping("/add")

  @Transactional

  public Map<String, Object>add(HttpServletRequest request) throws IOException {

  Map<String, Object> addMap =service.readBody(request.getReader());

  this.service.insert(addMap);

  returnsuccess(1);

  }

5.3.7 权限管理功能实现

  权限管理由AuthController与UserGroupController共同实现。管理员通过权限分配接口配置不同用户组的操作权限,包括增加、删除、修改、查询权限。系统根据用户组标识在登录时加载对应权限菜单。权限管理界面如图5-23所示。

image 图5-23权限管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

5.3.8 操作日志管理功能实现

  操作日志管理由OperationLogController实现。系统自动记录管理员的关键操作,包括操作人、操作模块、操作时间等信息。管理员通过get_list接口查询日志记录,支持按操作人、操作模块筛选,便于审计系统使用情况。操作日志管理界面如图5-24所示。

image 图5-24操作日志管理界面

  核心代码实现如下:

  @RequestMapping("/get_list")

  public Map<String, Object>getList(HttpServletRequest request) {

  Map<String, String> query =service.readQuery(request);

  Map<String, String> config =service.readConfig(request);

  List list =this.service.selectBaseList(this.service.select(query, config));

map.put("list",list);

map.put("count",this.service.selectBaseCount(this.service.count(query,config)));

return success(map);

  }

第六章 系统测试

6.1 测试目的

  系统测试旨在验证系统功能是否满足需求分析阶段确定的各项要求。通过执行测试用例检查孕期用户、医护用户、管理员三类角色的操作流程是否完整流畅,确认数据在新增、修改、删除、查询等操作中保持一致性与完整性。测试过程关注前端交互与后端响应的匹配程度,检验接口在边界条件下的处理能力。通过发现并修复潜在缺陷,确保系统运行稳定可靠,为后续实际部署与用户使用提供质量保障[19]。

6.2 测试方法

  系统测试使用黑盒测试和白盒测试两种方法结合的方式进行。黑盒测试侧重于对功能实现的完整性进行检验,根据需求文档来创建测试用例,保证各个模块在正常输入和异常输入时所产生出来的结果是符合预期的。白盒测试对核心业务逻辑进行检测,查看代码分支覆盖度,保证重要的路径得到充分的执行。测试时采用本地开发环境模拟多用户并发访问,测试系统在进行同时操作的时候保证数据的一致性。测试工具使用Postman进行接口调试与自动化测试,通过浏览器开发者工具监控前端请求响应状态,记录异常信息并定位问题根源[20]。

6.3 测试内容

  孕期信息管理模块测试旨在验证孕期用户录入日常健康数据的完整性与准确性。测试重点关注数据新增、修改、删除操作是否符合业务规则,检查系统对异常输入的处理能力。孕期信息管理测试如表6-1所示。

表6-1孕期信息管理测试用例表

测试项测试目的测试步骤预期结果实际结果
孕期数据录入验证用户能否成功提交健康数据填写孕期体重、血压、血糖等信息后提交数据保存成功,列表展示新增记录符合预期
孕期数据修改验证已录入数据的修改功能选择已有记录修改指标数值后保存修改后数据正确更新至列表符合预期
孕期数据删除验证数据删除操作的执行效果选择目标记录执行删除操作记录从列表中移除符合预期

  孕期随访管理模块测试针对医护用户处理随访任务的全过程。测试验证随访记录生成、随访反馈提交、随访状态更新等环节的逻辑正确性,确保医护与孕期用户之间的随访闭环能够完整执行。孕期随访管理测试如表6-2所示。

表6-2孕期随访管理测试用例表

测试项测试目的测试步骤预期结果实际结果
随访记录添加验证医护能否为孕期用户创建随访记录选择孕期用户填写随访详情后提交随访记录保存成功符合预期
随访反馈提交验证医护提交随访反馈的功能针对已有随访填写反馈内容反馈内容保存并推送至孕期用户符合预期
随访历史查看验证医护查看历史随访记录的功能进入随访管理模块浏览记录历史随访记录完整展示符合预期

  孕期知识管理模块测试针对管理员发布与管理知识内容的完整性。测试验证知识增删改查操作的执行效果,检查知识分类关联是否正确,确认知识审核流程能够正常流转。孕期知识管理测试如表6-3所示。

表6-3孕期知识管理测试用例表

测试项测试目的测试步骤预期结果实际结果
知识内容发布验证管理员发布新知识的功能填写知识标题、类型、内容后提交知识保存成功并在前端展示符合预期
知识内容修改验证已发布知识的修改功能选择目标知识修改内容后保存修改后内容更新展示符合预期
知识审核发布验证知识审核流程的执行效果对未审核知识执行通过操作知识状态变更为已通过符合预期

  健康资讯管理模块测试针对管理员发布健康资讯的功能。测试验证资讯增删改查操作的准确性,检查资讯分类标签的关联关系,确保前端能够正确获取并展示最新资讯内容。健康资讯管理测试如表6-4所示。

表6-4健康资讯管理测试用例表

测试项测试目的测试步骤预期结果实际结果
资讯内容发布验证管理员发布健康资讯的功能填写资讯标题、分类、正文后提交资讯保存成功并在前端展示符合预期
资讯分类管理验证资讯分类的维护功能为资讯选择或添加分类标签分类正确关联至资讯符合预期
资讯内容修改验证已发布资讯的修改功能选择目标资讯修改内容后保存修改后内容更新展示符合预期

  在线沟通模块测试针对孕期用户与医护用户之间的消息交互。测试验证消息发送与接收的实时性,检查未读消息记录与历史消息查询的准确性,确认沟通双方能够获取完整的聊天记录。在线沟通测试如表6-5所示。

表6-5在线沟通测试用例表

测试项测试目的测试步骤预期结果实际结果
消息发送验证用户能否成功发送消息进入聊天界面输入内容并发送消息出现在聊天记录中符合预期
消息接收验证接收方能否实时收到消息一方发送消息后观察接收方界面消息实时展示于接收方界面符合预期
历史记录查询验证聊天记录的保存与查询功能进入聊天界面查看历史消息历史消息完整展示符合预期

  权限管理模块测试针对管理员配置用户组权限的功能。测试验证权限分配后不同角色的菜单展示是否正确,检查权限控制的精确性,确保用户只能访问被授权的功能模块。权限管理测试如表6-6所示。

表6-6权限管理测试用例表

测试项测试目的测试步骤预期结果实际结果
权限分配验证管理员为用户组分配权限的功能选择用户组配置操作权限后保存权限配置保存成功符合预期
权限生效验证验证权限分配后用户访问控制的有效性使用被分配权限的账户登录系统菜单显示与分配权限一致符合预期
权限修改验证已分配权限的修改功能调整用户组权限配置后重新登录权限变更立即生效符合预期

  操作日志管理模块测试针对系统操作记录的完整性与可追溯性。测试验证管理员操作是否被正确记录,检查日志查询与筛选功能的有效性,确保日志信息能够满足审计需求。操作日志管理测试如表6-7所示。

表6-7操作日志管理测试用例表

测试项测试目的测试步骤预期结果实际结果
操作记录验证管理员操作是否被记录执行各类管理操作后查看日志操作记录正确保存符合预期
日志查询验证日志查询功能的准确性按操作人、操作模块筛选日志筛选结果符合查询条件符合预期
日志导出验证日志导出功能的执行效果执行日志导出操作日志文件正确生成符合预期

测试结论

  系统功能测试包含孕期信息管理、孕期随访管理、孕期知识管理、健康资讯管理、在线沟通、权限管理、操作日志管理这七个主要模块。孕期信息管理模块中数据录入、修改、删除操作都正常执行,异常输入可以得到有效的拦截。孕期随访管理模块中,随访记录创建和反馈提交功能运行正常,随访信息可以被医护人员和患者之间准确传递。孕期知识管理及健康资讯管理模块中内容发布、修改、审核的全部流程是完整的,并且前端展示的数据和后端存储的数据保持一致。在线沟通模块的消息发送、接收以及历史记录查询均可以正常使用。权限管理模块权限分配和生效验证完成之后,用户访问控制正确。操作日志管理模块的记录保存、查询功能满足审计的要求。所有的测试用例都通过了,实际结果和预期结果一致。

总结

  孕期健康管理包含知识获取、数据监测、医患沟通等各个部分,传统的模式存在着信息零散、互动途径单一、个性化指导欠缺等状况。本课题以孕妇健康管理及健康知识普及的需求为出发点,创建并完成了一个基于Spring Boot和Vue的信息化系统,把健康数据记载,知识内容推送以及在线随访服务融合到同一个平台上。系统达到预期的设计目的,较好地实现了孕妇和医护人员之间的信息传递,提高了孕期信息传递的效率,为提高健康知识可及性、孕期管理连续性提供技术支持。

  系统开发按照软件工程规范流程,从需求分析开始确定孕期用户、医护用户、管理员三个角色的功能边界,完成系统的架构设计、功能模块划分、数据库结构设计、前后端编码实现以及功能测试。技术上采用前后端分离架构,后端使用Spring Boot处理业务逻辑,前端使用Vue创建用户界面,MySQL数据库做数据持久化存储。孕期用户可以浏览知识资讯、管理健康数据、提出随访请求并同医护沟通,医护用户可以查看孕妇健康档案、安排随访任务并给予指导,管理员对内容的发布进行管控,对用户的权限进行设置,并对操作日志进行审计。各个模块的功能齐全,界面操作顺畅,测试结果符合预期。

  由于开发时间以及个人能力所限,该系统还存在着一些不足。健康数据录入依靠用户手动输入,没有智能穿戴设备进行自动采集。在线沟通模块只支持文本、图片的传输,没有语音和视频通话的功能。知识内容推送策略比较单一,没有根据用户的健康指标来实现个性化的推荐。系统部署在本地服务器上,并没有对大规模并发访问进行专门的优化。

  后续工作可以从以下方面进行改进。依靠物联网技术完成智能设备数据的自动同步,缩减用户手动输入的工作负担。增加语音、视频通信功能,丰富医患互动方式。根据用户健康档案和行为数据来建立个性化的推荐算法,提高知识推送的准确性。优化系统部署方案,为实际推广应用打下基础。该系统对于孕期健康管理垂直领域的应用具有较好的前景,可以为类似的医患协同平台的创建提供借鉴。

参考文献

[1] 赵倩,吕丽红,杨凯,等.基于全外显子组测序的无创产前筛查在罕见单基因病诊断中的临床应用及效能评估[J].临床医学, 2026, 46(3): 72-76.

[2] 田一凡,秦金璐.基于系统设计理论的特殊人群智能药盒包装设计——以孕妇群体为例[J].上海包装, 2025(10): 6-9.

[3] 洪锦秀,李琼兰.基于潜在剖面分析的孕妇健康促进行为状况及影响因素研究[J].海峡预防医学杂志, 2024, 30(6): 90-93.

[4] 陈淑红.基于微信平台结合系统性健康教育在孕产妇健康管理中的应用效果[J].医药前沿, 2024, 14(33): 110-112.

[5] 张浩洋,陈晔昕.全国巾帼文明岗江门市妇幼保健院健康管理中心:巾帼绽芳华服务暖侨乡[N].江门日报, 2026-03-11(A03).

[6] 徐若兰.基于家庭支持的个体化医学营养治疗对妊娠期糖尿病孕妇自我管理能力的影响[D].南宁:广西中医药大学, 2024.

[7] 朱启坤,王承玲,李仁兰,等.基于Meleis过渡理论的移动健康管理方案在妊娠期糖尿病孕妇分娩准备中的应用[J].重庆医学, 2026, 55(5): 678-685.

[8] Naveed M, Gienger E, Locklear T, et al. Severe Obesity Management in a Large Academic Health System: A Retrospective Evaluation of Metabolic Bariatric Surgery Counselling Practices[J]. Clinical Obesity, 2026, 16(2): e70077.

[9] Viana J, Morgan A, Alemañy M G, et al. WCN26-5806 Prescribing Physical Activity and Exercise in CKD: A Training Program for Exercise and Health Care Professionals by the Global Renal Exercise Network[J]. Kidney International Reports, 2026, 11(4S): 106084.

[10] Clark C, Friedland R, Becker P, et al. WCN26-6293 CO-DESIGNING A MOBILE HEALTH APPLICATION TO IMPROVE ENGAGEMENT AND OUTCOMES IN DIALYSIS CARE: A MULTI-SITE EVALUATION IN SOUTH AFRICA[J]. Kidney International Reports, 2026, 11(4S): 106028.

[11] MEDINA E, ALARCON M. WCN26-7381 NEPHROLOGICAL EVALUATION OF PREGNANT WOMEN REFERRED BY GYNECOLOGY: A CASE SERIES FROM A TERTIARY CARE HOSPITAL[J]. Kidney International Reports, 2026, 11(4S): 105434.

[12] Soriano R D, Alemany M G, Wilund R K, et al. WCN26-8478 KNOWLEDGE AND PRACTICES ON EXERCISE PRESCRIPTION FOR PATIENTS WITH CHRONIC KIDNEY DISEASE AMONG HEALTHCARE PROFESSIONALS IN MEXICO[J]. Kidney International Reports, 2026, 11(4S): 106093.

[13] 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.

[14] 古凌岚,肖蓉,袁宜英.Vue.js前端开发基础及项目化应用[M].北京:人民邮电出版社,2024:556.

[15] 方玲玲.MySQL数据库应用技术[M].北京:人民邮电出版社,2024:204.

[16] 王慧芳,陈玉.项目驱动制在Java EE框架开发课程中的应用研究[J].现代信息科技,2024,8(3):195-198.

[17] 皇甫大恩.基于微服务架构的JavaWeb开发实践[J].开封大学学报,2023,37(2):93-96.

[18] 柯妍,孙佳留,朱士飞,等.基于MySQL的煤质信息数据库设计[J].资源信息与工程,2024,39(3):117-121.

[19] 林育蓓,汤德佑,汤娜.数据库技术及应用[M].北京:机械工业出版社,2024:302.

[20] 刘雄华.软件测试技术[M].武汉:华中科技大学出版社,2023:243.

致谢

  本论文得以顺利完成,离不开师长、亲友的关心与帮助,在此谨表谢忱。

  诚挚感谢我的指导教师。从选题、开题,到论文撰写与多次修改,直至最终定稿,老师始终以严谨的学术精神和高度的责任心,给予我悉心指导。老师治学严谨、诲人不倦,使我受益良多。同时,感谢导师在技术实践方面提供的专业指导,为研究的工程应用提供了有力支撑。

  毕业设计的创作过程,对我而言是一次宝贵的历练。从初期的茫然无措,到中期面对理论难点与瓶颈时的反复摸索,再到后期的豁然贯通,这一过程让我深刻体会到学术研究的艰辛与乐趣。回顾四年大学生活,我顺利完成专业知识体系的构建,此番成长,得之不易,亦倍感珍惜。

  感谢学院全体老师与辅导员的辛勤栽培与悉心关怀,为我的求学之路奠定了坚实基础。感谢同窗好友与实验室伙伴,在日常学习与生活中的互助与陪伴,让这段时光格外充实而温暖。

  最后,感谢我的家人,你们始终是我最坚强的后盾。养育之恩,无以为报,唯有以不懈努力,回馈社会,不负所望。

🎁 点赞收藏免费领取 · 项目源码 + 数据库

家庭弱电最实用的功能,网线面板如何接线 按照规范,我国宽带入户线按B接法,即568B标准,从后面看,从左到右:1橙白,2橙,3绿白,4蓝,5蓝白,6绿,7棕白,8棕,即和水晶头的接法一致。做水晶头的时候,要注意排好线序,把8根线的头剪齐,留下大约1.8公分,插入水晶头的时候,水晶头要尾巴向下,把线插到水晶头的底端,用网线钳子夹紧。具体是:第1脚——橙白、第2脚——橙色、第3脚——绿白、第4脚——蓝色、第5脚——蓝白、第6脚——绿色、第7脚——棕白、第8脚——棕色,除了四根带颜色的线橙、绿、蓝、棕外,每一根白线上都有线标橙、绿、蓝、棕。 阅读详情

相关推荐

XC95144XL-10TQG144I Xilinx XC9500XL 高性能 CPLD

XC95144XL-10TQG144I 属于 Xilinx 的 XC9500XL 高性能 CPLD 家族,是一颗面向 3.3V 低电压系统的可编程逻辑器件。该器件以小封装、高速响应和良好的系统兼容性为设计目标,常用作系统控制/ glue-logic、I/O 缓冲、状态机、总线桥接与接口协议前端等场景中的可重编程逻辑单元。产品支持现场(in-system)编程与 IEEE-1149.1 JTAG 边界扫描,能在系统板上直接更新逻辑。

2403_90082736的博客 1059

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 196

博途V17 & PLCSIM & FactoryIO 连接教程

PLCSIM V17 和 FactoryIO 连接教程前言一、软件版本二、连接步骤1. 连接PLCSIM2. 博途编程3.连接FactoryIO总结 前言 该文详细讲解了新手入门博途,并通过使用自带PLCSIM和FactoryIO实现连接。 一、软件版本 TIA Portal V17 S7-PLCSIM V17 Factory IO V2.5.1 二、连接步骤 1. 连接PLCSIM 打开PLCSIM 进入项目模式 新建仿真项目 2. 博途编程 将F

soledad_chao的博客 2万+

Spring Boot 工程通用能力建设:声明式事务定制与 Redis 缓存实践

本文探讨Spring Boot中声明式事务的进阶实践,通过解耦“切点”与“事务属性”,实现灵活控制。核心包括:基于方法名的只读规则(如get*、find*自动设为只读),组合事务属性源确保@Transactional注解优先于命名规则,以及自定义切点实现事务统一织入。该方案提升代码可维护性,避免误写,同时支持特殊场景覆盖,构建更健壮的事务治理体系。

BADAO_LIUMANG_QIZHI的博客 242

webrtc进阶-- FlexFEC 实现原理与调试分析(m80 代码对齐版)

WebRTC 中 FlexFEC 技术解析与调试指南 摘要:本文深入分析 WebRTC 的 FlexFEC(灵活前向纠错)技术实现原理,重点探讨其在 m80 版本中的协商机制、接收侧恢复流程以及 SFU 场景下的特殊处理。文章指出 FlexFEC 通过动态冗余策略提升弱网抗丢包能力,详细解析了编解码器分配、SSRC 映射、包恢复等关键环节,并提供了针对 XR+SFU 场景的调试建议。调试时可重点关注 FEC 包接收与媒体包恢复日志,以验证链路有效性。

HOSTEN的博客 48

操作系统实验四 进程运行轨迹的跟踪与统计(哈工大李治军)

实验4 进程运行轨迹的跟踪与统计 实验目的 掌握 Linux 下的多进程编程技术; 通过对进程运行轨迹的跟踪来形象化进程的概念; 在进程运行轨迹跟踪的基础上进行相应的数据统计,从而能对进程调度算法进行实际的量化评价,更进一步加深对调度和调度算法的理解,获得能在实际操作系统上对调度算法进行实验数据对比的直接经验。 实验内容 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以

leoabcd12的博客 4652

Spring Boot 缓存一致性怎么保证?@Cacheable、@CacheEvict 与事务提交时机实战

Spring Boot 项目中,为什么数据库更新成功后,接口仍然返回旧数据?本文从 Spring Cache 的工作机制入手,结合 @Cacheable、@CacheEvict、Caffeine 和事务同步回调,分析缓存失效时机、事务提交顺序及并发回填等常见问题,并提供代码示例、解决方案和测试思路,帮助开发者设计更可靠的缓存更新机制。

代码不止,探索不息 249

PCB层叠结构与阻抗计算

1.Core 和 PP PCB两个重要组成部分:Core 和 Prepreg(半固态片,简称PP)。 如下图所示, Core 的两个表面都铺有铜箔,可作为信号层、电源层、地层等导电层,Core的上下表面之间填充的是固态材料; PP的表面不铺铜,在PCB中起填充作用,其材质是半固体的树脂材料,因此比Core略软一些。 在制作多层板时,需配合使用Core和PP,一般在两个Core 之间应选PP作为填...

sinat_15677011的博客 1万+

Spring Boot 提速记:启动 40 秒到 8 秒,GC 停顿从 850ms 降到 60ms

面向线上 Spring Boot 服务,给出启动侧延迟初始化与 AOT 编译、运行侧 GC 与虚拟线程选型,再用分层压测验证收益,附可复制的参数与代码。

2301_78967866的博客 359

【100%通过率】华为OD机试真题 Java&Go 实现【查找单入口空闲区域】【2022.11 Q4 新题】

给定一个 m xn 的矩阵,由若干字符 和0构成,X表示该处已被占据,0"表示该处空闲,请找到最大的单入口空闲区域.解释:空闲区域是由连通的O组成的区域,位于边界的0可以构成入口,单入口空闲区域即有目只有一个位于边界的0作为入口的由连通的'O"组成的区域。 如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

MISAYAONE的博客 2万+

39、信号流图:解决线性代数方程组的图论方法

本文介绍了信号流图理论在求解线性代数方程组中的应用,重点阐述了Coates方法和Mason方法的原理、步骤及对比分析。通过图论视角,将矩阵运算转化为对有向图结构的分析,利用1-因子、1-阶连接、前向路径和反馈回路等概念,推导出方程组解的拓扑公式。文章结合具体实例演示两种方法的计算过程,并总结其在电路分析、控制系统和通信系统等领域的拓展应用,展示了信号流图理论的直观性与有效性。

pear55的博客 87

Spring Boot 4 + OpenTelemetry + OpenFeign:自动传播 TraceId 的完整实践

本文演示Spring Boot 4 + OpenTelemetry + OpenFeign环境下,通过引入feign-micrometer依赖,实现调用方通过OpenFeign自动传播traceparent请求头,确保跨服务调用链路中TraceId一致。验证显示:被调方日志中包含traceparent,且两端TraceId相同、SpanId不同,符合W3C Trace Context规范,完整实现链路追踪。

宋冠巡的博客 259

使用R语言读取和处理CSV数据集

查看数据集的结构str(data)# 查看数据集的摘要统计信息str()函数将显示数据集的结构信息,包括变量名称、类型和前几行的值。summary()函数将提供数据集的摘要统计信息,如均值、中位数、最小值、最大值等。

CyberGenius的博客 3856

Spring Boot 项目容器化与 Kubernetes 部署实战指南

本文档基于真实实践,总结了一套最简且可行的流程:将本地打包好的 Spring Boot JAR 包,制作成 Docker 镜像,推送到阿里云私有镜像仓库,并最终在 Kubernetes 集群中运行。

zmm0628的博客 215

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring Boot 4 升级为什么卡在 Jackson 3?包名、配置与兼容迁移指南

Spring Boot 4 默认使用 Jackson 3,给 Java 项目的 JSON 序列化和反序列化带来了新的迁移挑战。本文结合 Spring 官方升级指南,详细分析 Jackson 2 与 Jackson 3 的包名、依赖、API 和默认行为差异,介绍 JsonMapper 改造、配置迁移、兼容模式及 JSON 契约测试方法,并提供生产项目的渐进式升级建议,帮助开发者降低 Spring Boot 4 升级风险。

代码不止,探索不息 398

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Spring Boot 和 Spring Cloud 是什么关系

Spring Boot 与 Spring Cloud 是协同关系,非替代或升级。Boot 负责单个服务的快速启动与配置,Cloud 则解决多服务间的注册发现、调用、容错等分布式问题。两者能力不重叠:Boot 管进程内,Cloud 管进程间。Cloud 组件基于 Boot 的自动配置机制实现,依赖版本严格匹配,不可随意升级。是否使用 Cloud,取决于是否有跨服务治理需求,而非项目规模。小系统或已用 K8s 可无需引入完整 Cloud。

2401_89855466的博客 228

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Spring Boot 配置文件详解:从基础语法到 YAML 配置

配置文件用于将程序中易变的配置信息(如端口、数据库连接、密钥等)与代码分离,避免硬编码带来的维护困难。SpringBoot支持application.properties和application.yml两种格式,前者语法简单但冗长,后者结构清晰、可读性强,支持复杂数据类型如对象、列表、映射,且层级关系通过缩进体现。使用@Value或@ConfigurationProperties可实现配置注入。YML虽可读性高、跨语言通用,但对格式敏感,不适用于极复杂配置。

java_nnnn的博客 266

Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)

Spring Boot 用 SseEmitter 或 Flux 做大模型流式输出,前端却一次性收到全部内容、只收到第一个字或 30 秒后断开?本文用 Spring Boot 4.1.2 实测 5 个原因:controller 线程里 send、ContentCachingResponseWrapper 日志过滤器、默认 30 秒异步超时、Flux 没写 produces、Nginx 代理缓冲,并验证开 gzip 在 Tomcat 上不会让 SSE 变成一次性返回。

u011831527的博客 339

Spring Boot 实战:基于 Hutool + Session 实现图形验证码(从原理到完整项目)

本文实现了一个基于Hutool工具包的图形验证码系统,前后端协同完成验证码生成、校验与跳转功能。后端使用Hutool-captcha生成带干扰线的验证码,通过Session存储验证码及有效期(1分钟),并提供接口返回图片和校验结果;前端利用Ajax提交用户输入,通过jQuery动态刷新验证码图片并实时校验,错误时弹窗提示,正确则跳转至成功页面。整体设计解耦清晰,安全有效,适用于常见登录验证场景。

java_nnnn的博客 290

Java EE 进阶:7.Spring Boot 日志(第一弹)

Java EE 进阶:7.Spring Boot 日志(第一弹)

要努力去发光,而不是被照亮~ 219

Spring Boot 3.x + Spring Security 6.x 整合 JWT 实战:jjwt 与 java-jwt 两种工具库详解

在前后端分离项目中,身份认证是后端开发中非常重要的一部分。传统的 Session 认证需要服务端保存用户会话信息,而在分布式架构中,Session 的共享和管理会带来额外的复杂度。JWT(JSON Web Token)是一种常见的无状态身份认证方案。服务端在用户登录成功后生成 Token,客户端在后续请求中携带 Token,服务端通过验证 Token 的签名和有效期来识别用户身份。Spring Security 是 Spring 生态中非常成熟的安全框架,主要负责身份认证、权限控制和安全过滤器管理。

212

Spring Boot 性能优化实战:从启动加速到运行时调优

本文结合微服务扩缩容与高并发场景,梳理 Spring Boot 应用在启动速度与运行期性能上的优化路径。内容涵盖懒加载与类索引的配置细节、GraalVM AOT 编译的落地条件与边界、JVM 参数在容器环境下的正确设置、线程池与连接池的容量测算方法,以及基于 Arthas 和 JFR 的线上诊断流程。通过具体配置示例、压测对比思路和排查路径,给出可验证的调优步骤,帮助后端团队在有限资源下平衡冷启动成本与吞吐量稳定性。

2402_83344867的博客 381

在 IntelliJ IDEA 中关闭 DevTools(通常指 Spring Boot DevTools 热部署功能)

在 IntelliJ IDEA 中关闭 DevTools(通常指 Spring Boot DevTools 热部署功能)需要从等多个层面协同操作,才能确保彻底关闭,避免出现“删了依赖但热部署仍在生效”的常见问题。

BillKu的博客 342

一个端口能被两个程序同时监听吗:SO_REUSEADDR、SO_REUSEPORT Java 实测和 Spring Boot 端口被占照样启动的坑

一个端口能不能被两个进程同时监听?用 JDK 17 在 macOS 上实测 8 种绑定组合、SO_REUSEADDR、SO_REUSEPORT、TCP 与 UDP 同端口和 TIME_WAIT 重启,并复现 Spring Boot 端口被占却照样启动、本机请求被别的进程截走的坑,附 Port 8080 was already in use 的排查步骤。

u011831527的博客 243

SCA:一、eclipse中搭建Spring Boot4 + SCA 2025.1.0.0 + Nacos + OpenFeign 完整 Demo

本文基于Spring Boot 4与Spring Cloud Alibaba 2025.1.0,演示如何使用Nacos实现服务注册与Feign远程调用。通过创建Maven父子工程,配置Nacos注册中心,分别开发提供者(nacos-provider)和消费者(nacos-consumer)模块,利用Feign声明式接口完成跨服务调用。启动后访问/call/jangle即可验证服务间通信,完整展示了微服务架构下的服务发现与负载均衡实践。

博风_刺耳的博客(网络记事本) 265

Java EE 进阶:7.Spring Boot 日志(第二弹)

Java EE 进阶:7.Spring Boot 日志(第二弹)

要努力去发光,而不是被照亮~ 400
上一篇: 13361新疆旅游管理系统 ---免费课设毕设源码分享
下一篇: 13635篮球联赛管理系统的设计与实现---免费课设毕设源码分享
计算机毕业设计985
博客等级 码龄3年 1万+粉丝 1948原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值