https://www.bilibili.com/video/BV1TvJg6ZEGU/?vd_source=aa43681dba78a861fa8176f07e477999
https://www.bilibili.com/video/BV1TvJg6ZEGU/?vd_source=aa43681dba78a861fa8176f07e477999
目 录
摘 要
随着校园流浪猫狗数量的增加,科学、高效地开展救助与管理工作成为高校动物保护的重要课题。本文设计并实现了一套基于Vue.js与Node.js的校园流浪猫狗救助管理系统,前端采用Vue.js构建用户界面,后端以Node.js配合Express框架搭建RESTful API,数据库选用MySQL进行数据持久化存储,并引入JWT实现安全的用户认证机制。系统采用前后端分离架构,提升了开发效率与系统可维护性。
该系统面向普通用户、志愿者和管理员三类角色,提供注册登录、宠物资讯浏览、动物信息查询、云养互动、爱心捐赠、积分兑换、社区交流等核心功能;志愿者可参与救助任务进度更新,管理员则具备全面的后台管理权限,包括动物信息、救助记录、捐赠公示、志愿者申请、积分商城及系统配置等内容的审核与维护。通过本系统,有效整合校园内外救助资源,提升流浪动物管理的透明度与协同效率,为构建人与动物和谐共处的校园环境提供技术支撑。
关键词:校园流浪猫狗救助管理系统;Spring Boot;Java语言;MySQL数据库
With the growing number of stray cats and dogs on campus, scientifically and efficiently managing their rescue and care has become a critical issue in university animal protection. This paper presents a campus stray cat and dog rescue management system developed using Vue.js and Node.js. The frontend utilizes Vue.js for user interface design, while the backend employs Node.js with the Express framework to build RESTful APIs. MySQL is selected as the database for persistent data storage, and JWT is implemented to ensure secure user authentication. The system adopts a front-end and back-end separation architecture, enhancing development efficiency and system maintainability.
This system serves three user groups—ordinary users, volunteers, and administrators—offering core features including registration, pet information browsing, animal data queries, cloud-based pet care interactions, charitable donations, points redemption, and community engagement. Volunteers can track rescue mission progress, while administrators enjoy full backend management privileges, overseeing animal records, rescue logs, donation disclosures, volunteer applications, points redemption, and system configurations. By effectively integrating campus and external rescue resources, the system enhances transparency and coordination efficiency in stray animal management, providing technical support for fostering a harmonious campus environment where humans and animals coexist peacefully.
Keywords: Campus stray cat and dog rescue management system; Spring Boot; Java language; MySQL database
第一章 绪论
1.1研究背景
近年来,高校校园内流浪猫狗数量持续增长,其生存状况与管理问题日益受到师生及社会关注。一方面,部分学生和教职工自发投喂、救助流浪动物,体现出较强的爱心与责任感;另一方面,缺乏统一、规范的管理机制,导致救助行为分散、信息不透明、资源重复投入甚至引发卫生与安全问题。传统依靠人工登记、口头传播或简单社交平台发布的方式,难以满足对动物信息追踪、救助进度更新、捐赠物资管理以及志愿者协调等多方面需求。在此背景下,构建一个功能完善、操作便捷、信息集中管理的数字化平台,成为提升校园流浪动物救助效率与管理水平的现实需要。
当前,Web技术的发展为公益类管理系统提供了成熟的技术支撑。利用前端框架与后端服务相结合的方式,能够实现用户交互、数据存储与业务逻辑处理的一体化。校园流浪猫狗救助涉及多方参与,包括普通师生、志愿者团队以及后勤或管理部门,不同角色对系统功能的需求存在明显差异。因此,系统需支持多角色权限划分,覆盖从动物信息发布、云养互动、爱心捐赠到任务分配、进度跟踪、公示反馈等完整流程。通过信息化手段整合零散的救助行为,不仅有助于提高管理效率,也能增强公众参与感与信任度,推动校园动物保护工作走向规范化、可持续化发展。
1.2研究意义
本系统的开发为校园流浪猫狗救助工作提供了结构化的信息管理平台,改变了以往依赖零散沟通与非正式渠道的运作模式。通过统一的数据入口和规范的操作流程,动物基本信息、救助进展、捐赠记录等内容得以集中存储与公开查询,有效提升了信息透明度与管理效率。普通用户可便捷获取动物动态、参与云养或捐赠,志愿者能够接收任务并更新执行情况,管理员则可对各类数据与申请进行审核与统筹调度,三者在系统中形成协同机制,增强整体救助工作的组织性与连贯性。
该系统还强化了校园公益行为的参与感与可持续性。用户通过点赞、评论、收藏、打卡互动等操作,建立起与流浪动物的情感连接;积分商城机制将爱心行为转化为可量化的激励,促进长期参与。对于学校管理部门而言,系统提供的统计图表与操作日志有助于掌握救助资源分布、评估活动成效、优化资源配置。整体来看,该平台不仅解决了当前校园流浪动物管理中的实际问题,也为高校开展其他类型公益项目提供了可复用的技术框架与运营思路。
1.3国内外研究现状
1.3.1国内研究现状
近年来,随着公众对校园流浪动物问题的关注增加,国内部分高校学生团队、公益组织尝试利用Web技术构建流浪动物信息管理平台。早期系统多采用PHP或ASP等传统技术栈,近年来逐渐转向基于JavaScript生态的开发模式。一些开源项目或课程设计作品开始使用Node.js配合Express框架搭建后端服务,前端则采用Vue.js实现界面交互,数据库普遍选择MySQL进行数据存储。这类系统通常聚焦于基础功能,如动物信息展示、领养申请、简单评论互动等,用户角色划分较为粗略,权限控制能力有限。多数平台缺乏完整的业务闭环,例如未集成捐赠记录追踪、志愿者任务分配、云养互动或积分激励机制。系统架构上,前后端耦合度较高,接口设计不够规范,扩展性和维护性较弱。尽管个别项目尝试引入社区交流或打卡签到功能,但整体仍停留在信息展示层面,未能有效支撑多方协作与持续运营。目前,国内面向校园场景、基于Node.js + Vue技术栈且覆盖救助全流程的成熟系统尚属空白。
1.3.2国外研究现状
国外在流浪动物救助信息化方面已形成较为完善的体系,大量非营利组织和动物收容所依托Web平台开展日常运营。主流系统普遍采用现代化Web技术构建,包括基于Node.js的高性能后端服务、Vue或React驱动的前端界面,以及MySQL、PostgreSQL等关系型数据库。这些平台功能全面,涵盖动物登记、健康记录、领养匹配、捐赠管理、志愿者调度、进度公示等多个模块,支持普通访客、注册用户、志愿者、管理员等多角色协同操作。系统设计强调流程规范与数据透明,例如捐赠款项可追溯至具体救助案例,志愿者任务状态实时更新,公众可通过评论或互动表达支持。部分平台还提供API接口,便于与政府数据库或第三方支付、地图服务集成。在用户体验方面,界面简洁、操作直观,注重移动端适配与无障碍访问。虽然技术选型多样,但其核心优势在于业务逻辑清晰、功能闭环完整、运营机制可持续。相比之下,国内相关系统在技术整合度、功能深度及长期运维能力方面仍有较大提升空间。
综合来看,国内外在流浪动物救助管理系统的建设上存在明显差异。国外相关系统起步早、发展成熟,普遍采用现代化Web技术栈,功能覆盖全面,注重多角色协同、流程规范与信息公开,已形成可长期运营的公益平台生态。系统不仅支持动物信息管理,还整合了捐赠追踪、志愿者调度、领养回访等完整业务闭环,强调用户体验与数据透明,具备较强的实用性与可持续性。国内校园或区域性流浪动物管理系统仍处于探索和初级应用阶段。尽管近年来部分项目开始采用主流技术构建平台,但整体功能较为单一,多聚焦于信息发布与简单互动,缺乏对救助全流程的有效支撑。权限体系不完善、模块耦合度高、运营机制缺失等问题普遍存在,难以满足多方协作与长期运维的需求。目前尚缺少一个面向高校场景、技术架构清晰、功能完整且可落地推广的流浪猫狗救助管理系统。因此,结合国内实际需求,借鉴国外成熟经验,开发一套基于Node.js+ Vue 的校园流浪猫狗救助管理系统,具有明确的现实价值与实践意义。
第二章
相关技术介绍
2.1NodeJS技术
Node.js 一种javascript的运行环境,能够使得javascript能够脱离浏览器运行。以前js只能在浏览器基础上运行,能够操作的也知识浏览器,比如浏览器上的放大缩小操作,前提是浏览器开启的基础上进行操作(浏览器是客户端)。有了Node.js之后,js可以在服务端进行操作,直接在系统上进行操作,可以打开、关闭浏览器等操作。
简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好[1]。Node.js 不是库,是一个运行环境,或者说是一个JS语言解释器。Node.js今天已经成为了Web 前端开发必不可少的基础设施[2]。
2.2Express框架介绍
Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单[3]。
通过使用Node Express,可以使用更少的代码来实现功能。至少通过使用Node Express可以实现中间件来响应http请求,可以定义路由表来定义不同请求的响应函数,还可以使用模板引擎来输出html页面。其实这也是Express的核心特点。
使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
(1)可以设置中间件来响应 HTTP 请求;(2)定义了路由表用于执行不同的 HTTP 请求动作;(3)可以通过向模板传递参数来动态渲染 HTML 页面[4]。
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.1系统可行性
3.1.1技术可行性
本系统采用Node.js与Express构建后端服务,Vue.js开发前端界面,MySQL作为数据库,均为成熟且广泛使用的技术栈。开发团队可借助丰富的开源生态和文档资源,高效实现用户认证、数据交互、权限控制等核心功能。系统架构清晰,前后端分离,便于模块化开发与后期维护。现有技术完全能够支撑多角色权限管理、高并发读写及数据一致性需求,技术风险较低,具备良好的可实施性。
3.1.2经济可行性
系统开发主要依赖开源技术,无需支付高昂的商业软件授权费用。硬件方面仅需普通服务器或虚拟主机即可部署,运维成本较低。开发人力以学生团队或校内技术人员为主,大幅减少外包支出。整体投入集中在初期开发与测试阶段,后续维护成本可控。在无大规模推广压力下,项目经济负担轻,资源利用效率高,具备较强的经济合理性。
3.1.3操作可行性
系统界面设计简洁直观,普通用户通过常规网页操作即可完成浏览、互动、捐赠等行为,学习门槛低。志愿者与管理员的操作流程明确,功能入口清晰,配合必要的使用说明,可快速上手。系统符合校园用户日常使用习惯,无需复杂培训,各类角色能顺畅参与救助活动,操作过程流畅、稳定,具备良好的可用性与适应性。
3.2系统功能需求
根据用户在系统中的操作权限以及功能需求的不同,本校园流浪猫狗救助管理系统在设计过程中,将用户角色划分为三大主要类别,分别为普通用户、志愿用户以及系统管理员。这三种角色在系统中分别对应不同的功能模块,并拥有相应的操作权限,以实现对各类业务流程的合理分配与管理。针对每种角色的具体功能职责,其详细的功能模块划分如下所述。
3.2.1普通用户功能分析
普通用户是校园流浪猫狗救助系统的重要参与方,主要通过平台了解动物信息、获取宠物资讯并参与爱心救助活动。用户完成注册登录后,可在首页查看通知公告、轮播图、宠物资讯及动物信息,并可通过搜索栏快速定位感兴趣的内容。
系统提供社区交流模块,支持用户浏览、发布、点赞、收藏、评论以及私信互动,便于分享救助经验与建立联系。在动物信息页面,用户可查看每只流浪猫狗的详细资料,并进行“云养”操作,表达持续关注;在救助记录板块,可了解历史救助案例并参与讨论。爱心捐赠功能允许用户进行物资或资金捐赠,捐赠公示页面则展示相关记录。积分商城支持用户使用参与行为累积的积分兑换礼品,形成正向激励机制。
个人中心集中管理用户的各项活动数据,包括我的云养、打卡互动、线下投喂记录、救助上报、爱心捐赠、兑换订单、社区交流内容以及个人收藏、点赞和评论等。用户还可在此修改个人资料与密码,全面掌控自身账户信息。通过上述功能,普通用户能够便捷、深入地参与到校园流浪动物的关爱与救助全过程。
普通用户角色用例图如图3-1所示。
图3-1普通用户用例图
3.2.2志愿用户功能分析
志愿用户是系统中承担实际救助任务与协作管理的关键角色,通常由有意愿参与校园流浪动物救助工作的师生或校外爱心人士担任。志愿用户通过管理员分配账号完成登录,无需自行注册,确保身份的可信性与任务执行的可靠性。登录后,志愿用户可进入后台首页,查看个人基本信息、修改密码,并接收系统通知。
核心功能集中在救助记录管理模块。志愿用户可查询所分配的救助任务,查看动物详情、上报人信息及历史处理记录,并在任务执行过程中更新进度状态,便于管理员和其他志愿者协同跟进。系统支持对每条救助记录添加文字说明、上传图片或标记地理位置,提升信息完整性与可追溯性。
志愿用户可浏览社区交流、宠物资讯、动物信息、捐赠公示等内容,参与点赞、评论等互动,但不具备发布权限。在个人中心,可查看自己参与的所有救助记录、任务完成情况及获得的积分,为后续激励与评优提供依据。通过明确的任务分配机制与进度反馈流程,志愿用户能够高效、有序地参与校园流浪动物的实地救助工作,成为连接公众爱心与实际行动的重要桥梁。
志愿用户角色用例图如图3-2所示。
图3-2志愿用户用例图
3.2.3管理员功能分析
管理员是系统的核心管理者,负责平台整体运行、内容审核与用户协调。管理员通过专属账号登录后台管理系统,进入后台首页后可查看各类数据统计图表,包括动物类型分布、爱心捐赠总额、积分商城兑换情况及云养记录数量等,辅助决策与资源调配。同时,管理员可维护个人资料与密码,并接收系统通知。
在用户管理方面,管理员可对普通用户和志愿者账号进行查询、查看详情,对志愿者账号进行添加与分配,确保救助队伍的有效组织。在内容管理上,管理员拥有全面的操作权限:可对动物分类与动物信息进行增删改查,并审核用户提交的救助上报;对云养记录、打卡互动、线下投喂等内容进行审核与管理;对社区交流帖子、宠物资讯、通知公告等进行发布、编辑或删除,并查看相关评论。
在业务流程管理中,管理员负责审核爱心捐赠与捐赠公示内容,管理积分商城商品上下架及用户兑换订单,处理订单取消申请。对志愿者提交的救助记录进行监督,必要时重新分配任务;。审核用户提交的志愿者申请,并管理所有申请记录。此外,管理员还具备系统级配置能力,包括轮播图设置、敏感词维护、交流与资讯分类管理,以及细粒度的权限控制。
通过上述功能,管理员能够全面掌控平台运行状态,保障信息真实、流程规范、资源合理分配,有效支撑校园流浪猫狗救助工作的有序开展。
管理员角色用例图如图3-3所示。
图3-3管理员用例图
3.3非功能性需求
可靠性:系统需在正常运行及异常情况下保持稳定,确保用户操作不因程序错误而中断。关键业务流程如救助上报提交、爱心捐赠记录、志愿者任务更新、积分兑换等应具备事务保障机制,防止数据丢失或状态不一致。系统应具备基本的容错能力,在网络波动、服务短暂中断或用户重复提交等异常场景下,能够自动恢复或提示明确错误信息,保障核心数据的完整性与一致性。
安全性:所有用户登录必须通过身份验证,密码采用强加密算法(如BCrypt)进行存储,防止信息泄露。系统严格按角色(普通用户、志愿用户、管理员)分配操作权限,限制越权访问,例如普通用户无法修改他人发布的社区内容,志愿用户仅能查看和更新所分配的救助任务,管理员拥有最高权限但敏感操作受日志约束。所有关键操作(如删除动物信息、审核救助上报、取消兑换订单、修改系统配置)均需记录详细操作日志,包含操作人、时间、IP地址及操作内容,便于安全审计与责任追溯。
易用性:界面设计简洁直观,功能布局符合用户日常使用习惯。普通用户、志愿者等非技术背景人员无需专业培训即可完成浏览动物信息、参与云养、发布评论、提交救助线索、查看捐赠公示等核心操作。关键功能入口清晰,交互流程逻辑连贯,表单填写提供必要提示与校验,减少误操作。系统支持主流浏览器访问,并适配移动端屏幕,提升用户在不同设备下的操作便捷性与满意度。
可维护性:系统采用前后端分离架构,后端基于Node.js与Express框架实现模块化开发,前端使用Vue.js进行组件化设计,代码结构清晰、接口规范、注释完整。各功能模块(如动物信息管理、社区交流、积分商城、救助记录等)高度解耦,便于开发人员独立调试、快速定位问题、修复缺陷或扩展新功能。数据库设计遵循规范化原则,字段命名统一,索引合理,有效降低长期迭代与维护成本。
性能:在常规校园网络环境下,系统页面平均加载时间不超过2秒,高频操作(如搜索动物信息、点赞评论、提交捐赠、查看个人中心)响应迅速。系统应能支持不少于500名用户同时在线操作,满足高校多院系、多用户并发访问的基本需求,保障流畅、稳定的用户体验。
3.4系统流程分析
3.4.1注册登录流程图
用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息,用户根据提示输入注册信息进行注册操作以获得个人账号,在登录界面输入账号密码等信息进行系统登录,用户注册登录流程如下图3-4所示。
图3-4系统操作流程图
3.4.2数据添加流程图
用户成功登录系统后,即可进行添加数据操作。添加的数据具有一个由系统自动生成的特定编号,用户可根据提示输入其余信息并提交,系统会对提交信息进行验证,验证通过则显示添加数据成功。数据添加流程如下图3-5所示。
图3-5数据添加流程图
3.4.3数据修改流程图
用户成功登录系统后,可进行修改数据操作,流程与添加数据操作相似,数据修改流程如下图3-6所示。
图3-6数据修改流程图
3.4.4数据删除流程图
当系统里面存在一些无效或过期的数据信息,系统支持相关的管理人员对这些数据进行删除操作,数据修改流程如下图3-7所示。
图3-7数据删除流程图
3.4.5数据搜索流程图
用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图3-8所示。
图3-8数据搜索流程图
第四章
系统设计
4.1系统架构设计
本系统在架构设计上采用了经典的三层体系结构,分别为表现层、业务逻辑层以及数据访问层,并通过集群化管理方式实现高效的数据处理与并发访问。其中表现层主要承担用户交互功能,负责信息的展示与用户输入的接收,将用户操作传达给业务逻辑层处理,并最终将处理的结果反馈给用户,采用Vue.js等技术进行构建简洁和直观前端页面,以提升界面响应速度与用户体验。业务逻辑层作为系统的核心处理单元,主要负责各类核心业务规则的封装与执行,按需与数据访问层交互,以便获取或更新所需的数据,该层基于Express框架进行开发,借助其良好的模块化设计和自动化配置能力来保障系统业务流程的高效运行与稳定性。数据访问层则专注于与数据库之间的交互操作,包括数据的存储、查询与更新等功能,系统中采用Sequelize 或 Knex 等持久层框架来实现对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-animal_class_nameification(动物分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | animal_class_nameification_id | int | 是 | 是 | 动物分类ID | |
| 2 | animal_type | varchar | 64 | 是 | 否 | 动物类型 |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-3-animal_information(动物信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | animal_information_id | int | 是 | 是 | 动物信息ID | |
| 2 | animal_coding | varchar | 64 | 是 | 是 | 动物编码 |
| 3 | animal_nickname | varchar | 64 | 否 | 否 | 动物昵称 |
| 4 | animal_cover | varchar | 255 | 否 | 否 | 动物封面 |
| 5 | animal_dynamics | text | 65535 | 否 | 否 | 动物动态 |
| 6 | animal_type | varchar | 64 | 否 | 否 | 动物类型 |
| 7 | animal_size | varchar | 64 | 否 | 否 | 动物体型 |
| 8 | animal_gender | varchar | 64 | 否 | 否 | 动物性别 |
| 9 | estimated_age | double | 否 | 否 | 预估年龄 | |
| 10 | health_status | varchar | 64 | 否 | 否 | 健康状态 |
| 11 | sterisation | varchar | 64 | 否 | 否 | 绝育情况 |
| 12 | vaccine_status | varchar | 64 | 否 | 否 | 疫苗状态 |
| 13 | animal_state | varchar | 64 | 否 | 否 | 动物状态 |
| 14 | discovery_location | varchar | 64 | 否 | 否 | 发现地点 |
| 15 | health_records | text | 65535 | 否 | 否 | 健康记录 |
| 16 | cloud_raising_rules | text | 65535 | 否 | 否 | 云养规则 |
| 17 | animal_specificss | longtext | 4294967295 | 否 | 否 | 动物详情 |
| 18 | hits | int | 是 | 否 | 点击数 | |
| 19 | praise_len | int | 是 | 否 | 点赞数 | |
| 20 | collect_len | int | 是 | 否 | 收藏数 | |
| 21 | comment_len | int | 是 | 否 | 评论数 | |
| 22 | cloud_maintenance_record_limit_times | int | 是 | 否 | 云养限制次数 | |
| 23 | create_time | datetime | 是 | 否 | 创建时间 | |
| 24 | create_by | int | 是 | 否 | 创建用户ID | |
| 25 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-4-application_record(申请记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | application_code | varchar | 64 | 否 | 否 | 申请编码 |
| 2 | application_record_id | int | 是 | 是 | 申请记录ID | |
| 3 | application_remarks | text | 65535 | 否 | 否 | 申请备注 |
| 4 | application_time | datetime | 否 | 否 | 申请时间 | |
| 5 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 6 | create_by | int | 是 | 否 | 创建用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 9 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 10 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 11 | source_id | int | 否 | 否 | 来源ID | |
| 12 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 13 | source_user_id | int | 否 | 否 | 来源用户 | |
| 14 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-5-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-6-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-7-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-8-cancel_order(取消订单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | cancel_order_id | int | 是 | 是 | 取消订单ID | |
| 2 | cancel_time | datetime | 否 | 否 | 取消时间 | |
| 3 | consumption_points | varchar | 64 | 否 | 否 | 消费积分 |
| 4 | create_by | int | 是 | 否 | 创建用户ID | |
| 5 | create_time | datetime | 是 | 否 | 创建时间 | |
| 6 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 7 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 8 | exchange_code | varchar | 64 | 否 | 否 | 兑换编码 |
| 9 | exchange_quantity | varchar | 64 | 否 | 否 | 兑换数量 |
| 10 | item_code | varchar | 64 | 否 | 否 | 物品编码 |
| 11 | item_name | varchar | 64 | 否 | 否 | 物品名称 |
| 12 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 13 | reason_for_cancellation | text | 65535 | 否 | 否 | 取消原因 |
| 14 | redemption_date | date | 否 | 否 | 兑换日期 | |
| 15 | source_id | int | 否 | 否 | 来源ID | |
| 16 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 17 | source_user_id | int | 否 | 否 | 来源用户 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-9-cloud_maintenance_record(云养记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | cloud_maintenance_record_id | int | 是 | 是 | 云养记录ID | |
| 2 | application_code | varchar | 64 | 否 | 否 | 申请编码 |
| 3 | animal_coding | varchar | 64 | 否 | 否 | 动物编码 |
| 4 | animal_nickname | varchar | 64 | 否 | 否 | 动物昵称 |
| 5 | animal_type | varchar | 64 | 否 | 否 | 动物类型 |
| 6 | animal_gender | varchar | 64 | 否 | 否 | 动物性别 |
| 7 | cloud_users | int | 否 | 否 | 云养用户 | |
| 8 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 9 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 10 | application_time | datetime | 否 | 否 | 申请时间 | |
| 11 | cloud_raising_times | varchar | 64 | 否 | 否 | 云养次数 |
| 12 | proof_of_user_identity | varchar | 255 | 否 | 否 | 身份证明 |
| 13 | yunyang_remarks | text | 65535 | 否 | 否 | 云养备注 |
| 14 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 15 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 16 | punch_in_interaction_limit_times | int | 是 | 否 | 互动限制次数 | |
| 17 | offline_feeding_limit_times | int | 是 | 否 | 线下投喂限制次数 | |
| 18 | create_time | datetime | 是 | 否 | 创建时间 | |
| 19 | create_by | int | 是 | 否 | 创建用户ID | |
| 20 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 21 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 22 | source_id | int | 否 | 否 | 来源ID | |
| 23 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-10-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-11-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-12-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-13-donation(救助上报)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | donation_id | int | 是 | 是 | 救助上报ID | |
| 2 | rescue_code | varchar | 64 | 否 | 否 | 救助编码 |
| 3 | rescue_title | varchar | 64 | 否 | 否 | 救助标题 |
| 4 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 5 | application_time | datetime | 否 | 否 | 申请时间 | |
| 6 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 7 | scene_picture | varchar | 255 | 否 | 否 | 现场图片 |
| 8 | rescue_location | varchar | 64 | 否 | 否 | 救助地点 |
| 9 | basic_information | text | 65535 | 否 | 否 | 基本信息 |
| 10 | found_the_situation | text | 65535 | 否 | 否 | 发现情况 |
| 11 | application_remarks | text | 65535 | 否 | 否 | 申请备注 |
| 12 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 13 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 14 | salvage_record_limit_times | int | 是 | 否 | 分配任务限制次数 | |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | create_by | int | 是 | 否 | 创建用户ID | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-14-follow(用户关注)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | follow_id | int | 是 | 是 | 用户关注ID | |
| 3 | followed_avatar | varchar | 255 | 否 | 否 | 被关注人头像 |
| 4 | followed_id | int | 是 | 是 | 被关注人ID | |
| 5 | followed_nickname | varchar | 255 | 否 | 否 | 被关注人昵称 |
| 6 | follower_avatar | varchar | 255 | 否 | 否 | 关注人头像 |
| 7 | follower_id | int | 是 | 是 | 关注人ID | |
| 8 | follower_nickname | varchar | 255 | 否 | 否 | 关注人昵称 |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-15-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-16-forum_type(论坛分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | varchar | 255 | 否 | 否 | 描述 |
| 3 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 4 | icon | varchar | 255 | 否 | 否 | 分类图标 |
| 5 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 6 | type_id | smallint | 是 | 是 | 分类ID | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | url | varchar | 255 | 否 | 否 | 外链地址 |
表 4-17-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-18-integral_mall(积分商城)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | hits | int | 是 | 否 | 点击数 | |
| 6 | integral_mall_id | int | 是 | 是 | 积分商城ID | |
| 7 | item_code | varchar | 64 | 是 | 是 | 物品编码 |
| 8 | item_inventory | double | 否 | 否 | 物品库存 | |
| 9 | item_name | varchar | 64 | 否 | 否 | 物品名称 |
| 10 | item_picture | varchar | 255 | 否 | 否 | 物品图片 |
| 11 | item_profile | text | 65535 | 否 | 否 | 物品简介 |
| 12 | item_specifications | varchar | 64 | 否 | 否 | 物品规格 |
| 13 | praise_len | int | 是 | 否 | 点赞数 | |
| 14 | redeem_order_limit_times | int | 是 | 否 | 积分兑换限制次数 | |
| 15 | redemption_rules | text | 65535 | 否 | 否 | 兑换规则 |
| 16 | required_points | double | 否 | 否 | 所需积分 | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-19-love_donation(爱心捐赠)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | love_donation_id | int | 是 | 是 | 爱心捐赠ID | |
| 2 | donating_users | int | 否 | 否 | 捐赠用户 | |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 5 | donation_time | varchar | 64 | 否 | 否 | 捐赠时间 |
| 6 | types_of_donations | varchar | 64 | 否 | 否 | 捐赠类型 |
| 7 | points_available | varchar | 64 | 否 | 否 | 可获积分 |
| 8 | amount_of_donation | double | 否 | 否 | 捐赠金额 | |
| 9 | donation_specificss | text | 65535 | 否 | 否 | 捐赠明细 |
| 10 | donation_remarks | text | 65535 | 否 | 否 | 捐赠备注 |
| 11 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 12 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 13 | create_time | datetime | 是 | 否 | 创建时间 | |
| 14 | create_by | int | 是 | 否 | 创建用户ID | |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-20-message_inform(通知记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | content | varchar | 255 | 否 | 否 | 内容 |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | inform_id | int | 是 | 是 | 通知ID | |
| 4 | state | varchar | 255 | 否 | 否 | 状态 |
| 5 | title | varchar | 255 | 否 | 否 | 标题 |
| 6 | type | varchar | 64 | 否 | 否 | 分类 |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | user_id | int | 是 | 是 | 通知人ID |
表 4-21-notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | notice_id | mediumint | 是 | 是 | 公告ID | |
| 2 | title | varchar | 125 | 是 | 否 | 标题 |
| 3 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 4 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-22-offline_feeding(线下投喂)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | animal_coding | varchar | 64 | 否 | 否 | 动物编码 |
| 2 | animal_nickname | varchar | 64 | 否 | 否 | 动物昵称 |
| 3 | animal_type | varchar | 64 | 否 | 否 | 动物类型 |
| 4 | appointment_remarks | text | 65535 | 否 | 否 | 预约备注 |
| 5 | appointment_time | datetime | 否 | 否 | 预约时间 | |
| 6 | cloud_users | int | 否 | 否 | 云养用户 | |
| 7 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 8 | create_by | int | 是 | 否 | 创建用户ID | |
| 9 | create_time | datetime | 是 | 否 | 创建时间 | |
| 10 | depletion_points | varchar | 64 | 否 | 否 | 消耗积分 |
| 11 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 12 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 13 | offline_feeding_id | int | 是 | 是 | 线下投喂ID | |
| 14 | source_id | int | 否 | 否 | 来源ID | |
| 15 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 16 | source_user_id | int | 否 | 否 | 来源用户 | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-23-ordinary_user(普通用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | ordinary_user_id | int | 是 | 是 | 普通用户ID | |
| 2 | user_student_number | varchar | 64 | 是 | 是 | 用户学号 |
| 3 | user_name | varchar | 64 | 否 | 否 | 用户姓名 |
| 4 | user_gender | varchar | 64 | 否 | 否 | 用户性别 |
| 5 | contact_number | varchar | 16 | 是 | 是 | 联系号码 |
| 6 | points_balance | double | 否 | 否 | 积分余额 | |
| 7 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 8 | user_id | int | 是 | 否 | 用户ID | |
| 9 | create_time | datetime | 是 | 否 | 创建时间 | |
| 10 | create_by | int | 是 | 否 | 创建用户ID | |
| 11 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-24-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-25-publicity_of_donation(捐赠公示)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | publicity_of_donation_id | int | 是 | 是 | 捐赠公示ID | |
| 2 | publicity_title | varchar | 64 | 否 | 否 | 公示标题 |
| 3 | date_of_publicity | date | 否 | 否 | 公示日期 | |
| 4 | usage | text | 65535 | 否 | 否 | 使用情况 |
| 5 | specificss_of_publicity | longtext | 4294967295 | 否 | 否 | 公示详情 |
| 6 | hits | int | 是 | 否 | 点击数 | |
| 7 | comment_len | int | 是 | 否 | 评论数 | |
| 8 | create_time | datetime | 是 | 否 | 创建时间 | |
| 9 | create_by | int | 是 | 否 | 创建用户ID | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-26-punch_in_interaction(打卡互动)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | animal_coding | varchar | 64 | 否 | 否 | 动物编码 |
| 2 | animal_nickname | varchar | 64 | 否 | 否 | 动物昵称 |
| 3 | animal_type | varchar | 64 | 否 | 否 | 动物类型 |
| 4 | clock_in_time | datetime | 否 | 否 | 打卡时间 | |
| 5 | cloud_users | int | 否 | 否 | 云养用户 | |
| 6 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 7 | create_by | int | 是 | 否 | 创建用户ID | |
| 8 | create_time | datetime | 是 | 否 | 创建时间 | |
| 9 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 10 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 11 | interactive_coding | varchar | 64 | 否 | 否 | 互动编码 |
| 12 | interactive_notes | text | 65535 | 否 | 否 | 互动备注 |
| 13 | pin_points | varchar | 64 | 否 | 否 | 打卡积分 |
| 14 | punch_in_interaction_id | int | 是 | 是 | 打卡互动ID | |
| 15 | source_id | int | 否 | 否 | 来源ID | |
| 16 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 17 | source_user_id | int | 否 | 否 | 来源用户 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-27-redeem_order(兑换订单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | redeem_order_id | int | 是 | 是 | 兑换订单ID | |
| 2 | exchange_code | varchar | 64 | 否 | 否 | 兑换编码 |
| 3 | item_code | varchar | 64 | 否 | 否 | 物品编码 |
| 4 | item_name | varchar | 64 | 否 | 否 | 物品名称 |
| 5 | required_points | varchar | 64 | 否 | 否 | 所需积分 |
| 6 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 7 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 8 | redemption_date | date | 否 | 否 | 兑换日期 | |
| 9 | exchange_quantity | double | 否 | 否 | 兑换数量 | |
| 10 | consumption_points | varchar | 64 | 否 | 否 | 消费积分 |
| 11 | redeem_remarks | text | 65535 | 否 | 否 | 兑换备注 |
| 12 | order_status | varchar | 64 | 否 | 否 | 订单状态 |
| 13 | receiving_address | text | 65535 | 否 | 否 | 领取地址 |
| 14 | cancel_order_limit_times | int | 是 | 否 | 取消订单限制次数 | |
| 15 | create_time | datetime | 是 | 否 | 创建时间 | |
| 16 | create_by | int | 是 | 否 | 创建用户ID | |
| 17 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 18 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 19 | source_id | int | 否 | 否 | 来源ID | |
| 20 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-28-releasing_notices(通知发布)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | content | varchar | 255 | 否 | 否 | 通知内容 |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | notices_id | int | 是 | 是 | 通知ID | |
| 4 | title | varchar | 255 | 否 | 否 | 通知标题 |
| 5 | type | varchar | 64 | 否 | 否 | 通知方式 |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-29-salvage_record(救助记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | salvage_record_id | int | 是 | 是 | 救助记录ID | |
| 2 | rescue_code | varchar | 64 | 否 | 否 | 救助编码 |
| 3 | rescue_title | varchar | 64 | 否 | 否 | 救助标题 |
| 4 | rescue_location | varchar | 64 | 否 | 否 | 救助地点 |
| 5 | ordinary_user | int | 否 | 否 | 普通用户 | |
| 6 | contact_number | varchar | 64 | 否 | 否 | 联系号码 |
| 7 | distribution_of_volunteers | int | 否 | 否 | 分配志愿 | |
| 8 | deadline | datetime | 否 | 否 | 截止时间 | |
| 9 | type_of_rescue | varchar | 64 | 否 | 否 | 救助类型 |
| 10 | number_of_rescues | varchar | 64 | 否 | 否 | 救助次数 |
| 11 | task_progress | varchar | 64 | 否 | 否 | 任务进度 |
| 12 | rescue_cover | varchar | 255 | 否 | 否 | 救助封面 |
| 13 | medical_program | varchar | 255 | 否 | 否 | 医疗方案 |
| 14 | medical_expenses | double | 否 | 否 | 医疗费用 | |
| 15 | medical_certificate | varchar | 255 | 否 | 否 | 医疗证明 |
| 16 | rescue_results | varchar | 64 | 否 | 否 | 救助结果 |
| 17 | the_rescue_process | text | 65535 | 否 | 否 | 救助过程 |
| 18 | situation_remarks | text | 65535 | 否 | 否 | 情况备注 |
| 19 | hits | int | 是 | 否 | 点击数 | |
| 20 | praise_len | int | 是 | 否 | 点赞数 | |
| 21 | collect_len | int | 是 | 否 | 收藏数 | |
| 22 | comment_len | int | 是 | 否 | 评论数 | |
| 23 | create_time | datetime | 是 | 否 | 创建时间 | |
| 24 | create_by | int | 是 | 否 | 创建用户ID | |
| 25 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 26 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 27 | source_id | int | 否 | 否 | 来源ID | |
| 28 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-30-sensitive_vocabulary(敏感词汇)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | create_time | datetime | 是 | 否 | 创建时间 | |
| 2 | sensitive_vocabulary | varchar | 64 | 否 | 否 | 敏感词汇 |
| 3 | sensitive_vocabulary_id | int | 是 | 是 | 敏感词汇ID | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-31-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-32-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-33-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 | | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | 是 | 否 | 邮箱认证:(0未认证|1审核中|2已认证) | |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 15 | emergency_name | varchar | 64 | 否 | 否 | 紧急联系人 |
| 16 | emergency_mobile | varchar | 32 | 否 | 否 | 紧急联系电话 |
表 4-34-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 | 是 | 否 | 更新时间 |
表 4-35-volunteer_users(志愿用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | volunteer_users_id | int | 是 | 是 | 志愿用户ID | |
| 2 | volunteer_name | varchar | 64 | 是 | 否 | 志愿姓名 |
| 3 | voluntary_gender | varchar | 64 | 否 | 否 | 志愿性别 |
| 4 | mobile_phone_number | varchar | 16 | 是 | 是 | 手机号码 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | user_id | int | 是 | 否 | 用户ID | |
| 7 | create_time | datetime | 是 | 否 | 创建时间 | |
| 8 | create_by | int | 是 | 否 | 创建用户ID | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-36-volunteers(志愿者)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
| 1 | application_record_limit_times | int | 是 | 否 | 成为志愿者限制次数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | contact_phone | varchar | 16 | 否 | 否 | 联系电话 |
| 4 | create_by | int | 是 | 否 | 创建用户ID | |
| 5 | create_time | datetime | 是 | 否 | 创建时间 | |
| 6 | deadline | datetime | 否 | 否 | 截止时间 | |
| 7 | hits | int | 是 | 否 | 点击数 | |
| 8 | recruit_new_time | datetime | 否 | 否 | 招新时间 | |
| 9 | recruitment_requirements | text | 65535 | 否 | 否 | 招募要求 |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 111 | volunteers_id | int | 是 | 是 | 志愿者ID |
第五章
系统实现
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.1.8志愿者模块
用户可在志愿者板块浏览现有志愿者名单、服务记录及评价,支持按姓名或服务类型搜索。可查看他人评论并发表自己的看法。若希望加入志愿者队伍,点击“成为志愿者”提交申请,填写相关信息后由管理员审核。该模块既展示志愿力量,也为有志者提供参与通道。界面如下图所示。
图5-8志愿者界面
5.1.9积分商城模块
积分商城展示可兑换的实物或虚拟礼品,如宠物用品、纪念徽章等。用户可浏览商品、搜索关键词,并对商品点赞、收藏或评论。拥有足够积分后,可提交兑换申请,生成兑换订单。系统自动扣减积分并通知管理员发货,兑换记录在个人中心留存,形成正向激励闭环。界面如下图所示。
图5-9积分商城界面
5.1.10个人中心模块
个人中心是用户操作的总览面板,包含个人首页、我的云养、打卡互动、线下投喂记录、救助上报历史、参与的救助记录、爱心捐赠明细、志愿者申请状态、积分兑换订单、取消订单记录、发布的社区内容及所有互动行为(收藏、点赞、评论)。所有数据按类别归档,支持快速跳转与管理,全面反映用户在平台中的参与轨迹与贡献价值。界面如下图所示。
图5-10个人中心界面
5.2志愿用户功能实现
5.2.1救助记录管理模块
志愿用户可在救助记录管理模块中查询分配给自己的救助任务,按状态(待处理、处理中、已完成)筛选或通过关键词搜索。点击任一记录可查看动物详情、上报人信息、历史处理日志及附件图片。在执行过程中,可更新任务进度,填写当前处理情况、上传现场照片、标记完成时间,并提交更新。所有操作实时同步至管理员端,形成闭环跟踪,确保救助工作透明、高效推进。界面如下图所示。
图5-11救助记录管理详情界面
5.3管理员功能实现
5.3.1后台首页模块
后台首页为管理员提供了一个全面的工作概览界面,包括功能导航栏、动物类型统计图、爱心捐赠统计图、兑换订单统计图及云养记录统计图等关键数据分析视图。此外,管理员可以查看或修改个人信息、重置密码以及查阅系统通知信息。该页面设计旨在帮助管理员快速获取平台运行状态,做出高效决策。界面如下图所示。
图5-12后台首页界面
5.3.2系统用户管理模块
管理员能够对系统的不同用户角色进行管理,包括审核家长用户与幼教用户的注册申请、查询现有用户信息、添加新用户、删除无效用户以及查看用户详情。此模块确保了平台用户数据的准确性和实时性,维护一个健康活跃的社区环境。界面如下图所示。
图5-13系统用户管理界面
5.3.3动物信息管理模块
管理员负责维护所有关于动物的基本信息,包括但不限于添加新动物资料、更新已有信息、删除过时记录以及查看评论。每条动物信息都支持附带照片和详细描述,以便于公众了解流浪猫狗的情况并参与救助行动。界面如下图所示。
图5-14动物信息管理界面
5.3.4云养记录管理模块
云养记录管理允许管理员查询所有用户的云养记录,审核新增云养请求,处理互动反馈,以及监督线下投喂活动。这不仅保证了“云养”机制的透明度和公正性,还促进了用户之间的积极交流,增强了社群凝聚力。界面如下图所示。
图5-15云养记录管理界面
5.3.5救助上报管理模块
管理员可以接收来自普通用户的救助上报,审核其真实性后将任务分配给合适的志愿者。该模块还支持添加新的救助案例、删除无效报告、查看详情以及查看评论,确保每一个需要帮助的生命都能及时获得援助。界面如下图所示。
图5-16救助上报管理界面
5.3.6爱心捐赠管理模块
管理员负责处理所有的爱心捐赠事务,从接受捐赠到公示捐赠详情,再到下载导入文档以供财务审计,每一环节都需要严格审核。该模块还包括查询、删除、添加捐赠记录等功能,确保每一笔善款都被合理使用。界面如下图所示。
图5-17爱心捐赠管理界面
5.3.7积分商城管理模块
管理员负责管理积分商城的所有商品和服务,包括查询、删除、添加新商品、查看详情以及查看评论。这有助于激发用户的参与热情,同时也确保了交易的公平与透明。界面如下图所示。
图5-18积分商城管理界面
5.3.8资源管理模块
包括宠物资讯和资讯分类的管理,管理员可以查询、删除、添加新资源、查看详情以及查看评论,为用户提供有价值的知识和信息。界面如下图所示。
图5-19宠物资讯管理界面
第六章
系统测试
6.1测试目的方法
系统测试是软件开发过程中的关键环节,其主要目的是验证系统是否能够稳定、高效地运行,确保各功能模块符合设计需求,在不同应用场景下具备良好的兼容性与安全性。通过测试发现并修复潜在问题,保障系统在实际应用中的可靠性与用户体验。
在本系统的测试过程中,采用多种测试方法相结合的方式,以确保测试的全面性和有效性,包括功能测试、性能测试、兼容性测试、安全性测试多种手段,采用自动化工具与人工测试相结合的方式,全面评估系统的各项指标,确保系统在多用户并发、复杂网络环境下的稳定运行能力。下面将主要对功能测试用例进行分析说明。
6.2功能测试用例
在登录系统之前,用户必须先注册为系统用户拥有账户权限。需要用户在注册页面根据提示填写必要的注册信息来创建账户。用户注册功能测试用例设计如表6-1所示。
表6-1 用户注册功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证用户成功注册 | 测试输入有效的用户名和密码,确认密码一致并点击注册 | 显示注册成功的提示信息 | 通过 |
| 验证用户名重复不能注册 | 测试输入已存在的用户名和输入有效的密码,确认密码一致并点击注册 | 显示用户名已存在的提示信息 | 通过 |
- 用户登录功能测试
为了使用系统的全部功能,用户首先需要进行登录。在登录界面,用户应输入其账号和密码以完成身份验证过程。有关用户登录功能测试用例设计如表6-2所示。
表6-2 用户登录功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证有效登录 | 测试输入正确的用户名和密码,点击登录按钮 | 显示登录成功,跳转至用户首页 | 通过 |
| 验证空用户名登录 | 测试不输入用户名,输入正确密码 ,点击登录按钮 | 显示用户名不能为空提示信息 | 通过 |
| 验证空密码登录 | 测试输入正确用户名,不输入密码,点击登录按钮 | 显示密码不能为空提示信息 | 通过 |
| 验证错误用户名登录 | 测试输入错误的用户名和正确密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
| 验证错误密码登录 | 测试输入正确用户名和错误密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
(3) 动物信息浏览与云养功能测试
普通用户可浏览动物信息,并进行点赞、收藏、评论及“云养”操作。该模块测试重点在于信息展示准确性与互动功能完整性。测试用例如表6-3所示。
表6-3 动物信息功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证动物列表展示 | 登录后进入“动物信息”页面 | 显示所有流浪猫狗信息,按更新时间倒序排列 | 通过 |
| 验证关键词搜索 | 输入关键词“橘猫”进行搜索 | 显示名称或描述中包含“橘猫”的动物记录 | 通过 |
| 验证云养功能 | 点击某动物“云养”按钮 | 按钮状态变为“已云养”,该动物出现在“我的云养”列表 | 通过 |
| 验证点赞与收藏 | 对动物信息分别点击点赞和收藏 | 对应数量+1,状态更新,可在个人中心查看记录 | 通过 |
| 验证评论提交 | 在动物详情页输入评论并提交 | 评论成功显示在评论区,本人可管理 | 通过 |
(4) 救助上报与记录查看功能测试
用户可提交救助线索,并查看历史救助记录。测试关注数据提交准确性、权限控制及内容展示完整性。测试用例如表6-4所示。
表6-4 救助上报与记录查看功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证救助上报提交 | 填写地点、动物状况、上传照片后提交 | 系统提示“上报成功”,记录进入待审核状态 | 通过 |
| 验证必填项校验 | 未填写地点直接提交 | 提示“请填写完整信息”并定位缺失字段 | 通过 |
| 验证救助记录查看 | 进入“救助记录”页面 | 显示所有公开的救助案例,支持搜索与互动 | 通过 |
| 验证个人上报记录 | 在“个人中心-救助上报”中查看 | 仅显示本人提交的上报记录及处理状态 | 通过 |
(5) 爱心捐赠与积分兑换功能测试
用户可通过平台进行捐赠,并使用积分在商城兑换礼品。测试聚焦于流程完整性、状态同步与防重复机制。测试用例如表6-5所示。
表6-5 爱心捐赠与积分兑换功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证捐赠提交 | 填写捐赠金额与类型后提交 | 生成捐赠记录,积分相应增加,可在“爱心捐赠”中查看 | 通过 |
| 验证积分兑换 | 在积分商城选择商品并兑换 | 扣减对应积分,生成兑换订单,状态为“待处理” | 通过 |
| 验证积分不足拦截 | 尝试兑换超出积分的商品 | 提示“积分不足,无法兑换” | 通过 |
| 验证订单取消 | 在“取消订单”页面申请取消未发货订单 | 订单状态变更为“已取消”,积分返还 | 通过 |
| 验证捐赠提交 | 填写捐赠金额与类型后提交 | 生成捐赠记录,积分相应增加,可在“爱心捐赠”中查看 | 通过 |
(6) 志愿用户救助任务更新功能测试
志愿用户需对分配的救助任务更新处理进度。测试关注任务可见性、状态更新与数据同步。测试用例如表6-6所示。
表6-6 志愿用户救助任务更新功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
| 验证任务列表加载 | 志愿用户登录后台 | 仅显示分配给自己的救助任务,按状态分类 | 通过 |
| 验证进度更新 | 选择任务,填写处理说明并上传图片,更新为“已完成” | 系统保存更新,管理员端实时同步状态 | 通过 |
| 验证空内容提交 | 未填写处理说明直接提交 | 提示“请填写处理详情” | 通过 |
| 验证历史记录查看 | 查看已完成任务详情 | 正确显示各阶段更新记录及附件 | 通过 |
6.3测试结果分析
在本次系统测试过程中,围绕校园流浪猫狗救助管理系统的多角色功能体系与核心业务流程,重点对普通用户注册登录、动物信息互动、救助上报、爱心捐赠、积分兑换,以及志愿用户任务更新等关键模块进行了全面验证。测试覆盖用户准入、信息检索、互动操作、任务闭环、权限隔离及数据一致性等实际应用场景。
经过多轮功能测试,所有设计用例均顺利通过。结果表明:系统注册流程简洁高效,无需审核即可激活账户,符合快速参与公益的设计目标;登录模块对异常输入具备有效拦截与提示能力。动物信息、救助记录、宠物资讯等内容展示准确,支持关键词搜索与多维度互动。用户可成功提交救助线索,系统防止信息缺失并保障数据完整性。爱心捐赠与积分兑换流程顺畅,积分变动实时同步,有效防止超兑或重复操作。志愿用户能准确查看分配任务,并完整更新处理进度,前后端状态一致。数据库中关于用户行为、动物档案、捐赠记录、任务日志等关键数据存储准确,未出现越权访问或逻辑冲突。
整体系统运行稳定,界面清晰,交互流畅,充分满足普通用户参与关爱、志愿者执行任务、平台透明运营的核心需求,达到了本毕业设计所设定的功能目标与应用预期。
本论文围绕校园流浪猫狗救助管理的实际需求,设计并实现了一套基于Vue.js、Node.js、Express框架与MySQL数据库的Web应用系统。前端采用Vue.js构建用户界面,实现信息展示、交互操作与状态管理。后端基于Node.js与Express搭建RESTful API,处理业务逻辑、用户认证与数据交互。MySQL用于结构化存储动物信息、用户数据、救助记录、捐赠明细等核心内容。系统通过JWT实现安全的身份验证机制,结合合理的权限控制策略,支撑普通用户、志愿用户与管理员三类角色的差异化功能需求。
系统完整实现了从动物信息发布、云养互动、社区交流、爱心捐赠到积分兑换的公众参与链路,同时支持志愿者接收任务、更新救助进度,以及管理员对全平台内容、用户、订单与系统配置的全面管理。各模块功能覆盖信息浏览、数据提交、审核流程、统计展示与社交互动,形成闭环式、透明化的校园流浪动物救助协作体系。测试结果表明,系统在功能完整性、操作流畅性与数据一致性方面达到预期目标,能够有效提升救助效率与公众参与度。
在开发过程中,深入理解了前后端分离架构的设计思想与工程实践,掌握了RESTful接口规范、数据库建模、权限控制、事务处理及日志审计等关键技术要点。通过将实际公益场景转化为可运行的软件系统,强化了需求分析、模块划分与系统集成能力,也体会到技术服务于社会价值的现实意义。
展望未来,系统可在现有基础上进一步优化。例如引入地图定位功能,实现动物位置可视化。增强通知推送机制,提升任务响应时效。扩展移动端适配能力,提升用户体验。长期来看,该平台不仅适用于高校场景,也可推广至社区、公益组织等更广泛领域,为构建人与动物和谐共处的公共环境提供可持续的数字化支撑。通过持续迭代与运营,有望成为推动校园动物保护规范化、社会化的重要工具。
- ]席季季. 基于nodejs的web应用系统高并发处理模式的研究与实现[D].北京邮电大学,2018.
- 黎青霞. Node. js在Web开发中的应用研究 [J]. 信息记录材料, 2024, 25 (10): 91-93+96.
- 冯翔. 基于Vue和Express的Fabric区块链数据浏览器的设计与实现[J].信息与电脑(理论版),2022,34(05):179-184+203.
- 陈荣鑫. 基于NodeJS+Express框架的学院会议室预定系统设计与开发[J].信息与电脑(理论版),2021,33(02):95-97.
- 谭鹤毅,刘刚. Vue.js前端开发实战教程[M]. 人民邮电出版社: 202303: 262.
- 夏祎忞. Vue.js框架下Web前端组件化开发模式实践分析 [J]. 信息与电脑, 2025, 37 (22): 125-127.
- 何轻吟,陈杰,方国才. MySQL数据库主从复制可靠性技术研究 [J]. 机电工程技术, 2025, 54 (12): 123-128.
- 陈芳.基于MySQL数据库的数据录入系统设计研究[J].科技资讯,2024,22(20):35-37.DOI:10.16661/j.cnki.1672-3791.2405-5042-7194.
- 刘春伟. 基于BS架构的分布式文件数据并行访问方法 [J]. 中国新通信, 2024, 26 (03): 21-23.
- 李慧. 基于B/S架构的数据共享网站系统的设计与实现 [J]. 微型电脑应用, 2025, 41 (09): 248-254.
- Zhou Z . The Possibility of Mutual Love: A Study on the Bidirectional Healing between Adolescents and Stray Animals[J].Applied & Educational Psychology,2025,6(3):DOI:10.23977/APPEP.2025.060322.
- Mahashati M . Attribution of Responsibility in The Context of Stray Animal Torts[J].Journal of Innovation and Development,2025,11(2):78-81.
- Rubel A ,Kaehrle M ,Streiffer R . Digital Platforms, Privacy, and the Ethics of Wildlife Information Sharing[J].Philosophy & Technology,2025,38(1):22-22.
- 何盼,刘迪. 项目化写作中的学习活动设计策略——以“校园流浪猫”项目化写作为例[J].中学语文,2024,(25):23-27+74.
- 李青芫,周倩钰,钱思翰. 基于人与动物关系的校园流浪猫居所选址研究[J].四川建筑,2024,44(03):27-30.
- 夏璿评,赵华斌. 武汉大学校园流浪猫行为生态学初步研究[J].生物资源,2024,46(02):172-177.
- 宁美娟,祝婷婷,祖汇琦. 高校校园流浪猫生存现状分析与对策研究[J].国际公关,2024,(04):39-41.
- 荣宝莹. 被校园“收编”的流浪猫们[J].平安校园,2024,(01):85-87.
- 王腾.基于猫脸智能识别的校园流浪猫救助管理系统的设计与实现[D].浙江师范大学,2023.
- 李建聪.武汉市主城区流浪猫狗管理研究[D].华中科技大学,2020.
在本次校园流浪猫狗救助管理系统的毕业设计实践过程中,我不仅积累了丰富的项目开发经验,也在不断探索与实践中实现了自我能力的提升与成长。在此,我衷心感谢我的毕业设计指导老师。在整个毕设研究与系统开发过程中,老师始终给予我悉心的指导与支持。从选题、方案设计到系统实现,老师都耐心地为我指明方向,提供专业的建议和解决方案。正是有了老师的鼓励与帮助,我才能在面对困难时坚定信心,在实践中不断突破自我,逐步提高自身的综合能力与技术水平。
同时我还要感谢学校为我提供了良好的学习环境与丰富的教学资源。这些资源不仅让我有机会接触到当前前沿的技术理念和开发工具,也为本次毕业设计的顺利进行打下了坚实的基础。在系统开发的过程中,我遇到了诸多技术难题和挑战,但通过查阅大量相关文献资料,并结合反复的实验与调试,我逐渐掌握了问题的关键所在,并找到了有效的解决策略。

219

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



