文章目录
视频演示
暂无
技术选型
本系统使用的开发语言为Java,采用后端框架SpringBoot,持久层框架MyBatis Plus,以及Vue.js、Uniapp 前端框架技术,使用MySQL数据库和Redis缓存,采用JWT技术实现了用户身份认证和权限授权。
2.1 SpringBoot
Spring随着发展逐渐变得笨重,产生大量的大量繁琐的XML配置和第三方整合配置。SpringBoot是由Pivotal团队提供的全新的Web框架,是当前web开发主流,其设计目的是用来简化Spring应用的初始搭建以及开发过程,让开发者能够更容易上手Web项目的开发,从而实现快速开发。SpringBoot 通过“习惯优于配置”的思想实现 Web 项目的快速搭建,从而避免开发人员定义样板化的配置。[[i]]因此,本系统将会使用SpringBoot框架来负责业务开发。
2.2 MyBatis Plus
MyBatis是一款优秀的用于持久层的、轻量级的框架,它封装了所有JDBC操作以及设置查询参数和获取结果集的操作,支持自定义sql、存储过程和高级映射。可以简化JDBC开发,使系统的设计更清晰,更易维护,更易单元测试。 Mybatis Plu是MyBatis 的增强工具,在MyBatis基础上只做增强不做改变。因此,本系统持久层将会使用Mybatis Plus来负责数据库的交互,达到简化开发的目的,从而提高效率,如基本的单表增删改查直接调用框架提供的方法即可。
2.3 Vue.js
Vue.js是三大前端主流框架之一,该技术是一套用于构建用户界面的渐进式JavaScript结构,是一种快速、简单、灵活的HTML框架,可以实现高效的Web页面开发,并且具有良好的可扩展性和可维护性。此外,Vue.js还可以为用户提供更好的交互体验,让用户能够更加轻松地进行用户管理和操作,从而使系统更具有活力和吸引力。因此,在构建宠物服务管理系统的管理后台的前端页面时,会使用到到Vue.js技术。
2.4 Uniapp
Uniapp 是一款以 Vue.js 为开发基础的多平台适配前端框架,开发者仅需遵循开发规范,便可实现一套代码、多平台运行的需求,极大简化了目标系统多平台适配的工作量。[[ii]]因此,选择Uniapp作为小程序端的前端开发框架,配合HBuilderX来开发 uni-app 类型的项目,运行项目到微信开发者工具。
2.5 MySQL 数据库
MySQL是Oracle旗下产品最流行的关系型数据库管理系统之一。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,由于 MySQL是开放源码软件,可以大大降低总体拥有成本。因此,本系统选择MySQL作为宠物管理系统的数据库。为了方便创建、管理和维护数据库,使用Navicat的用户界面(GUI)来帮助操作数据库,从而简化数据库的管理。
2.6 Redis缓存
Redis是基于key-value格式存储、非关系型(NoSQL)数据库,可以用来做数据库、缓存、消息中间件等场景。由于小程序是面向所有的消费者,当所有的数据查询都是从数据库MySQL中直接查询,可能出现频繁访问数据库,数据库访问压力大,系统性能下降,用户体验较差的问题。因此,本系统通过Redis来做缓存,从而降低数据库的访问压力,提高系统的访问性能,提高数据的读写性能。
2.7 JWT
JSON Web Token简称JWT,用于对应用程序上用户进行身份验证的标记。在基于微服务架构的分布式应用系统中,传统的基于 Session 模式的用户身份认证存在 Session共享的问题,多种解决方案都会增加系统的网络开销;而基于 Token 的分布式系统认证方案可以很好地解决这些问题。[[iii]]使用 JWT 之后不需要保存用户的 cookie 或其他session数据。因此,本系统通过使用JWT完成用户身份认证和权限授权,同时可保证应用程序的安全。
3 系统设计及实现
3.1 系统主要操作
要想使软件产品能够真正的符合使用者的要求,就必须对使用者的需求有一个清晰的认识。在本系统的设计程中,通过实地走访调研本地宠物店以及在网络上收集了大量的相关信息,以供参考,对宠物服务管理系统的业务流程以及用户的操作需求进行了解。通过分析宠物店的主要业务流程可知,系统涉及的人员主要为:后台系统管理员和移动端小程序消费者,他们在系统中的主要操作内容如表 3-1 所示。
表3-1 主要操作内容表
人员 | 操作内容 |
---|---|
后台系统管理员 | 对后台的所有功能都有操作权限,如:商品分类、商品上架、寄养处理等功能 |
移动端消费者 | 登录小程序前端,可以浏览商品信息、添加购物车、设置地址、在线下单等 |
3.2 系统需求分析
3.2.1 业务需求
该系统主要分为管理端后台和用户端前台。
Web管理端主要实现的功能有:
(1)登录功能。管理员必须登录系统管理后台,才能进行下一步的操作。在登录页面上,输入管理员的用户名和密码,就可以完成登录过程,从而访问系统管理后台。
(2)商品分类功能。管理员将拥有的商品进行分类,可以对其进行归纳整理,主要包括查询、新增、修改、删除功能。查询功能可以快速地定位到当前的商品分类,以便用户更方便地找到所需的商品;新增功能可以快速添加新的商品,为用户提供更多的选择;修改功能可以对商品分类进行调整,使其更加合理;删除功能可以对已有的商品分类进行删除,以确保系统中没有无用的商品。
(3)商品上架功能。可以帮助商家更快地将商品在网上展示出来,让消费者能够更方便地购买到自己想要的商品,同时也可以提升消费者购物体验。该功能的实现可以展示该商品的详细信息,如商品名称、价格等,商家可依据顾客的意见及消费反馈来对商品进行修改。
(4)订单管理需求。管理员可以管理用户的订单,包括查询订单、修改订单、确认订单等功能,实现了对用户订单信息的实时查询和跟踪,有效地提高了系统的效率。
(5)寄养需求。寄养是宠物店为消费者的宠物们提供的一系列,让它们在宠物店也能得到更好地照顾。管理员可以在系统上处理消费者提交的寄养订单。通过系统上的展示可以了解宠物的到店时间、寄养时间等信息。
Web管理端用例图如下图所示: