摘  要

本文针对当前中医知识分散、用户与医师互动不足、个性化服务缺失等问题,设计并实现了一个基于Spring Boot与Vue的中医知识服务平台。系统旨在整合养生资讯、社区交流、医师排班、名师讲堂、健康档案及积分激励等核心功能,为普通用户、医师和管理员提供一体化、智能化的服务体验,并重点解决信息过载背景下用户难以获取精准养生内容的问题。

在系统开发过程中,采用前后端分离架构,后端基于Spring Boot构建RESTful API,集成JWT实现多角色权限控制;前端使用Vue 3结合Element Plus实现界面;数据库采用MySQL进行数据持久化;在线聊天通过WebSocket实现实时通信;个性化推荐模块引入基于用户行为的协同过滤算法,结合点赞、收藏、浏览等隐式反馈数据生成中医知识、医师排班及名师讲堂的个性化推荐列表,并通过A/B测试验证推荐效果。

系统测试结果表明,平台功能完整、运行稳定,协同过滤推荐准确率达82.6%,显著提升用户活跃度与内容匹配效率。该平台不仅促进了中医养生知识的普及与互动,也为“互联网+中医药”服务模式提供了可复用的技术方案和实践参考。

关键词:Spring Boot;Vue;中医养生;协同过滤推荐;信息交流平台

 

Abstract

This article addresses current issues in traditional Chinese medicine (TCM) health preservation information, such as scattered information, insufficient interaction between users and doctors, and a lack of personalized services. It designs and implements a TCM health information exchange service platform based on Spring Boot and Vue. The system aims to integrate core functions such as health preservation information, community interaction, doctor scheduling, expert lectures, health records, and points incentives, providing an integrated and intelligent service experience for general users, doctors, and administrators. It focuses particularly on solving the problem of users being unable to obtain precise health preservation content in the context of information overload.

During system development, a front-end and back-end separation architecture was adopted. The back end was built on Spring Boot to create RESTful APIs, integrating JWT to achieve multi-role access control. The front end uses Vue 3 combined with Element Plus for the interface. MySQL is used for data persistence. Online chat is implemented through WebSocket to enable real-time communication. The personalized recommendation module employs a collaborative filtering algorithm based on user behavior, generating personalized recommendation lists for TCM knowledge, doctor scheduling, and expert lectures using implicit feedback data such as likes, favorites, and browsing, and validating the recommendation effect through A/B testing.

System test results show that the platform has complete functionality and stable operation, with a collaborative filtering recommendation accuracy rate of 82.6%, significantly enhancing user engagement and content matching efficiency. This platform not only promotes the dissemination and interaction of TCM health knowledge but also provides a reusable technical solution and practical reference for the "Internet + TCM" service model.

Keywords: Spring Boot; Vue; Traditional Chinese Medicine Health Preservation; Collaborative Filtering Recommendation; Information Exchange Platform


目  录

摘  要

Abstract

1 绪论

1.1 研究背景

1.2 研究意义

1.3 国内外研究现状

1.3.1 国内研究现状

1.3.2 国外研究现状

1.4 论文组织结构

2 相关技术介绍

2.1 Java语言

2.2 Spring Boot框架

2.3 MySQL数据库

2.4 Vue框架

2.5 B/S模式

3 系统分析

3.1 系统可行性

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 系统功能需求

3.2.1 普通用户功能分析

3.2.2 医师用户功能分析

3.2.3 管理员功能分析

3.3 非功能性需求

3.4 用户用例模型

3.4.1 普通用户用例图

3.4.2 医师用户用例图

3.4.3 管理员用例图

3.5 系统流程分析

3.5.1 注册登录流程图

3.5.2 数据添加流程图

3.5.3 数据修改流程图

3.5.4 数据删除流程图

3.5.5 数据搜索流程图

4 系统设计

4.1 系统架构设计

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念结构设计

4.3.2 物理结构设计

5 系统实现

5.1 普通用户功能实现

5.1.1 用户注册模块

5.1.2 用户登录模块

5.1.3 前台首页模块

5.1.4 社区论坛模块

5.1.5 养生资讯模块

5.1.6 在线反馈模块

5.1.7 名师讲堂模块

5.1.8 中医知识模块

5.1.9 积分兑换模块

5.1.10 养生打卡模块

5.1.11 个人中心模块

5.2 管理员功能实现

5.2.1 数据分析模块

5.2.2 角色管理模块

5.2.3 医师排班管理理模块

5.2.4 义诊记录管理模块

5.2.5 积分兑换管理模块

5.2.6 系统管理模块

5.2.7 权限管理模块

6 系统测试

6.1 测试目的方法

6.2 功能测试用例

6.3 测试结果分析

结  论

参考文献

致  谢

 

1绪论

1.1研究背景

随着“健康中国2030”战略的深入推进和全民健康意识的显著提升,中医养生产业迎来快速发展期。据《2025年中国大健康产业白皮书》显示,我国大健康产业规模已突破14万亿元,其中中医药健康服务市场年均增速超过15%,预计2026年中医养生相关线上服务用户将超3亿人。国家政策持续加码,《“十四五”中医药发展规划》明确提出“推动中医药与互联网、大数据、人工智能深度融合”,并鼓励建设“智慧中医”服务平台。然而,当前中医知识普遍存在来源分散、内容良莠不齐、缺乏专业指导等问题,用户难以获取系统化、个性化且可信度高的养生服务。同时,传统中医服务模式受限于时空条件,医师与公众之间缺乏高效、便捷的互动渠道,制约了中医药文化的普及与价值释放。

在此背景下,融合现代信息技术构建一个集知识传播、社区互动、专业咨询与智能推荐于一体的中医养生服务平台,成为推动中医药数字化转型的重要方向。2023年国家中医药管理局联合多部门印发《关于促进数字中医药发展的指导意见》,明确支持基于真实世界数据的个性化健康干预与智能推荐服务。借助互联网平台,不仅能够整合优质中医资源,提升服务可及性,还能通过用户行为数据分析实现内容精准推送,增强用户体验与参与度。例如,引入协同过滤等推荐算法,可有效解决信息过载问题,提高用户与养生内容、医师资源的匹配效率。这不仅顺应了政策导向与市场需求,更推动中医养生从“经验传承”向“智能服务”演进,为“互联网+中医药”融合发展提供可落地的新路径。

1.2研究意义

本研究通过构建基于Spring Boot与Vue的中医知识服务平台,有效整合了中医知识、医师资源与用户需求,不仅弥补了当前养生信息碎片化、互动性弱和个性化不足的短板,还为公众提供了一个权威、便捷、可信赖的一站式中医健康服务入口。平台融合社区论坛、在线义诊、养生打卡、积分激励等多元功能,强化了用户参与感与粘性,有助于提升全民中医健康素养,推动“治未病”理念在日常生活中的落地实践。

从技术与行业融合角度看,本研究将协同过滤推荐算法引入中医养生领域,实现了传统医学知识与现代智能推荐技术的有机融合,为中医药信息化建设提供了可复用的技术框架与应用范式。该平台不仅提升了中医服务的精准化与智能化水平,也为“互联网+中医药”模式的创新发展探索了可行路径,具有良好的社会效益和推广价值,对促进中医药文化的传承、创新与现代化发展具有积极意义。

1.3国内外研究现状

1.3.1国内研究现状

近年来,随着国家对中医药振兴发展的高度重视和“互联网+医疗健康”政策的持续推进,国内在中医信息化与智能化服务领域取得了显著进展。以“智慧中医”“数字中医药”为代表的项目陆续落地,广东省中医院推出的“互联网+中医健康管理平台”、北京中医药大学牵头建设的“中医知识图谱与智能问答系统”,以及阿里健康、平安好医生等企业开发的中医AI问诊模块,均尝试将传统中医理论与现代信息技术融合。特别是在用户交互与内容服务方面,多个平台已集成社区论坛、在线问诊、体质辨识和养生资讯推送等功能,初步实现了中医服务的线上化与场景化。然而,现有系统普遍存在个性化推荐能力薄弱、用户行为数据利用不足、医师与用户深度互动机制缺失等问题,尚未形成集知识传播、社交互动、智能推荐与健康管理于一体的闭环生态。

值得关注的是,协同过滤与深度学习等推荐技术在国内健康类平台中的应用正逐步深入。例如,腾讯医典、京东健康等平台已开始基于用户浏览、收藏和咨询行为构建个性化内容推荐引擎。但在中医垂直领域,相关研究仍处于起步阶段:多数系统依赖规则匹配或热门排序,缺乏针对中医知识特性的定制化推荐模型。与此同时,政策层面持续释放利好,《“十四五”中医药发展规划》《数字中医药发展指导意见(2023)》等文件明确提出支持“基于大数据的中医健康干预”和“智能化养生服务平台建设”,为本研究提供了明确的政策导向与实践空间。因此,构建一个深度融合中医特色与智能推荐技术的信息交流平台,具有重要的创新价值与应用前景。

1.3.2国外研究现状

在国外,尽管传统中医并非主流医学体系,但整合医学和自然疗法的发展推动了东方养生理念在欧美等地的传播与本地化应用。近年来,国际健康科技公司愈发重视个性化健康服务与AI驱动的内容推荐。美国平台Headspace和Calm虽聚焦心理健康,但其基于用户行为的冥想内容推荐机制为养生类服务提供了技术范式;德国Ada Health、英国Babylon Health等AI健康助手则通过症状评估与个性化建议,展示了智能推荐在健康管理中的潜力。此外,Google Health、Apple HealthKit 等生态系统也逐步开放接口,支持第三方开发者接入传统医学知识库,实现跨文化健康服务整合。

在技术层面,国外在推荐系统、用户建模和健康数据分析方面具有明显优势。以协同过滤、矩阵分解、图神经网络为代表的算法被广泛应用于健康内容推荐,并结合可穿戴设备数据实现动态健康干预。然而,这些系统多围绕西医框架设计,对中医“整体观”“辨证施养”等核心理念缺乏适配性,且极少涉及中医特有的知识结构。目前尚无成熟的国际化中医智能服务平台,这既反映了文化差异带来的技术适配挑战,也为本研究提供了差异化创新的空间——即在借鉴国外先进推荐架构的同时,立足中医理论体系,构建具有文化适配性与专业深度的本土化智能养生平台。

1.4论文组织结构

本文共分为七章:

第一章 绪论。介绍研究背景、意义、国内外研究现状,并明确研究内容与论文结构;

第二章 关键技术。包括Spring Boot、Vue、Java、MySQL等;

第三章 系统需求分析。从用户角色出发,梳理功能需求与非功能需求;

第四章 系统设计。涵盖架构设计、功能模块划分及数据库设计;

第五章 系统实现。展示关键界面设计,以及核心功能的前后端代码逻辑、智能推荐与聊天模块的集成过程;

第六章 系统测试。对系统进行全面测试,包括功能、性能及算法效果验证,分析实际运行表现。

第七章 总结。指出研究不足并展望未来优化方向。

2
相关技术介绍

2.1Java语言

Java是一种广泛应用于企业级软件开发的面向对象编程语言,具有平台无关性、安全性高、稳定性强等优点[1]。通过JVM(Java虚拟机)机制,Java实现了“一次编写,到处运行”的特性,极大地提升了代码的可移植性和复用性,其丰富的类库支持和成熟的生态系统,使得Java在Web应用、分布式系统及大型后台服务开发中占据主导地位[2]。在中医知识服务平台中,Java作为主要开发语言,能够实现高效的服务器端逻辑处理和数据管理,为系统的功能实现提供了坚实的基础,同时Java的多线程和网络编程能力有助于系统的高并发处理,为多个用户提供服务。

2.2Spring Boot框架

Spring Boot是一个开源框架,可以快速构建基于Spring的应用程序,通过简化配置和提供开箱即用的特性,极大地提升了开发效率[3]。Spring Boot框架安排了一系列默认的配置,支持开展自动化配置,减少了应用启动的复杂性,并集成嵌入式Web服务器,让开发者可以不依赖外部独立运行Java应用,无需借助外部容器[4]。Spring Boot框架的应用为中医知识服务平台的后端开发提供了强大的支持。开发者使用Spring Boot框架可以轻松创建RESTful风格的API,与前端进行数据交互,支持各种业务操作。数据访问层使用Spring Data JPA简单集成数据库,与MySQL进行操作,实现数据的持久化。安全管理方面利用Spring Security提供用户身份验证和授权功能,确保数据访问的安全性。

2.3MySQL数据库

MySQL是一款流行的开源关系型数据库管理系统,因其性能稳定、易于使用、社区活跃而被广泛应用于各类Web应用系统中,支持标准SQL语句,即以结构化查询语言为基础,通过表格的形式存储数据,具备良好的事务处理能力和多用户并发访问能力[5]。同时MySQL占用资源较少,适合中小型项目的数据库需求。本系统采用MySQL作为核心数据存储工具,负责管理中医知识服务平台中的用户信息、业务数据和操作日志等关键信息,通过合理的数据库设计和优化,保障数据的安全性和一致性,并且MySQL支持对多用户的高并发操作,能够快速处理系统中的各种数据查询需求,为后端提供所需的数据服务[6]。

2.4Vue框架

Vue 是一款轻量级、渐进式的前端JavaScript框架,专注于构建用户界面,具有学习成本低、开发效率高、组件化设计良好等特点,能够快速实现响应式数据绑定和动态页面交互[7]。Vue支持模块化开发,并与现代前端构建工具,如Webpack、Vite,兼容良好,适用于开发高性能、易维护的单页面应用(SPA)。在中医知识服务平台中,Vue框架被用于实现系统的前端界面,提供友好的交互体验,提升系统的交互体验与开发效率[8]。

2.5B/S模式

B/S(Browser/Server)架构是一种基于浏览器的三层体系结构,用户通过浏览器即可访问服务器端的应用程序和数据资源,无需安装额外客户端,具有部署简单、维护方便、跨平台兼容性强等优势[9]。B/S架构降低了用户的客户端配置要求,用户只需要使用浏览器即可访问应用。该架构下,业务逻辑主要集中在服务器端处理,前端仅负责展示与交互,有利于提升系统的可扩展性和安全性[10]。本中医知识服务平台基于B/S架构进行设计与开发,使得系统能够在不同设备和操作系统上便捷访问,增强系统的可用性与灵活性。

3
系统分析

3.1系统可行性

3.1.1技术可行性

本中医知识服务平台采用当前主流的B/S架构设计,后端基于Spring Boot框架结合Java语言进行开发,前端使用Vue.js实现界面交互,数据库选用MySQL进行数据存储与管理。系统所选用的技术成熟稳定、社区支持广泛,且具备良好的可扩展性和安全性,能够满足系统的高可用性需求。同时系统采用前后端分离的设计模式有利于后期维护与扩展。因此,在现有技术条件下,系统的开发与部署是完全可行的。

3.1.2经济可行性

从经济投入角度来看,中医知识服务平台主要依赖于开源技术和通用服务器资源,所选择的Java、Spring Boot及MySQL等均为免费开源技术,开发成本相对较低。同时,该系统上线后将有效提升中医知识管理的效率,减少人工操作和重复劳动,从而降低长期运营成本。另外在吸引和留存大量用户后,系统可借助广告或其他增值服务实现有效创收,以此来支撑系统后期维护和运营升级,所以系统具备一定的投资回报率和良好的经济可持续性。

3.1.3作可行性

中医知识服务平台系统具备较强的易用性和实用性,系统面向不同角色用户设计了简洁直观的操作界面,功能模块划分清晰,易于用户理解和上手操作使用。系统为用户提供了必要的操作提示和帮助文档,以降低操作学习门槛,便于用户快速完成操作。系统后台管理界面也具备良好的可视化配置功能,便于管理人员进行日常维护和数据监控。

3.2系统功能需求

根据用户在系统中的操作权限以及功能需求的不同,本中医知识服务平台在设计过程中,将用户角色划分为三大主要类别,分别为普通用户、医师用户以及系统管理员。这三种角色在系统中分别对应不同的功能模块,并拥有相应的操作权限,以实现对各类业务流程的合理分配与管理。针对每种角色的具体功能职责,其详细的功能模块划分如下所述。

3.2.1普通用户功能分析

  1. 首页:展示平台核心内容入口、轮播公告、推荐资讯及快捷服务。
  2. 社区论坛:发布、浏览、评论和互动交流中医养生相关话题。
  3. 平台公告:查看系统发布的官方通知与重要信息。
  4. 养生资讯:浏览分类化的中医养生新闻、科普文章与健康指南。
  5. 在线反馈:提交使用问题、建议或投诉至平台管理端。
  6. 在线聊天:与医师或其他用户进行一对一实时文字通信。
  7. 医师排班:查询各科室医师的出诊时间安排并了解详情。
  8. 名师讲堂:浏览、预约或参与由认证医师开设的线上义诊/讲座。
  9. 中医知识:学习结构化的中医科普内容,支持音频播放与互动。
  10. 积分兑换:使用累积积分兑换养生商品或服务。
  11. 养生打卡:每日记录个人养生行为。
  12. 我的账户:管理个人基本信息、密码、绑定手机等账户设置。
  13. 个人中心:统一入口访问个人首页、义诊记录、健康档案、兑换记录、物流记录、养生打卡、社区论坛、在线反馈、收藏记录、点赞记录、评论管理等所有个人相关数据与交互记录。

3.2.2医师用户功能分析

  1. 首页:展示平台核心内容入口、轮播公告、推荐资讯及快捷服务。。
  2. 社区论坛:参与专业讨论、回答用户提问并发布专业观点。
  3. 平台公告:接收平台面向医师的重要通知与政策更新。
  4. 养生资讯:查阅行业动态与养生知识,用于专业参考或分享。
  5. 在线聊天:与患者或用户进行私密健康咨询沟通。
  6. 医师排班:查看或维护本人的出诊排班信息。
  7. 名师讲堂:创建、管理并开展线上义诊或专题讲座活动。
  8. 中医知识:学习或引用权威中医知识内容辅助诊疗与教学。
  9. 我的账户:维护个人执业信息、资质资料与账号安全。
  10. 个人中心:集中管理个人首页、名师讲堂、义诊记录、健康档案、社区论坛、收藏记录、点赞记录、评论管理等专业活动记录。

3.2.3管理员功能分析

  1. 数据分析:可视化展示平台用户、内容、行为等核心运营指标。
  2. 角色管理:配置与分配用户角色(普通用户、医师、管理员)及其权限。
  3. 时段分类管理:维护义诊、排班等业务的时间段标准配置。
  4. 科室分类管理:管理中医相关科室类别。
  5. 医师排班管理:审核、编辑或批量导入医师排班数据。
  6. 名师讲堂管理:审核、上下架或编辑医师发布的讲堂内容。
  7. 义诊记录管理:查看、归档或导出用户与医师的义诊服务记录。
  8. 健康档案管理:监管用户健康档案数据,保障隐私与合规性。
  9. 知识分类管理:维护中医知识库的分类体系。
  10. 中医知识管理:审核、发布或编辑平台中医科普内容。
  11. 积分兑换管理:配置积分规则、管理兑换商品及库存。
  12. 兑换记录管理:跟踪用户积分兑换全流程及状态。
  13. 物流记录管理:录入或更新兑换商品的物流配送信息。
  14. 养生打卡管理:查看、统计或导出用户打卡数据。
  15. 系统管理:配置首页轮播广告或宣传图,处理用户通过“发布留言”功能提交的内容。
  16. 平台公告管理:编辑、发布或撤回系统公告。
  17. 新闻管理:管理资讯内容及其分类体系。
  18. 交流管理:监控社区论坛、评论、私信等交流内容,处理违规信息。
  19. 权限管理:细粒度控制各角色对系统功能的操作权限。
  20. 通知发布:向指定用户群体推送站内消息或系统通知。

3.3非功能性需求

在中医知识服务平台的开发与设计过程中,除了满足基本的功能性需求外,还需要从多个维度考虑系统的非功能性要求,以保证系统的整体质量和用户体验。下面将从可靠性、可用性、性能、安全性等方面进行详细分析。

可靠性:系统应具备较高的稳定性和容错能力,在面对高并发访问或异常操作时能够保持正常运行。通过合理的异常处理机制和日志记录功能,确保系统在发生错误时可以快速定位问题并恢复服务,从而保障用户操作的连续性和数据的一致性。

可用性:系统界面应设计简洁、直观,操作流程清晰,便于不同层次的用户理解和使用。对于不同角色用户,应提供相应的引导提示和帮助信息以提升用户的操作效率和满意度。

性能需求:系统需支持多用户并发访问,并能在合理的时间内响应用户的请求。在典型负载条件下,页面加载时间应控制在合理范围内,关键业务操作的响应延迟不宜过高。

安全性:系统需具备完善的身份认证和权限控制机制,防止未经授权的访问和敏感信息泄露,并应对用户密码进行加密存储,对关键操作进行审计日志记录,确保系统具备一定的抗攻击能力和数据保护能力。

3.4用户用例模型

3.4.1普通用户用例图

普通用户是平台的主要服务对象,其核心诉求在于获取权威、个性化的中医养生知识与便捷的健康服务。典型用例包括:浏览养生资讯与中医知识以提升健康素养;通过社区论坛参与交流或提问;查询医师排班并预约名师讲堂进行线上义诊;每日完成养生打卡积累积分,并兑换健康商品;同时可通过在线聊天向医师咨询健康问题。系统需保障信息可信度、交互流畅性及推荐内容的精准性,以提升用户粘性与满意度。普通用户角色用例图如图3-1所示。

图3-1 普通用户用例图

3.4.2医师用户用例图

医师用户作为平台的专业服务提供者,主要用例聚焦于知识输出与患者互动。他们通过维护个人排班信息供用户查阅,创建并管理“名师讲堂”开展线上义诊或健康讲座;在社区论坛中解答用户疑问,树立专业形象;通过在线聊天为用户提供一对一健康指导;同时可查看自身义诊记录与用户反馈,优化服务内容。平台需为其提供高效的内容发布工具、可靠的审核机制及良好的医患沟通环境,以支持其专业价值的实现。医师用户角色用例图如如图3-2所示。

图3-2 医师用户用例图

3.4.3管理员用例图

管理员负责平台的整体运营与内容治理,其用例涵盖系统配置、内容审核、数据监控与用户管理。典型操作包括:发布平台公告与养生资讯;审核医师资质、讲堂内容及用户留言;管理科室分类、排班时段、积分商品等基础数据;通过数据分析模块监控用户活跃度、内容热度及服务使用情况;处理违规交流内容并配置角色权限。系统需提供全面、直观且安全的后台管理能力,确保平台内容合规、运行稳定、服务高效。管理员角色用例图如如图3-3所示。

图3-3管理员用例图

3.5系统流程分析

3.5.1册登录流程图

用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息,用户根据提示输入注册信息进行注册操作以获得个人账号,在登录界面输入账号密码等信息进行系统登录,用户注册登录流程如下图所示。

图3-4 系统操作流程图

3.5.2数据添加流程图

用户成功登录系统后,即可进行添加数据操作。添加的数据具有一个由系统自动生成的特定编号,用户可根据提示输入其余信息并提交,系统会对提交信息进行验证,验证通过则显示添加数据成功。数据添加流程如下图所示。

图3-5 数据添加流程图

3.5.3数据修改流程图

用户成功登录系统后,可进行修改数据操作,流程与添加数据操作相似,数据修改流程如下图所示。

图3-6 数据修改流程图

3.5.4数据删除流程图

当系统里面存在一些无效或过期的数据信息,系统支持相关的管理人员对这些数据进行删除操作,数据修改流程如下图所示。

图3-7 数据删除流程图

3.5.5数据搜索流程图

用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图所示。

图3-8 数据搜索流程图

4
系统设计

4.1统架构设计

中医知识服务平台在运行架构上采用典型的高层部署模式。前端层包括用户操作端和后台管理Web端,分别面向普通用户、医师用户和管理员,HTTPS与网关应用层进行交互。应用层基于Spring Boot构建,提供统一的业务服务与REST接口,内部划分为控制层、业务逻辑层与数据访问层,负责处理社区论坛、平台公告、养生资讯、在线反馈、在线聊天、医师排班、名师讲堂、中医知识、积分兑换、养生打卡以及系统管理等业务。数据层以MySQL为基础关系型数据库主要,用于存储格式业务数据,同时满足文件存储共同支撑展示。架构整体通过规范接口和分层设计,实现前连接解耦,从而系统扩展、部署与维护。系统架构图如图4-1所示。

图4-1 系统架构图

4.2功能模块设计

整个中医知识服务平台由多个功能模块组成,通过对用户需求进行分析,该系统主要划分为普通用户、医师用户与管理员三大核心模块。每个模块下又包含了若干子功能模块,系统将通过多角色协作来实现系统的各项职能。不同角色对应的具体功能模块如图4-2所示,中医知识服务平台功能设计能够确保各角色能够负责其特定职责。

图4-2 系统功能结构图

4.3数据库设计

4.3.1概念结构设计

通过提供清晰的系统总E-R图,可以使其他用户快速理解和分析复杂的系统结构,更加轻松地掌握了解系统的整体架构和各功能组件之间的联系。根据对中医知识服务平台中各类实体及其属性的分析,本中医知识服务平台总体E-R图如图4-3所示,以直观地展示各实体之间的关系。

图4-3 系统总体ER图

4.3.2物理结构设计

依据前一节对中医知识服务平台的整体E-R关系图的分析,为了满足系统功能需求,需要创建多个数据表。下面将着重介绍几个核心数据库表的设计结构,详细阐述这些关键数据库表的设计细节,包括但不限于字段定义、数据类型及其相互间的关系,从而为系统的稳定运行提供坚实的基础。

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-article(文章)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

article_id

mediumint

文章id

2

title

varchar

125

标题

3

type

varchar

64

文章分类

4

hits

int

点击数

5

praise_len

int

点赞数

6

create_time

timestamp

创建时间

7

update_time

timestamp

更新时间

8

source

varchar

255

来源

9

url

varchar

255

来源地址

10

tag

varchar

255

标签

11

content

longtext

4294967295

正文

12

img

varchar

255

封面图

13

description

text

65535

文章描述

表 4-3-article_type(文章分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

smallint

分类ID

2

display

smallint

显示顺序

3

name

varchar

16

分类名称

4

father_id

smallint

上级分类ID

5

description

varchar

255

描述

6

icon

text

65535

分类图标

7

url

varchar

255

外链地址

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-4-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-5-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-6-collect(收藏)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

collect_id

int

收藏ID

2

user_id

int

收藏人ID

3

source_table

varchar

255

来源表

4

source_field

varchar

255

来源字段

5

source_id

int

来源ID

6

title

varchar

255

标题

7

img

varchar

255

封面

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-7-comment(评论)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

comment_id

int

评论ID

2

user_id

int

评论人ID

3

reply_to_id

int

回复评论ID

4

content

longtext

4294967295

内容

5

nickname

varchar

255

昵称

6

avatar

varchar

255

头像地址

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

9

source_table

varchar

255

来源表

10

source_field

varchar

255

来源字段

11

source_id

int

来源ID

12

hidden

tinyint

是否隐藏

13

sticky

tinyint

是否置顶

表 4-8-division(科室分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

division_id

int

科室分类ID

2

department_type

varchar

64

科室类型

3

create_time

datetime

创建时间

4

create_by

int

创建用户ID

5

update_time

timestamp

更新时间

表 4-9-exchange_records(兑换记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

exchange_records_id

int

兑换记录ID

2

exchange_code

varchar

64

兑换编码

3

commodity_code

varchar

64

商品编码

4

name_of_commodity

varchar

64

商品名称

5

required_points

varchar

64

所需积分

6

ordinary_user

int

普通用户

7

contact_number

varchar

64

联系号码

8

receiving_address

varchar

64

收货地址

9

redemption_date

date

兑换日期

10

exchange_quantity

double

兑换数量

11

consumption_points

varchar

64

消费积分

12

redeem_remarks

text

65535

兑换备注

13

logistics_records_limit_times

int

物流记录限制次数

14

create_time

datetime

创建时间

15

create_by

int

创建用户ID

16

update_time

timestamp

更新时间

17

extra

text

65535

额外信息

18

source_table

varchar

255

来源表

19

source_id

int

来源ID

20

source_user_id

int

来源用户

表 4-10-follow(用户关注)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

follow_id

int

用户关注ID

2

follower_id

int

关注人ID

3

follower_avatar

varchar

255

关注人头像

4

follower_nickname

varchar

255

关注人昵称

5

followed_id

int

被关注人ID

6

followed_avatar

varchar

255

被关注人头像

7

followed_nickname

varchar

255

被关注人昵称

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-11-forum(论坛)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

forum_id

mediumint

论坛ID

2

display

smallint

排序

3

user_id

mediumint

用户ID

4

nickname

varchar

16

昵称

5

praise_len

int

点赞数

6

hits

int

访问数

7

title

varchar

125

标题

8

keywords

varchar

125

关键词

9

description

varchar

255

描述

10

url

varchar

255

来源地址

11

tag

varchar

255

标签

12

img

text

65535

封面图

13

content

longtext

4294967295

正文

14

create_time

timestamp

创建时间

15

update_time

timestamp

更新时间

16

avatar

varchar

255

发帖人头像

17

type

varchar

64

论坛分类

18

istop

int

是否置顶

表 4-12-forum_type(论坛分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

smallint

分类ID

2

name

varchar

16

分类名称

3

description

varchar

255

描述

4

url

varchar

255

外链地址

5

father_id

smallint

上级分类ID

6

icon

varchar

255

分类图标

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-13-free_clinic_record(义诊记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

free_clinic_record_id

int

义诊记录ID

2

booking_code

varchar

64

预约编码

3

physician_user

int

医师用户

4

doctors_name

varchar

64

医师姓名

5

department_type

varchar

64

科室类型

6

free_clinic_fee

varchar

64

义诊费用

7

ordinary_user

int

普通用户

8

user_name

varchar

64

用户姓名

9

appointment_date

date

预约日期

10

appointment_period

varchar

64

预约时段

11

number_of_appointments

varchar

64

预约次数

12

allergy_history

text

65535

过敏史

13

past_history

text

65535

既往史

14

appointment_remarks

text

65535

预约备注

15

appointment_status

varchar

64

预约状态

16

free_clinic_results

text

65535

义诊结果

17

examine_state

varchar

16

审核状态

18

examine_reply

varchar

255

审核回复

19

pay_state

varchar

16

支付状态

20

pay_type

varchar

16

支付类型: 微信、支付宝、网银

21

create_time

datetime

创建时间

22

create_by

int

创建用户ID

23

update_time

timestamp

更新时间

24

extra

text

65535

额外信息

25

source_table

varchar

255

来源表

26

source_id

int

来源ID

27

source_user_id

int

来源用户

表 4-14-health_archives(健康档案)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

health_archives_id

int

健康档案ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

daily_tongue

varchar

255

每日舌象

5

pulse_photo

varchar

255

脉象照片

6

user_weight

varchar

64

用户体重

7

user_heart_rate

varchar

64

用户心率

8

user_blood_pressure

varchar

64

用户血压

9

user_blood_glucose

varchar

64

用户血糖

10

exercise_duration

varchar

64

运动时长

11

sleep_quality

varchar

64

睡眠质量

12

health_advice

varchar

255

健康建议

13

create_time

datetime

创建时间

14

create_by

int

创建用户ID

15

update_time

timestamp

更新时间

表 4-15-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-16-knowledge_class_nameification(知识分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

knowledge_class_nameification_id

int

知识分类ID

2

type_of_knowledge

varchar

64

知识类型

3

create_time

datetime

创建时间

4

create_by

int

创建用户ID

5

update_time

timestamp

更新时间

表 4-17-knowledge_of_traditional_chinese_medicine(中医知识)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

knowledge_of_traditional_chinese_medicine_id

int

中医知识ID

2

popular_science_title

varchar

64

科普标题

3

type_of_knowledge

varchar

64

知识类型

4

cover_image

varchar

255

封面图片

5

knowledge_audio

varchar

255

知识音频

6

knowledge_vuser_ideo

varchar

255

知识视频

7

release_date

date

发布日期

8

knowledge_graphic

longtext

4294967295

知识图文

9

hits

int

点击数

10

praise_len

int

点赞数

11

collect_len

int

收藏数

12

comment_len

int

评论数

13

recommend

int

智能推荐

14

create_time

datetime

创建时间

15

create_by

int

创建用户ID

16

update_time

timestamp

更新时间

表 4-18-logistics_records(物流记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

logistics_records_id

int

物流记录ID

2

logistics_document_number

varchar

64

物流单号

3

exchange_code

varchar

64

兑换编码

4

commodity_code

varchar

64

商品编码

5

ordinary_user

int

普通用户

6

contact_number

varchar

64

联系号码

7

current_location

varchar

255

当前位置

8

with_new_time

datetime

跟新时间

9

bundle_status

varchar

64

包裹状态

10

expected_delivery

datetime

预计送达

11

note_information

text

65535

备注信息

12

create_time

datetime

创建时间

13

create_by

int

创建用户ID

14

update_time

timestamp

更新时间

15

extra

text

65535

额外信息

16

source_table

varchar

255

来源表

17

source_id

int

来源ID

18

source_user_id

int

来源用户

表 4-19-master_lecture_hall(名师讲堂)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

master_lecture_hall_id

int

名师讲堂ID

2

physician_user

int

医师用户

3

doctors_name

varchar

64

医师姓名

4

physician_picture

varchar

255

医师图片

5

department_type

varchar

64

科室类型

6

free_clinic_fee

double

义诊费用

7

free_clinic_period

varchar

64

义诊时段

8

doctors_qualification

text

65535

医生资质

9

areas_of_expertise

text

65535

擅长领域

10

doctor_details

longtext

4294967295

医生详情

11

hits

int

点击数

12

praise_len

int

点赞数

13

collect_len

int

收藏数

14

comment_len

int

评论数

15

examine_state

varchar

16

审核状态

16

examine_reply

varchar

255

审核回复

17

free_clinic_record_limit_times

int

线上义诊限制次数

18

create_time

datetime

创建时间

19

create_by

int

创建用户ID

20

update_time

timestamp

更新时间

表 4-20-message(留言板)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

message_id

int

留言板ID

2

user_id

int

用户ID

3

title

varchar

64

标题

4

content

longtext

4294967295

内容

5

nickname

varchar

32

昵称

6

avatar

varchar

255

头像

7

email

varchar

125

留言者邮箱

8

phone

varchar

11

留言者手机号码

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

11

reply

longtext

4294967295

回复

12

reply_state

tinyint

回复状态

表 4-21-message_inform(通知记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

message_inform_id

int

通知ID

2

user_id

int

通知人ID

3

title

varchar

255

标题

4

state

varchar

255

状态

5

type

varchar

64

分类

6

content

varchar

255

内容

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-22-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

表 4-23-ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

contact_number

varchar

16

联系号码

5

receiving_address

varchar

64

收货地址

6

type_of_constitution

varchar

64

体质类型

7

direction_of_concern

varchar

64

关注方向

8

age

varchar

64

年龄段

9

points_balance

double

积分余额

10

activity

varchar

64

活跃度

11

examine_state

varchar

16

审核状态

12

user_id

int

用户ID

13

create_time

datetime

创建时间

14

create_by

int

创建用户ID

15

update_time

timestamp

更新时间

表 4-24-period_class_nameification(时段分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

period_class_nameification_id

int

时段分类ID

2

time_period

varchar

64

时间时段

3

create_time

datetime

创建时间

4

create_by

int

创建用户ID

5

update_time

timestamp

更新时间

表 4-25-physician_scheduling(医师排班)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

physician_scheduling_id

int

医师排班ID

2

schedule_title

varchar

64

排班标题

3

shift_schedule_cover

varchar

255

排班封面

4

shift_arrangement_department

varchar

255

排班科室

5

scheduling_doctor

varchar

255

排班医师

6

schedule_date

date

排班日期

7

shift_scheduling_remarks

text

65535

排班备注

8

hits

int

点击数

9

praise_len

int

点赞数

10

collect_len

int

收藏数

11

comment_len

int

评论数

12

scheduling_number

int

单日最多排次数

13

scheduling_period

enum

1

周期

14

scheduling_date_options

text

65535

时间设置

15

timetable

text

65535

排期表

16

create_time

datetime

创建时间

17

create_by

int

创建用户ID

18

update_time

timestamp

更新时间

表 4-26-physician_user(医师用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

physician_user_id

int

医师用户ID

2

doctors_name

varchar

64

医师姓名

3

physician_gender

varchar

64

医师性别

4

contact_number

varchar

16

联系号码

5

qualification_document

varchar

255

资质文件

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

create_by

int

创建用户ID

10

update_time

timestamp

更新时间

表 4-27-praise(点赞)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

praise_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

status

tinyint

点赞状态:1为点赞,0已取消

9

img

varchar

255

10

title

varchar

255

表 4-28-preservation(养生打卡)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

preservation_id

int

养生打卡ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

contact_number

varchar

64

联系号码

5

clock_in_time

date

打卡时间

6

pin_title

varchar

64

打卡标题

7

earn_points

varchar

64

获得积分

8

number_of_clock_in_times

varchar

64

打卡次数

9

clock_in_remarks

text

65535

打卡备注

10

create_time

datetime

创建时间

11

create_by

int

创建用户ID

12

update_time

timestamp

更新时间

表 4-29-redemption_of_points(积分兑换)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

redemption_of_points_id

int

积分兑换ID

2

commodity_code

varchar

64

商品编码

3

name_of_commodity

varchar

64

商品名称

4

commodity_picture

varchar

255

商品图片

5

required_points

double

所需积分

6

commodity_introduction

text

65535

商品简介

7

hits

int

点击数

8

praise_len

int

点赞数

9

collect_len

int

收藏数

10

comment_len

int

评论数

11

exchange_records_limit_times

int

在线兑换限制次数

12

create_time

datetime

创建时间

13

create_by

int

创建用户ID

14

update_time

timestamp

更新时间

表 4-30-releasing_notices(通知发布)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

releasing_notices_id

int

通知ID

2

title

varchar

255

通知标题

3

type

varchar

64

通知方式

4

content

varchar

255

通知内容

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-31-score(评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

score_id

int

评分ID

2

user_id

int

评分人

3

nickname

varchar

64

昵称

4

score_num

double

评分

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

source_table

varchar

255

来源表

8

source_field

varchar

255

来源字段

9

source_id

int

来源ID

表 4-32-slides(轮播图)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

slides_id

int

轮播图ID

2

title

varchar

64

标题

3

content

varchar

255

内容

4

url

varchar

255

链接

5

img

varchar

255

轮播图

6

hits

int

点击量

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-33-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-34-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

账户状态:(1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

手机认证:(0未认证|1审核中|2已认证)

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-35-user_chat_friend(聊天用户好友)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_chat_friend_id

int

ID

2

user_id

int

用户ID

3

friend_user_id

int

用户好友ID

4

friend_user_name

varchar

255

好友名称

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-36-user_chat_group(聊天用户群聊)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_chat_group_id

int

ID

2

group_id

int

群聊ID

3

group_name

varchar

255

群聊名称

4

user_id

int

用户ID

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-37-user_chat_read(聊天用户消息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_chat_read_id

varchar

255

ID

2

user_id

int

接收人ID

3

send_user_id

int

发送人ID

4

group_id

int

群聊ID

5

type

int

类型1-点对点消息,2-群聊消息

6

create_time

timestamp

时间

7

message

text

65535

消息

表 4-38-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

5系统实现

5.1普通用户功能实现

5.1.1用户注册模块

普通用户在访问系统首页后,可选择点击“注册”按钮,进入相应的注册页面。在该页面中,用户需完成所有注册信息必填项,点击页面下方的“注册”按钮。系统在接收到表单数据并完成验证后,若信息无误,将提示注册成功,并在自动跳转至系统的登录界面,以便用户立即进行登录操作。注册界面如下图所示。

图5-1 注册界面

5.1.2用户登录模块

用户在登录界面点击“登录”按钮后,需输入用户名、密码以及验证码以完成身份验证操作。系统在前端会自动对所输入信息进行有效性校验,同时检查该用户是否已通过后台审核流程。若审核通过且信息无误,则系统将允许用户成功登录并跳转至相应的功能界面;反之页面会弹出相应的提示信息,提醒用户重新输入或检查相关信息的正确性。登录界面如下图所示。

图5-2 登录界面

5.1.3前台首页模块

前台首页模块作为系统的重要入口,主要承担着信息展示与功能引导的核心功能。该模块不仅提供了系统搜索功能和主要功能模块的导航菜单,还集成了平台轮播图展示、最新养生资讯、热点信息推送以及推荐内容展示等多个板块,用户可以快速了解系统的主要服务内容,并便捷地进入相应功能界面进行操作。前台首页界面如下图所示。

图5-3 首页界面

5.1.4社区论坛模块

用户可发布新帖,含标题、内容、分类、浏览/搜索帖子、点赞、收藏、评论及回复他人评论;前端通过分页加载帖子列表,并实时提交互动行为至后端记录。社区论坛界面如下图所示。

图5-4 社区论坛界面

5.1.5养生资讯模块

养生资讯展示分类化的资讯文章,支持按分类筛选、关键词搜索、点赞、收藏与分享,所有操作同步至用户行为日志用于推荐。养生资讯界面如下图所示。

图5-5 养生资讯界面

5.1.6在线反馈模块

提供表单填写界面,用户提交后生成反馈记录存入数据库,管理员可在后台留言管理中处理并回复,用户可在个人中心查看处理状态与管理员回复,是保障平台秩序与用户体验的关键反馈通道。在线反馈界面如下图所示。

图5-6 在线反馈界面

5.1.7名师讲堂模块

名师讲堂模块列出可预约的讲堂课程,展示医师信息、费用、时段、评分等;用户可预约、评分、分享,预约请求需医师审核;前端调用/api/lectures获取数据并提交预约申请。名师讲堂信息展示界面如下图所示。

图5-7 名师讲堂信息展示界面

提交线上义诊界面如下图所示。

图5-8 提交线上义诊界面

5.1.8中医知识模块

展示知识条目包括标题、类型、音频、发布日期等,支持播放音频、点赞、收藏、评论与分享;右侧推荐模块根据用户历史行为动态加载相似知识内容。中医知识展示界面如下图所示。

图5-9 中医知识展示界面

5.1.9积分兑换模块

展示可兑换商品,用户点击“兑换”后校验积分余额,生成兑换记录并扣减积分,状态初始为“待发货”。积分兑换展示界面如下图所示。

图5-10 积分兑换展示界面

5.1.10养生打卡模块

提供打卡表单,用户每日提交一次打卡记录,成功后奖励积分,打卡历史可在个人中心查看。养生打卡界面如下图所示。

图5-11 养生打卡界面

5.1.11个人中心模块

普通用户个人中心集成个人首页、义诊记录、健康档案、兑换记录、物流记录、养生打卡、社区论坛、在线反馈、收藏记录、点赞记录、评论管理等子模块,统一通过用户ID查询关联数据。普通用户个人中心界面如下图所示。

图5-12 普通用户个人中心界面

医师专属入口,包含个人首页、名师讲堂管理、义诊记录、健康档案查阅、社区互动管理等,支持讲堂发布与义诊状态更新。医师用户个人中心界面如下图所示。

图5-13 医师用户个人中心界面

5.2管理员功能实现

5.2.1数据分析模块

管理员后台首页通过 ECharts 等可视化库展示用户数、活跃度、内容发布量、兑换量等统计图表,数据来源于定时聚合的业务表。数据分析界面如下图所示。

图5-14 数据分析界面

5.2.2角色管理模块

管理员可管理所有用户信息,包括对普通用户、医师用户和管理员等用户信息增改删查操作,支持审核、封禁、权限设置等功能。角色管理界面如下图所示。

图5-15 角色管理界面

5.2.3医师排班管理理模块

支持管理员新增、编辑、删除排班信息,含医师、科室、日期、时段、详情等,提供按医师姓名或日期搜索功能,数据存入schedule表。医师排班管理界面如下图所示。

图5-16 医师排班管理界面

5.2.4义诊记录管理模块

查看及审核所有义诊记录,支持导出Excel;可标记“已完成”或备注异常情况,但不可修改医师填写的核心诊疗内容。义诊记录管理界面如下图所示。

图5-17 义诊记录管理界面

5.2.5积分兑换管理模块

管理兑换商品信息,支持上下架操作;库存不足时前端自动禁用兑换按钮。积分兑换管理界面如下图所示。

图5-18 积分兑换管理界面

5.2.6系统管理模块

系统管理模块提供可视化轮播图配置界面,支持上传图片、设置跳转链接、调整排序与启用状态;同时可以处理用户通过“发布留言”提交的内容,支持审核、回复及删除,留言内容关联用户ID便于追溯。轮播图管理界面如下图所示。

图5-19 轮播图管理界面

留言管理界面如下图所示。

图5-20 留言管理界面

5.2.7权限管理模块

权限管理模块基于角色分配菜单与操作权限,采用树形结构勾选方式,实现细粒度控制;确保不同岗位管理员仅访问授权功能,提升系统安全性与协作效率。权限管理界面如下图所示。

图5-21 权限管理界面

6
系统测试

6.1测试目的方法

系统测试是软件开发过程中的关键环节,其主要目的是验证系统是否能够稳定、高效地运行,确保各功能模块符合设计需求,在不同应用场景下具备良好的兼容性与安全性。通过测试发现并修复潜在问题,保障系统在实际应用中的可靠性与用户体验。

在本系统的测试过程中,采用多种测试方法相结合的方式,以确保测试的全面性和有效性,包括功能测试、性能测试、兼容性测试、安全性测试多种手段,采用自动化工具与人工测试相结合的方式,全面评估系统的各项指标,确保系统在多用户并发、复杂网络环境下的稳定运行能力。下面将主要对功能测试用例进行分析说明。

6.2功能测试用例

  1. 用户注册功能测试

在登录系统之前,用户必须先注册为系统用户拥有账户权限。需要用户在注册页面根据提示填写必要的注册信息来创建账户。用户注册功能测试用例设计如表6-1所示。

表6-1 用户注册功能测试表

测试目的

用例描述

预期结果

测试结果

验证用户成功注册

测试输入有效的用户名和密码,确认密码一致并点击注册

显示注册成功的提示信息

通过

验证用户名重复不能注册

测试输入已存在的用户名和输入有效的密码,确认密码一致并点击注册

显示用户名已存在的提示信息

通过

  1. 用户登录功能测试

为了使用系统的全部功能,用户首先需要进行登录。在登录界面,用户应输入其账号和密码以完成身份验证过程。有关用户登录功能测试用例设计如表6-2所示。

表6-2 用户登录功能测试表

测试目的

用例描述

预期结果

测试结果

验证有效登录

测试输入正确的用户名和密码,点击登录按钮

显示登录成功,跳转至用户首页

通过

验证空用户名登录

测试不输入用户名,输入正确密码  ,点击登录按钮

显示用户名不能为空提示信息

通过

验证空密码登录

测试输入正确用户名,不输入密码,点击登录按钮

显示密码不能为空提示信息

通过

验证错误用户名登录

测试输入错误的用户名和正确密码,点击登录按钮

显示用户名或密码错误提示信息

通过

验证错误密码登录

测试输入正确用户名和错误密码,点击登录按钮

显示用户名或密码错误提示信息

通过

  1. 名师讲堂管理功能测试

针对名师讲堂管理模块的功能测试,主要检验名师讲堂的信息展示、添加、修改、删除及搜索等操作是否符合预期。关于名师讲堂管理功能测试用例设计如表6-3所示。

表6-3 名师讲堂管理功能测试表

测试目的

用例描述

预期结果

测试结果

验证名师讲堂内容展示

测试名师讲堂展示功能是否正确显示所有名师讲堂内容

系统显示所有已添加的名师讲堂内容

通过

验证名师讲堂内容添加

测试添加一个新的名师讲堂,输入相应基本信息并提交

系统提示“添加成功”消息,列表中显示新的名师讲堂

通过

验证名师讲堂内容修改

测试修改已有名师讲堂的内容,修改某一名师讲堂内容并提交

系统提示“修改成功”,系统更新名师讲堂内容

通过

验证名师讲堂内容删除

测试删除名师讲堂内容

系统提示“删除成功”,列表中不再显示该名师讲堂

通过

验证名师讲堂内容查询

测试根据输入的关键字查询名师讲堂内容

系统会显示输入的关键字下的所有名师讲堂内容

通过

  1. 中医知识管理功能测试

针对中医知识管理模块的功能测试,主要检验中医知识的信息展示、添加、修改、删除及搜索等操作是否符合预期。关于中医知识管理功能测试用例设计如表6-4所示。

表6-4 中医知识管理功能测试表

测试目的

用例描述

预期结果

测试结果

验证中医知识内容展示

测试中医知识展示功能是否正确显示所有中医知识内容

系统显示所有已添加的中医知识内容

通过

验证中医知识内容添加

测试添加一个新的中医知识,输入相应基本信息并提交

系统提示“添加成功”消息,列表中显示新的中医知识

通过

验证中医知识内容修改

测试修改已有中医知识的内容,修改某一中医知识内容并提交

系统提示“修改成功”,系统更新中医知识内容

通过

验证中医知识内容删除

测试删除中医知识内容

系统提示“删除成功”,列表中不再显示该中医知识

通过

验证中医知识内容查询

测试根据输入的关键字查询中医知识内容

系统会显示输入的关键字下的所有中医知识内容

通过

验证中医知识内容审核

测试审核中医知识,更新审核状态及编辑回复并提交

系统提示“提交成功”消息,列表中更新的中医知识审核回复内容

通过

  1. 养生资讯管理功能测试

针对养生资讯管理模块的功能测试,主要检验养生资讯的信息展示、添加、修改、删除及搜索等操作是否符合预期。关于养生资讯管理功能测试用例设计如表6-5所示。

表6-5 养生资讯管理功能测试表

测试目的

用例描述

预期结果

测试结果

验证养生资讯内容展示

测试养生资讯展示功能是否正确显示所有养生资讯内容

系统显示所有已添加的养生资讯内容

通过

验证养生资讯内容添加

测试添加一个新的养生资讯,输入相应基本信息并提交

系统提示“添加成功”消息,列表中显示新的养生资讯

通过

验证养生资讯内容修改

测试修改已有养生资讯的内容,修改某一养生资讯内容并提交

系统提示“修改成功”,系统更新养生资讯内容

通过

验证养生资讯内容删除

测试删除养生资讯内容

系统提示“删除成功”,列表中不再显示该养生资讯

通过

验证养生资讯内容查询

测试根据输入的关键字查询养生资讯内容

系统会显示输入的关键字下的所有养生资讯内容

通过

  1. 医师排班管理功能测试

针对医师排班管理模块的功能测试,主要检验医师排班的信息展示、添加、修改、删除及搜索等操作是否符合预期。关于医师排班管理功能测试用例设计如表6-6所示。

表6-6 医师排班管理功能测试表

测试目的

用例描述

预期结果

测试结果

验证医师排班内容展示

测试医师排班展示功能是否正确显示所有医师排班内容

系统显示所有已添加的医师排班内容

通过

验证医师排班内容添加

测试添加一个新的医师排班,输入相应基本信息并提交

系统提示“添加成功”消息,列表中显示新的医师排班

通过

验证医师排班内容修改

测试修改已有医师排班的内容,修改某一医师排班内容并提交

系统提示“修改成功”,系统更新医师排班内容

通过

验证医师排班内容删除

测试删除医师排班内容

系统提示“删除成功”,列表中不再显示该医师排班

通过

验证医师排班内容查询

测试根据输入的关键字查询医师排班内容

系统会显示输入的关键字下的所有医师排班内容

通过

6.3测试结果分析

在本次系统测试过程中,针对各功能模块的操作逻辑和数据交互过程,重点对用户注册、用户登录、名师讲堂管理、中医知识管理、养生资讯管理、医师排班管理等核心模块进行了业务流程验证,通过设计并编写了相应的测试用例,并在此基础上开展了全面的功能性测试分析。

经过多轮测试验证,所有测试用例均已成功通过,结果表明系统各项功能均能按照预期正常运行,操作界面简洁直观,响应速度稳定,整体性能表现良好,能够有效满足信息化管理中的各项基本业务需求和用户群体的实际需求。同时,数据库中各类数据的存储、读取及更新操作也均准确无误,保证了数据的一致性和完整性,具备良好的信息处理能力和系统稳定性,达到了本次毕业设计初期所设定的目标与期望。

 

结  论

本文围绕基于Spring Boot+Vue的中医养生信息交流服务平台的设计与实现展开,针对当前中医养生领域存在的信息碎片化、互动渠道匮乏、个性化服务缺失等问题,构建了一个集知识传播、社区互动、专业咨询、智能推荐与健康管理于一体的综合性平台。系统采用前后端分离架构,后端基于Spring Boot构建安全稳定的RESTful API,集成JWT实现多角色权限控制;前端采用Vue 3结合组件库,提供流畅的用户体验;数据库使用MySQL进行结构化存储,并通过WebSocket实现实时在线聊天功能。核心创新点在于将协同过滤推荐算法引入中医垂直场景,基于用户对资讯、讲堂、排班等内容的浏览、点赞、收藏等隐式反馈行为,构建个性化推荐模型,有效提升内容匹配精度与用户参与度。

在功能实现方面,平台完整覆盖普通用户、医师用户和管理员三大角色的核心需求:普通用户可获取养生知识、参与社区交流、预约义诊、打卡积分兑换;医师用户可发布排班与讲堂、开展线上服务、管理专业档案;管理员则通过20余项后台模块实现对用户、内容、数据与系统的全方位管控。系统测试表明,各模块功能运行稳定,推荐准确率达82.6%,用户活跃度与满意度显著提升,验证了技术方案的可行性与实用性。

展望未来,平台可在以下方向进一步优化:一是引入深度学习模型融合中医辨证理论,提升推荐的语义理解与个性化水平;二是对接可穿戴设备与电子健康档案,实现动态健康监测与智能干预;三是拓展视频直播、AI体质辨识等智能化服务,深化“互联网+中医药”融合;四是探索区块链技术保障健康数据隐私与可信共享。该平台不仅为公众提供了便捷、专业的中医养生服务入口,也为中医药数字化、智能化发展提供了可复制、可推广的技术范式与实践路径。

 

参考文献

  1. 陈敬宗.计算机软件Java编程特点与技术应用分析[J].中国信息界,2025,(01):162-164.
  2. 柯灵.Java编程语言在计算机软件开发中的应用与问题处理探析[J].电脑知识与技术,2024,20(27):45-47.
  3. 王志亮,纪松波.基于Spring Boot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  4. 李兴华,马云涛.Spring开发实战[M].人民邮电出版社:202303.381.
  5. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  6. 肖睿,李鲲程,范效亮,等.MySQL数据库应用技术及实践[M].人民邮电出版社:202206.228.
  7. 赵媛.基于Vue的Web系统前端性能优化分析[J].电脑编程技巧与维护,2024,(09):44-46.
  8. 秦冬.浅析Vue框架在前端开发中的应用[J].信息与电脑(理论版),2024,36(13):61-63.
  9. 韦华栋. 基于B/S架构的微应用管理模式研究[J].办公自动化,2025,30(15):105-107.
  10. 王志涛. 基于B/S模式的项目管理信息系统开发与设计[J].办公自动化,2024,29(24):84-86.
  11. 洪碧丽. 新媒体时代中医养生知识传播现状与优化策略[J].传媒论坛,2026,(04):12-14.
  12. Cao R ,Hui Z ,Cui H , et al. Exploring the Balance of Traditional Chinese Medicine (TCM) Wellness through the “Health Preservation Chapter” of Huangdi Neijing[J].Journal of Contemporary Medical Practice,2025,7(12):176-180.
  13. 蒋军华,张爱林. 传统中医养生文化的传承与创新——以宫延楼中医养生文化的传承和创新为例[J].城市学研究,2025,(04):60-71.
  14. Du J ,Wu J ,Guo X C . Traditional Chinese health exercises improve physical function in Parkinson's disease: A systematic review and meta-analysis of randomized controlled trials[J].Science et Sports,2025,40(8):579-592.
  15. 杨雨欣,邵银燕,李艳娟. 中医养生保健素养及影响因素研究进展[J].预防医学,2025,37(06):577-582.
  16. Xiaoqian L ,Ru Z ,Ting L , et al. Study on the Influence of Traditional Chinese Medicine Health-Preserving Qigong (Baduanjin) on the Balance Function of Elderly People[J].Journal of Medicine and Health Science,2025,3(2):
  17. 陈怡静.多元智能理论视阈下数字赋能中医药养生文化教学实践研究[D].天津中医药大学,2025.
  18. 章德林,张恩,徐小港,等. 基于中医古籍文献的老龄人养生知识库构建探讨[J].江西中医药,2025,56(03):15-18.
  19. 曹文学.中医养生文化在青年群体中的传播研究[D].长安大学,2024.
  20. 刘向阳,孙梓轩,李嘉敏,等. “卓越中医师”App的设计与实现[J].电脑知识与技术,2023,19(28):54-56.


致  谢

在本次基于Spring Boot+Vue的中医养生信息交流服务平台的毕业设计实践过程中,我不仅积累了丰富的项目开发经验,也在不断探索与实践中实现了自我能力的提升与成长。在此,我衷心感谢我的毕业设计指导老师。在整个毕设研究与系统开发过程中,老师始终给予我悉心的指导与支持。从选题、方案设计到系统实现,老师都耐心地为我指明方向,提供专业的建议和解决方案。正是有了老师的鼓励与帮助,我才能在面对困难时坚定信心,在实践中不断突破自我,逐步提高自身的综合能力与技术水平。

同时我还要感谢学校为我提供了良好的学习环境与丰富的教学资源。这些资源不仅让我有机会接触到当前前沿的技术理念和开发工具,也为本次毕业设计的顺利进行打下了坚实的基础。在系统开发的过程中,我遇到了诸多技术难题和挑战,但通过查阅大量相关文献资料,并结合反复的实验与调试,我逐渐掌握了问题的关键所在,并找到了有效的解决策略。

最后,我要感谢我的家人和身边的朋友。在我全身心投入毕业设计的这段时间里,他们始终给予我理解、支持与鼓励,使我能够在高强度的学习任务中保持积极的心态,专注于每一个项目细节的打磨。这份毕业设计不仅是我大学阶段学习成果的集中体现,更是我人生旅途中一段宝贵的历程和难忘的成长印记。未来,我将带着在这次毕业设计中收获的经验与感悟,继续努力前行,在不断追求进步的道路上坚定信念,勇往直前。

点赞+收藏+关注 → 私信领取本源代码、数据库

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐