1 绪论
1.1 研究背景
随着中医药事业的持续发展以及信息技术的不断进步,中药材相关知识的获取方式正逐步由传统纸质资料向数字化、网络化方向转变。然而,目前中药材信息多分散于书籍、文献或不同网络平台之中,存在信息不集中、查询效率低、更新不及时以及缺乏直观图片展示等问题,难以满足用户对中药材知识系统化、可视化和便捷化获取的需求。同时,传统的信息管理方式在数据维护与共享方面效率较低,也制约了中医药文化的传播与应用。
在此背景下,基于Vue.js 3与Spring Boot技术构建中药材基本信息与图片查询系统具有重要意义。该系统采用前后端分离架构,实现中药材信息与方剂数据的集中管理与高效查询,用户可以通过系统快速获取药材的名称、属性、功效及图片等内容,并进行收藏、点赞和评论互动。同时,系统为管理员提供完善的后台管理功能,实现数据的统一维护与更新,从而提高信息管理效率与准确性。因此,本系统的研究对于推动中药材信息数字化建设、提升中医药知识传播效率以及促进中医药现代化发展具有重要意义。
1.2 研究目的和意义
基于Vue.js和Spring Boot的中药材基本信息与图片查询系统的研究与开发,旨在借助现代信息技术解决传统中药材信息管理中存在的信息分散、查询效率低、更新不及时以及缺乏直观展示等问题,为中药材信息的数字化管理与传播提供有效的技术支持,具有较强的实践意义和应用价值。通过构建一个集药材信息查询、图片展示、方剂浏览、收藏点赞、评论互动以及资讯公告于一体的综合性平台,能够实现中药材相关信息的集中管理与快速检索,帮助用户更加便捷地获取药材名称、属性、功效、用法及注意事项等内容,提高信息获取效率和学习便利性。与此同时,系统通过管理员后台实现对中药类型、药材信息、方剂内容及新闻公告的统一维护与管理,降低了人工管理成本,提升了数据维护效率和信息准确性。系统还可通过用户行为数据统计与分析,为平台内容优化和管理决策提供数据支持,进一步提升系统服务质量。本课题的研究与实现不仅促进了中医药知识的信息化传播,也为中药材信息管理系统的开发提供了一定的理论参考和实践经验,对推动中医药现代化与数字化发展具有重要意义。
1.3 国内外研究现状
1.3.1 国内研究现状
近年来,随着中医药信息化建设的不断推进,国内对中药材信息管理与查询系统的研究逐渐增多,并成为医疗信息化与传统文化数字化领域的重要方向。早期研究主要依赖电子文档或简单数据库系统,对中药材名称、功效等基础信息进行整理与存储,功能较为单一,缺乏系统化与交互性。随着互联网技术的发展,基于Web的中药材查询系统逐渐兴起,部分研究开始采用B/S架构,实现在线查询与分类浏览功能,并引入图片展示以增强信息的直观性。随着Vue.js与Spring Boot等技术的普及,越来越多的系统开始采用前后端分离架构,在用户体验、系统性能及可扩展性方面有了显著提升。部分学者还结合大数据技术,对中药材使用频率及功效进行分析,以辅助中医药研究与应用。然而,现有系统仍存在信息标准不统一、数据更新不及时、交互功能不足以及系统智能化程度较低等问题,尤其在个性化推荐与深度数据挖掘方面仍有较大提升空间。因此,构建一个结构清晰、功能完善且具备良好扩展能力的中药材信息系统具有重要意义。
1.3.2 国外研究现状
相比国内,国外在传统医学信息系统方面的研究起步较早,尤其是在植物药(Herbal Medicine)及天然药物数据库建设方面已形成较为成熟的体系。国外研究更加注重数据标准化、知识结构化以及系统的科学性与严谨性,许多研究机构建立了大型药用植物数据库,对植物来源、化学成分及药理作用进行系统整理。在技术应用方面,国外普遍采用云计算与微服务架构,结合现代Web框架提升系统的可扩展性与稳定性,同时注重用户体验设计,使系统界面简洁直观、易于操作。此外,国外研究还广泛引入人工智能与机器学习技术,对药物功效进行预测分析,并通过数据挖掘实现智能检索与推荐功能。在数据共享方面,国外系统强调开放性与互操作性,支持多平台数据对接与资源共享。尽管国外在技术深度与数据规范方面具有明显优势,但其研究多侧重于药理分析与科研应用,在面向普通用户的知识普及与互动功能设计方面相对较少。因此,结合国外先进技术理念与国内实际需求,开发一套兼具实用性与智能化的中药材信息查询系统具有重要的研究价值。
1.3.3 研究的主要内容
本课题主要围绕中药材基本信息与图片查询系统的设计与实现展开,重点研究如何利用现代Web技术构建一个高效、稳定且易于扩展的信息管理与查询平台。系统采用Vue.js 3与Spring Boot前后端分离架构,实现中药材信息、方剂信息及相关数据的统一管理与展示。在功能上,重点实现普通用户的注册登录、药材与方剂查询、收藏点赞、评论互动以及资讯浏览等功能,同时实现管理员对中药类型、药材信息、方剂内容、公告及新闻等模块的后台管理。此外,本课题还对数据库结构设计、接口开发以及系统安全与性能优化进行研究,以确保系统具有良好的稳定性与实用性。
2 相关技术介绍
2.1 Java语言
Java是一种广泛应用于企业级软件开发的面向对象编程语言,具有平台无关性、安全性高、稳定性强等优点[1]。通过JVM(Java虚拟机)机制,Java实现了“一次编写,到处运行”的特性,极大地提升了代码的可移植性和复用性,其丰富的类库支持和成熟的生态系统,使得Java在Web应用、分布式系统及大型后台服务开发中占据主导地位[2]。在中药材基本信息与图片查询系统中,Java作为主要开发语言,能够实现高效的服务器端逻辑处理和数据管理,为系统的功能实现提供了坚实的基础,同时Java的多线程和网络编程能力有助于系统的高并发处理,为多个用户提供服务。
2.2 SpringBoot框架
SpringBoot是一个开源框架,可以快速构建基于Spring的应用程序,通过简化配置和提供开箱即用的特性,极大地提升了开发效率[3]。SpringBoot框架安排了一系列默认的配置,支持开展自动化配置,减少了应用启动的复杂性,并集成嵌入式Web服务器,让开发者可以不依赖外部独立运行Java应用,无需借助外部容器[4]。SpringBoot框架的应用为 中药材基本信息与图片查询系统的后端开发提供了强大的支持。开发者使用SpringBoot框架可以轻松创建RESTful风格的API,与前端进行数据交互,支持各种业务操作。数据访问层使用Spring Data JPA简单集成数据库,与MySQL进行操作,实现数据的持久化。安全管理方面利用Spring Security提供用户身份验证和授权功能,确保数据访问的安全性。
2.3 MySQL数据库
MySQL是一款流行的开源关系型数据库管理系统,因其性能稳定、易于使用、社区活跃而被广泛应用于各类Web应用系统中,支持标准SQL语句,即以结构化查询语言为基础,通过表格的形式存储数据,具备良好的事务处理能力和多用户并发访问能力[5]。同时MySQL占用资源较少,适合中小型项目的数据库需求。本系统采用MySQL作为核心数据存储工具,负责管理中药材基本信息与图片查询系统中的用户信息、业务数据和操作日志等关键信息,通过合理的数据库设计和优化,保障数据的安全性和一致性,并且MySQL支持对多用户的高并发操作,能够快速处理系统中的各种数据查询需求,为后端提供所需的数据服务[6]。
2.4 Vue框架
Vue 是一款轻量级、渐进式的前端JavaScript框架,专注于构建用户界面,具有学习成本低、开发效率高、组件化设计良好等特点,能够快速实现响应式数据绑定和动态页面交互[7]。Vue支持模块化开发,并与现代前端构建工具,如Webpack、Vite,兼容良好,适用于开发高性能、易维护的单页面应用(SPA)。在中药材基本信息与图片查询系统中,Vue框架被用于实现系统的前端界面,提供友好的交互体验,提升系统的交互体验与开发效率[8]。
2.5 B/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、SpringBoot及MySQL等均为免费开源技术,开发成本相对较低。同时,该系统上线后将有效提升中药材基本信息与图片查询系统的效率,减少人工操作和重复劳动,从而降低长期运营成本。另外在吸引和留存大量用户后,系统可借助广告或其他增值服务实现有效创收,以此来支撑系统后期维护和运营升级,所以系统具备一定的投资回报率和良好的经济可持续性。
3.1.3 操作可行性
中药材基本信息与图片查询系统具备较强的易用性和实用性,系统面向不同角色用户设计了简洁直观的操作界面,功能模块划分清晰,易于用户理解和上手操作使用。系统为用户提供了必要的操作提示和帮助文档,以降低操作学习门槛,便于用户快速完成操作。系统后台管理界面也具备良好的可视化配置功能,便于管理人员进行日常维护和数据监控。
3.2 系统功能需求
根据用户在系统中的操作权限以及功能需求的不同,本中药材基本信息与图片查询系统在设计过程中,将用户角色划分为两大主要类别,分别为普通用户以及系统管理员。这两大角色在系统中分别对应不同的功能模块,并拥有相应的操作权限,以实现对各类业务流程的合理分配与管理。针对每种角色的具体功能职责,其详细的功能模块划分如下所述。
3.2.1 普通用户功能分析
注册登录:用户可以通过注册功能填写基本信息创建账号,并通过登录功能进入系统,实现个性化操作与数据记录。
首页:首页集中展示系统的核心内容入口,包括热门药材推荐、方剂推荐、最新资讯和公告信息,方便用户快速浏览。
药材信息:用户可以查看详细的中药材信息,包括名称、类型、属性、产地、形态特征、功效、用法用量及禁忌事项,同时支持收藏、点赞和评论互动。
中药方剂:用户可以浏览中药方剂的详细内容,包括方剂组成、出处、功效、主治和使用方法,并可进行收藏、点赞及发表评论交流。
最新资讯:系统为用户提供与中医药相关的最新新闻资讯,帮助用户了解行业动态和相关知识。
最新公告:用户可以查看系统发布的公告信息,如系统更新、重要通知等,确保及时获取平台动态。
我的账户:用户可以在该模块查看和管理个人账户信息,包括基本资料和账户状态。
修改密码:用户可以通过该功能对当前账户密码进行修改,以提高账户的安全性。
个人首页:用户拥有独立的个人主页,用于展示个人信息以及其发布、收藏和互动的内容记录。
收藏记录:系统记录用户收藏的药材和方剂信息,方便用户后续快速查阅和管理。
点赞记录:用户可以查看自己曾点赞的药材或方剂内容,便于回顾和再次访问相关信息。
3.2.2 管理员功能分析
登录:管理员通过输入账号和密码登录后台管理系统,系统对身份进行验证并分配相应权限,以确保只有授权人员才能进行系统管理操作。
后台首页:后台首页以可视化方式展示系统的整体运行情况,包括用户数量、药材与方剂数据量以及访问趋势等信息,帮助管理员快速了解平台状态。
数据分析:系统对用户浏览、收藏、点赞等行为数据进行统计与分析,并以图表形式展示,辅助管理员进行运营决策和内容优化。
角色管理:管理员可以对系统中的角色进行配置与维护,包括新增角色、分配权限以及对管理员和普通用户进行权限区分管理,从而实现精细化权限控制。
中药类型管理:管理员可以对中药类型进行统一管理,包括新增、修改和删除类型信息,以保证药材分类的规范性和系统数据结构的清晰性。
药材信息管理:管理员能够对中药材信息进行全面维护,包括录入药材基本信息与图片、编辑属性内容以及删除无效数据,从而保证数据的准确性和完整性。
中药方剂管理:管理员可以对中药方剂进行统一管理,包括方剂信息的添加、修改、删除以及关联药材数据的维护,确保方剂内容的科学性与规范性。
系统管理:管理员可以对系统首页轮播图进行上传、更新和删除操作,用于展示重点内容、推荐信息或宣传资料,从而提升用户体验和页面美观度。
最新公告管理:管理员可以发布、编辑和删除系统公告内容,对用户进行重要通知、系统更新提示或活动说明,确保信息传达的及时性和有效性。
新闻管理:管理员可以对中医药相关资讯进行管理,包括新闻内容的发布、修改、删除以及分类管理,从而构建结构清晰、内容丰富的信息展示模块。
3.3 非功能性需求
在中药材基本信息与图片查询系统的开发与设计过程中,除了满足基本的功能性需求外,还需要从多个维度考虑系统的非功能性要求,以保证系统的整体质量和用户体验。下面将从可靠性、可用性、性能、安全性等方面进行详细分析。
可靠性:系统应具备较高的稳定性和容错能力,在面对高并发访问或异常操作时能够保持正常运行。通过合理的异常处理机制和日志记录功能,确保系统在发生错误时可以快速定位问题并恢复服务,从而保障用户操作的连续性和数据的一致性。
可用性:系统界面应设计简洁、直观,操作流程清晰,便于不同层次的用户理解和使用。对于不同角色用户,应提供相应的引导提示和帮助信息以提升用户的操作效率和满意度。
性能需求:系统需支持多用户并发访问,并能在合理的时间内响应用户的请求。在典型负载条件下,页面加载时间应控制在合理范围内,关键业务操作的响应延迟不宜过高。
安全性:系统需具备完善的身份认证和权限控制机制,防止未经授权的访问和敏感信息泄露,并应对用户密码进行加密存储,对关键操作进行审计日志记录,确保系统具备一定的抗攻击能力和数据保护能力。
3.4 用户用例模型
3.4.1 普通用户用例图
普通用户角色用例图如图3-1所示。

图3-1普通用户用例图
3.4.2 管理员用例图
管理员角色用例图如如图3-2所示。

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

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

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

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

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

图3-7数据搜索流程图
4 系统设计
4.1 系统架构设计
本系统在架构设计上采用了经典的三层体系结构,分别为表现层、业务逻辑层以及数据访问层,并通过集群化管理方式实现高效的数据处理与并发访问。其中表现层主要承担用户交互功能,负责信息的展示与用户输入的接收,将用户操作传达给业务逻辑层处理,并最终将处理的结果反馈给用户,采用JavaScript等技术进行构建简洁和直观前端页面,以提升界面响应速度与用户体验。业务逻辑层作为系统的核心处理单元,主要负责各类核心业务规则的封装与执行,按需与数据访问层交互,以便获取或更新所需的数据,该层基于SpringBoot框架进行开发,借助其良好的模块化设计和自动化配置能力来保障系统业务流程的高效运行与稳定性。数据访问层则专注于与数据库之间的交互操作,包括数据的存储、查询与更新等功能,系统中采用JPA或MyBatis等持久层框架来实现对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-4所示。

图4-4 用户权限管理实体图
药材信息实体属性图如图4-5所示。

图4-5药材信息实体图
中药方剂实体属性图如图4-6所示。

图4-6中药方剂实体图
中药类型实体属性图如图4-7所示。

图4-7中药类型实体图
公告实体属性图如图4-8所示。

图4-8公告实体图
普通用户实体属性图如图4-9所示。

图4-9普通用户实体图
管理员实体属性图如图4-10所示。

图4-10 管理员实体图
评论实体属性图如图4-11所示。

图4-11 评论实体图
数据流程图设计
本系统数据流以“用户查询—信息展示—互动记录—后台管理”为核心。普通用户登录后可查询药材信息和中药方剂,系统根据关键词或分类从数据库中检索数据,并展示药材图片、功效、用法及禁忌等内容;用户可对药材或方剂进行收藏、点赞和评论,相关记录会保存到数据库中。管理员登录后台后,可对药材信息、中药类型、方剂内容、新闻公告和轮播图等数据进行新增、修改、删除和查询,系统在数据提交时进行校验,确保信息准确完整。整体数据在前端、后端和数据库之间有序流转,保证系统运行的规范性与可追溯性。数据流图如图4-12所示。

图4-12数据流程图
4.3.2 物理结构设计
依据前一节对中药材基本信息与图片查询系统的整体E-R关系图的分析,为了满足系统功能需求,需要创建多个数据表。下面将着重介绍几个核心数据库表的设计结构,详细阐述这些关键数据库表的设计细节,包括但不限于字段定义、数据类型及其相互间的关系,从而为系统的稳定运行提供坚实的基础。
表 4-1-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | info | text | 65535 | 否 | 否 | 信息 |
| 3 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
| 4 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 5 | token_id | int | 是 | 是 | 临时访问牌ID | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-article(文章)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | article_id | mediumint | 是 | 是 | 文章id | |
| 2 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | description | text | 65535 | 否 | 否 | 文章描述 |
| 5 | hits | int | 是 | 否 | 点击数 | |
| 6 | img | varchar | 255 | 否 | 否 | 封面图 |
| 7 | praise_len | int | 是 | 否 | 点赞数 | |
| 8 | source | varchar | 255 | 否 | 否 | 来源 |
| 9 | tag | varchar | 255 | 否 | 否 | 标签 |
| 10 | title | varchar | 125 | 是 | 是 | 标题 |
| 11 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 13 | url | varchar | 255 | 否 | 否 | 来源地址 |
表 4-3-article_type(文章分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | varchar | 255 | 否 | 否 | 描述 |
| 3 | display | smallint | 是 | 否 | 显示顺序 | |
| 4 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 5 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 6 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 7 | type_id | smallint | 是 | 是 | 分类ID | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | url | varchar | 255 | 否 | 否 | 外链地址 |
表 4-4-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | add | tinyint | 是 | 否 | 是否可增加 | |
| 2 | auth_id | int | 是 | 是 | 授权ID | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | del | tinyint | 是 | 否 | 是否可删除 | |
| 5 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 6 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 7 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 8 | get | tinyint | 是 | 否 | 是否可查看 | |
| 9 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | option | text | 65535 | 否 | 否 | 配置 |
| 12 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 13 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 14 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
| 15 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 16 | position | varchar | 32 | 否 | 否 | 位置 |
| 17 | set | tinyint | 是 | 否 | 是否可修改 | |
| 18 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 21 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 22 | user_group | varchar | 64 | 否 | 否 | 用户组 |
表 4-5-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | code | varchar | 255 | 否 | 否 | 验证码 |
| 2 | code_token_id | int | 是 | 是 | 验证码ID | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
| 5 | token | varchar | 255 | 否 | 否 | 令牌 |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-6-collect(收藏)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_id | int | 是 | 是 | 收藏ID | |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | img | varchar | 255 | 否 | 否 | 封面 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | 是 | 否 | 来源ID | |
| 6 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 7 | title | varchar | 255 | 否 | 否 | 标题 |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | user_id | int | 是 | 是 | 收藏人ID |
表 4-7-comment(评论)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 2 | comment_id | int | 是 | 是 | 评论ID | |
| 3 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 4 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 5 | hidden | tinyint | 否 | 否 | 是否隐藏 | |
| 6 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 7 | reply_to_id | int | 是 | 否 | 回复评论ID | |
| 8 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 9 | source_id | int | 是 | 否 | 来源ID | |
| 10 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 11 | sticky | tinyint | 否 | 否 | 是否置顶 | |
| 12 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 13 | user_id | int | 是 | 是 | 评论人ID |
表 4-8-herbal_medicine_information(药材信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | clinical_applications | text | 65535 | 否 | 否 | 临床应用 |
| 2 | collect_len | int | 是 | 否 | 收藏数 | |
| 3 | comment_len | int | 是 | 否 | 评论数 | |
| 4 | create_by | int | 是 | 否 | 创建用户ID | |
| 5 | create_time | datetime | 是 | 否 | 创建时间 | |
| 6 | dosage_and_manageristration | varchar | 64 | 否 | 否 | 用量用法 |
| 7 | herbal_medicine_information_id | int | 是 | 是 | 药材信息ID | |
| 8 | hits | int | 是 | 否 | 点击数 | |
| 9 | main_benefits | varchar | 64 | 否 | 否 | 主要功效 |
| 10 | medicinal_material_attribute | varchar | 64 | 否 | 否 | 药材属性 |
| 11 | medicinal_material_origin | varchar | 255 | 否 | 否 | 药材产地 |
| 12 | morphological_characteristics | varchar | 64 | 否 | 否 | 形态特征 |
| 13 | name_of_medicinal_herbs | varchar | 64 | 否 | 否 | 药材名称 |
| 14 | praise_len | int | 是 | 否 | 点赞数 | |
| 15 | precautions | text | 65535 | 否 | 否 | 注意事项 |
| 16 | storage_method | varchar | 64 | 否 | 否 | 保存方法 |
| 17 | traditional_chinese_medicine_picture | varchar | 255 | 否 | 否 | 中药图片 |
| 18 | traditional_chinese_medicine_types | varchar | 64 | 否 | 否 | 中药类型 |
| 19 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 20 | use_taboo | text | 65535 | 否 | 否 | 使用禁忌 |
表 4-9-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | hits_id | int | 是 | 是 | 点赞ID | |
| 3 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 4 | source_id | int | 是 | 否 | 来源ID | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 点赞人 |
表 4-10-notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | notice_id | mediumint | 是 | 是 | 公告ID | |
| 4 | title | varchar | 125 | 是 | 否 | 标题 |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-11-praise(点赞)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | img | varchar | 255 | 否 | 否 | |
| 3 | praise_id | int | 是 | 是 | 点赞ID | |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | 是 | 否 | 来源ID | |
| 6 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 7 | status | tinyint | 是 | 否 | 点赞状态:1为点赞,0已取消 | |
| 8 | title | varchar | 255 | 否 | 否 | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 10 | user_id | int | 是 | 是 | 点赞人 |
表 4-12-regular_user(普通用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_by | int | 是 | 否 | 创建用户ID | |
| 2 | create_time | datetime | 是 | 否 | 创建时间 | |
| 3 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 4 | regular_user_id | int | 是 | 是 | 普通用户ID | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 8 | users_mobile_phone | varchar | 16 | 否 | 否 | 用户手机 |
表 4-13-slides(轮播图)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | content | varchar | 255 | 否 | 否 | 内容 |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | hits | int | 是 | 否 | 点击量 | |
| 4 | img | varchar | 255 | 否 | 否 | 轮播图 |
| 5 | slides_id | int | 是 | 是 | 轮播图ID | |
| 6 | title | varchar | 64 | 否 | 否 | 标题 |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | url | varchar | 255 | 否 | 否 | 链接 |
表 4-14-traditional_chinese_medicine_prescription(中药方剂)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | contains_herbs | varchar | 255 | 否 | 否 | 包含药材 |
| 4 | cover_image | varchar | 255 | 否 | 否 | 封面图片 |
| 5 | create_by | int | 是 | 否 | 创建用户ID | |
| 6 | create_time | datetime | 是 | 否 | 创建时间 | |
| 7 | documentary_records | text | 65535 | 否 | 否 | 文献记载 |
| 8 | dosage_and_manageristration | varchar | 64 | 否 | 否 | 用量用法 |
| 9 | efficacy_of_prescription | text | 65535 | 否 | 否 | 方剂功效 |
| 10 | hits | int | 是 | 否 | 点击数 | |
| 11 | name_of_prescription | varchar | 64 | 否 | 否 | 方剂名称 |
| 12 | praise_len | int | 是 | 否 | 点赞数 | |
| 13 | prescription_indications | text | 65535 | 否 | 否 | 方剂主治 |
| 14 | prescription_source | varchar | 64 | 否 | 否 | 方剂出处 |
| 15 | traditional_chinese_medicine_prescription_id | int | 是 | 是 | 中药方剂ID | |
| 16 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-15-type_of_traditional_chinese_medicine(中药类型)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | class_nameification_of_traditional_chinese_medicine | varchar | 64 | 否 | 否 | 中药分类 |
| 2 | create_by | int | 是 | 否 | 创建用户ID | |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | type_of_traditional_chinese_medicine_id | int | 是 | 是 | 中药类型ID | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-16-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 2 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 3 | father_id | int | 否 | 否 | 父级ID | |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | name | varchar | 64 | 否 | 否 | 文件名 |
| 6 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 7 | type | varchar | 32 | 否 | 否 | 文件类型 |
| 8 | upload_id | int | 是 | 是 | 上传ID |
表 4-17-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 | |||
|---|---|---|---|---|---|---|---|---|---|
| 1 | avatar | varchar | 255 | 否 | 否 | 头像地址 | |||
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | ||||
| 3 | varchar | 64 | 否 | 否 | 邮箱 | ||||
| 4 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证 | 1审核中 | 2已认证) | ||
| 5 | login_time | timestamp | 否 | 否 | 上次登录时间 | ||||
| 6 | nickname | varchar | 16 | 否 | 否 | 昵称 | |||
| 7 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 | |||
| 8 | password | varchar | 64 | 是 | 否 | 密码 | |||
| 9 | phone | varchar | 11 | 否 | 否 | 手机号码 | |||
| 10 | phone_state | smallint | 是 | 否 | 手机认证:(0未认证 | 1审核中 | 2已认证) | ||
| 11 | state | smallint | 是 | 否 | 账户状态:(1可用 | 2异常 | 3已冻结 | 4已注销) | |
| 12 | user_group | varchar | 32 | 否 | 否 | 所在用户组 | |||
| 13 | user_id | int | 是 | 是 | 用户ID | ||||
| 14 | username | varchar | 16 | 是 | 否 | 用户名 |
表 4-18-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | varchar | 255 | 否 | 否 | 描述 |
| 3 | display | smallint | 是 | 否 | 显示顺序 | |
| 4 | group_id | mediumint | 是 | 是 | 用户组ID | |
| 5 | name | varchar | 16 | 是 | 否 | 名称 |
| 6 | register | smallint | 否 | 否 | 注册位置 | |
| 7 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 8 | source_id | int | 是 | 否 | 来源ID | |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 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 个人首页模块
个人首页:用户拥有独立的个人主页,用于展示个人信息以及其发布、收藏和互动的内容记录。界面如下图所示。

图5-7个人首页界面
5.2 管理员功能实现
5.2.1 后台首页模块
后台首页:后台首页以可视化方式展示系统的整体运行情况,包括用户数量、药材与方剂数据量以及访问趋势等信息,帮助管理员快速了解平台状态。界面如下图所示。

图5-8后台首页界面
5.2.2 角色管理模块
角色管理:管理员可以对系统中的角色进行配置与维护,包括新增角色、分配权限以及对管理员和普通用户进行权限区分管理,从而实现精细化权限控制。界面如下图所示。

图5-9角色管理界面
5.2.3 中药类型管理模块
中药类型管理:管理员可以对中药类型进行统一管理,包括新增、修改和删除类型信息,以保证药材分类的规范性和系统数据结构的清晰性。界面如下图所示。

图5-10中药类型管理界面
5.2.4 药材信息管理模块
药材信息管理:管理员能够对中药材信息进行全面维护,包括录入药材基本信息与图片、编辑属性内容以及删除无效数据,从而保证数据的准确性和完整性。界面如下图所示。

图5-11药材信息管理界面
5.2.5 中药方剂管理模块
中药方剂管理:管理员可以对中药方剂进行统一管理,包括方剂信息的添加、修改、删除以及关联药材数据的维护,确保方剂内容的科学性与规范性。界面如下图所示。

图5-12 中药方剂管理界面
5.2.6 系统管理模块
系统管理(轮播图管理):管理员可以对系统首页轮播图进行上传、更新和删除操作,用于展示重点内容、推荐信息或宣传资料,从而提升用户体验和页面美观度。界面如下图所示。

图5-13 系统管理界面
5.2.7 最新公告管理模块
最新公告管理:管理员可以发布、编辑和删除系统公告内容,对用户进行重要通知、系统更新提示或活动说明,确保信息传达的及时性和有效性。界面如下图所示。

图5-14最新公告管理界面
5.2.8 新闻管理模块
新闻管理:管理员可以对中医药相关资讯进行管理,包括新闻内容的发布、修改、删除以及分类管理,从而构建结构清晰、内容丰富的信息展示模块。界面如下图所示。

图5-15 新闻管理界面
6 系统测试
6.1 测试目的方法
系统测试是软件开发过程中的关键环节,其主要目的是验证系统是否能够稳定、高效地运行,确保各功能模块符合设计需求,在不同应用场景下具备良好的兼容性与安全性。通过测试发现并修复潜在问题,保障系统在实际应用中的可靠性与用户体验。
在本系统的测试过程中,采用多种测试方法相结合的方式,以确保测试的全面性和有效性,包括功能测试、性能测试、兼容性测试、安全性测试多种手段,采用自动化工具与人工测试相结合的方式,全面评估系统的各项指标,确保系统在多用户并发、复杂网络环境下的稳定运行能力。下面将主要对功能测试用例进行分析说明。
6.2 功能测试用例
用户注册功能测试
在登录系统之前,用户必须先注册为系统用户拥有账户权限。需要用户在注册页面根据提示填写必要的注册信息来创建账户。用户注册功能测试用例设计如表6-1所示。
表6-1 用户注册功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证用户成功注册 | 测试输入有效的用户名和密码,确认密码一致并点击注册 | 显示注册成功的提示信息 | 通过 |
| 验证用户名重复不能注册 | 测试输入已存在的用户名和输入有效的密码,确认密码一致并点击注册 | 显示用户名已存在的提示信息 | 通过 |
用户登录功能测试
为了使用系统的全部功能,用户首先需要进行登录。在登录界面,用户应输入其账号和密码以完成身份验证过程。有关用户登录功能测试用例设计如表6-2所示。
表6-2 用户登录功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证有效登录 | 测试输入正确的用户名和密码,点击登录按钮 | 显示登录成功,跳转至用户首页 | 通过 |
| 验证空用户名登录 | 测试不输入用户名,输入正确密码 ,点击登录按钮 | 显示用户名不能为空提示信息 | 通过 |
| 验证空密码登录 | 测试输入正确用户名,不输入密码,点击登录按钮 | 显示密码不能为空提示信息 | 通过 |
| 验证错误用户名登录 | 测试输入错误的用户名和正确密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
| 验证错误密码登录 | 测试输入正确用户名和错误密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
药材信息管理功能测试
针对药材信息管理模块的功能测试,主要检验药材信息的展示、添加、修改、删除及搜索等操作是否符合预期。关于药材信息管理功能测试用例设计如表6-3所示。
表6-3 药材信息管理功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证药材信息内容展示 | 测试药材信息展示功能是否正确显示所有药材记录内容 | 系统显示所有已添加的药材信息内容 | 通过 |
| 验证药材信息内容添加 | 测试添加一个新的药材信息,输入药材名称、类型、功效及图片并提交 | 系统提示“添加成功”消息,列表中显示新的药材记录 | 通过 |
| 验证药材信息内容修改 | 测试修改已有药材信息的内容,补充药材属性、用法用量或注意事项并提交 | 系统提示“修改成功”,系统更新药材信息内容 | 通过 |
| 验证药材信息内容删除 | 测试删除无效或错误的药材信息内容 | 系统提示“删除成功”,列表中不再显示该药材信息 | 通过 |
| 验证药材信息内容查询 | 测试根据输入的关键字(如药材名称)查询药材信息内容 | 系统会显示输入关键字下的所有药材信息内容 | 通过 |
| 验证药材图片上传 | 测试管理员上传药材图片并保存药材信息 | 系统提示“提交成功”,药材详情页正常显示图片内容 | 通过 |
中药方剂管理功能测试
针对中药方剂管理模块的功能测试,主要检验方剂信息的展示、添加、编辑、删除及搜索等操作是否符合预期。关于中药方剂管理功能测试用例设计如表6-4所示。
表6-4 中药方剂管理功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证方剂信息内容展示 | 测试方剂信息展示功能是否正确显示所有中药方剂内容 | 系统显示所有已发布的中药方剂信息内容 | 通过 |
| 验证方剂信息内容添加 | 测试添加一个新的中药方剂,输入方剂名称、包含药材、功效及主治并提交 | 系统提示“添加成功”消息,列表中显示新的方剂信息 | 通过 |
| 验证方剂信息内容修改 | 测试修改已有方剂信息的内容,调整用量用法、方剂功效或文献记载并提交 | 系统提示“修改成功”,系统更新方剂信息内容 | 通过 |
| 验证方剂信息内容删除 | 测试删除错误或无效的中药方剂信息 | 系统提示“删除成功”,列表中不再显示该方剂信息 | 通过 |
| 验证方剂信息内容查询 | 测试根据输入的关键字(如方剂名称)查询方剂信息内容 | 系统会显示输入关键字下的所有方剂信息内容 | 通过 |
| 验证方剂关联药材 | 测试管理员为方剂选择或填写包含药材并提交 | 系统提示“提交成功”,方剂详情中正确显示关联药材内容 | 通过 |
6.3 测试结果分析
在本次系统测试过程中,针对各功能模块的操作逻辑和数据交互过程,重点对用户注册、用户登录、药材信息管理、中药方剂管理等核心模块进行了业务流程验证,通过设计并编写相应的测试用例,并在此基础上开展了全面的功能性测试分析。
经过多轮测试验证,所有测试用例均已成功通过,结果表明系统各项功能均能按照预期正常运行,操作界面简洁直观,响应速度稳定,整体性能表现良好,能够有效满足中药材基本信息与图片查询系统中的各项基本业务需求和用户实际使用需求。同时,数据库中药材信息、方剂信息及用户数据的存储、读取、修改和删除操作均准确无误,保证了数据的一致性和完整性,具备良好的信息处理能力和系统稳定性,达到了本次毕业设计初期所设定的目标与期望。

184

被折叠的 条评论
为什么被折叠?



