云计算百科
云计算领域专业知识百科平台

基于springboot香水分享平台的设计与实现-计算机毕设 附源码 24624

springboot香水分享平台的设计与实现

摘要

香水分享平台的设计与实现旨在为用户提供一个集香水信息浏览、交流互动、个性化收藏及管理于一体的综合服务平台。基于Spring Boot框架开发,该平台不仅支持普通用户注册登录后进行香水信息的详细查询和互动,如私信聊天、加入香单、评论点赞等,还提供了香水排行榜、香水百科以及社区论坛等功能模块,极大地丰富了用户的使用体验。此外,针对管理员设计了一系列后台管理功能,包括但不限于系统用户管理、香水信息管理、公告信息发布以及敏感词过滤等,确保平台内容的准确性和安全性。

在技术层面,通过采用Spring Boot作为核心框架,香水分享平台实现了前后端分离,提升了系统的可扩展性和维护性。小程序端则为用户提供了便捷的移动端入口,使用户能够随时随地访问平台资源。特别地,香水信息添加页面和管理系统使得香水数据的更新与维护变得简单高效,而轮播图管理和敏感词管理功能进一步增强了用户体验和平台的安全性。整个项目体现了对香水爱好者需求的深入理解和响应,同时也展示了现代Web开发技术在构建复杂业务逻辑和服务体系中的强大能力。

关键词:香水分享平台;SpringBoot;微信小程序

Abstract

The design and implementation of perfume sharing platform aims to provide users with a comprehensive service platform integrating perfume information browsing, communication and interaction, personalized collection and management. Developed based on the Spring Boot framework, the platform not only supports the detailed inquiry and interaction of perfume information by ordinary users after registration and login, such as private message chat, joining the fragrance list, commenting and liking, but also provides functional modules such as perfume ranking, perfume encyclopedia and community forum, greatly enriching the user experience. In addition, a series of background management functions have been designed for administrators, including but not limited to system user management, perfume information management, announcement information release and sensitive word filtering, etc., to ensure the accuracy and security of the platform content.

At the technical level, by using Spring Boot as the core framework, the perfume sharing platform realizes the separation of the front and back ends, and improves the scalability and maintenance of the system. The small program side provides users with a convenient mobile terminal entrance, allowing users to access platform resources anytime and anywhere. In particular, the perfume information addition page and management system make the update and maintenance of perfume data simple and efficient, while the rotation chart management and sensitive word management functions further enhance the user experience and the security of the platform. The entire project demonstrates a deep understanding and responsiveness to the needs of perfume lovers, while also demonstrating the power of modern Web development techniques in building complex business logic and services.

Key words:Perfume sharing platform; SpringBoot; Wechat mini program

目录

摘要

Abstract

1 绪 论

1.1 研究背景

1.2 国内外研究现状

1.3 选题目的

1.4 课题研究的意义

1.5 研究的内容及方法

2 相关技术介绍

2.1 Java语言

2.2 B/S框架

2.3 SpringBoot框架

2.4 Vue技术

2.5 MySQL数据库

2.6 微信开发者工具

3 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 操作可行性

3.1.3 经济可行性

3.2 功能需求分析

3.2.1 普通用户功能

3.2.2 管理员功能

3.3 非功能性分析

4 系统设计

4.1 系统设计流程

4.1.1 用户登录流程

4.1.2 添加信息流程

4.1.3 修改信息流程

4.1.4 删除信息流程

4.2 系统功能模设计

4.3 数据库表ER

4.4 数据库表物理设计

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.2 管理员功能实现

5.2.1 香水信息管理

5.2.2 香水排行榜管理

5.2.3 系统管理

5.2.4 资源管理

6 系统测试

6.1 测试目的

6.2 测试方法

6.3 测试内容

6.4 测试结论

7 结论

参考文献

致谢

附录

系统核心代码设计

1绪 论

1.1研究背景

香水作为一种独特的个人配饰,不仅能够增添个人魅力,还能表达个性与情感。随着互联网技术的发展和移动设备的普及,用户获取香水信息的方式从传统的线下体验逐渐转变为线上浏览和交流。然而,现有的香水分享平台在功能性和用户体验上仍存在诸多不足之处,如香水信息更新不及时、用户互动性差、个性化服务缺乏等。因此,设计并实现一个集香水信息查询、用户互动、个性化推荐以及后台管理于一体的香水分享平台显得尤为重要。这样的平台不仅能帮助用户更好地了解香水文化,发现心仪的产品,还能为用户提供一个分享心得、交流感受的空间。

在此背景下,本项目基于Spring Boot框架和小程序开发技术,致力于打造一个高效、便捷且功能全面的香水分享平台。通过整合香水品牌、香调类型、用户评价等多种信息资源,该平台为用户提供了一个全方位了解香水特性的窗口。同时,借助于私信聊天、香水排行榜、香水百科等功能模块,进一步增强了用户的参与度和满意度。对于管理员而言,平台提供的数据导入导出、敏感词过滤、公告发布等管理功能,有助于维护平台内容的准确性和安全性。这一研究不仅丰富了香水爱好者的信息获取渠道,也为香水文化的推广和发展提供了新的思路和技术支持。

1.2国内外研究现状

在国内,随着消费者对香水的认知和需求不断增长,越来越多的研究关注于香水市场的动态、消费者行为以及电商平台的角色。例如,艾媒咨询的报告显示,中国香水市场正在经历快速扩张,预计到2029年市场规模将达到515亿元人民币。此外,研究还揭示了消费者偏好趋势,如女性消费者占据主要市场份额,花果香调最受欢迎,并且香味的独特性成为选择香水的新风向。同时,线上渠道的重要性日益凸显,电商与直播平台成为了香水销售的重要途径,而内容分享平台则在消费者获取香水资讯方面扮演着关键角色。

在国外,香水行业同样是一个充满活力的研究领域,尤其是在品牌文化、消费者心理以及可持续发展等方面。国际上,香水不仅被视为一种美容产品,更是一种文化和艺术的表现形式。研究表明,西方消费者更加注重香水的品牌故事和调香师的艺术创意,这影响了他们的购买决策。此外,随着环保意识的增强,绿色和可持续香水产品的市场需求逐渐上升,促使企业探索更加环保的生产方式和包装材料。国外对于香水的研究还包括对不同文化和地域间香气偏好的差异分析,这些研究为香水品牌的全球化策略提供了理论依据。总体而言,无论是国内还是国外,香水行业的研究都显示出了其多元化的发展趋势和对消费者心理及行为的深入探讨。

1.3选题目的

香水分享平台的选题目的旨在通过设计与实现一个基于Spring Boot框架和小程序技术的香水分享平台,满足日益增长的香水爱好者对于便捷获取香水信息、交流使用心得以及个性化收藏管理的需求。该平台不仅提供详尽的香水资料查询、用户互动交流社区、个性化的香水推荐和管理功能,还为管理员提供了高效的数据管理和内容审核机制,确保平台信息的准确性和安全性。借此,本研究致力于促进香水文化的传播与发展,增强消费者对香水产品的了解与探索,同时为电子商务平台的设计与优化提供新的思路和技术支持,以适应数字化时代的发展趋势。

1.4课题研究的意义

研究香水分享平台的设计与实现具有重要的现实意义和理论价值。首先,从用户角度来看,该平台能够满足消费者对香水信息的获取需求,提供一个便捷、全面且互动性强的信息交流空间。通过整合香水品牌、香调类型、用户评价等多种资源,平台不仅帮助用户更好地了解香水产品的特性,还支持个性化推荐,使用户能够根据自己的喜好快速找到合适的香水。此外,社区功能如私信聊天、香水排行榜、香水百科等,增强了用户的参与感和归属感,促进了香水文化的传播与发展。这为香水爱好者提供了一个共享经验、交流心得的理想场所,同时也为潜在消费者提供了丰富的参考信息。

从技术和商业角度分析,本研究利用Spring Boot框架和小程序技术进行开发,展示了现代信息技术在构建高效、灵活的网络服务平台上的应用潜力。通过对香水信息管理、后台数据维护、内容安全审核等功能模块的设计,研究强调了系统设计对于提升用户体验和保障平台健康运营的重要性。此外,管理员端的功能设置也为平台的长期发展提供了有力支持,包括但不限于数据更新、敏感词过滤以及公告发布等,确保了平台内容的新鲜度和安全性。总之,这一研究不仅推动了香水行业数字化转型的步伐,也为类似电子商务平台的设计与优化提供了有价值的参考案例和技术借鉴。

1.5研究的内容及方法

香水分享平台的研究内容主要集中在香水分享平台的功能设计与实现上,包括用户端和管理员端的多个功能模块。在用户端,研究详细探讨了注册登录、首页展示、私信聊天、香水信息浏览、香水排行榜、香水百科、香水社区以及个人信息管理等功能的设计思路。例如,在香水信息模块中,通过提供详细的香水描述(如品牌、香调类型、调香师、留香时间等)和用户互动功能(点赞、收藏),增强了用户的参与度。而在管理员端,则着重于系统用户管理、香水信息及香单管理、排行榜管理、系统管理和公告信息发布等功能的设计,确保平台内容的质量与安全。这些功能的设计旨在为用户提供一个全面且个性化的香水信息服务平台,同时保障平台运营的高效性。

为了实现上述功能,本研究采用了Spring Boot框架进行后端开发,并结合小程序技术来构建用户友好的移动端界面。Spring Boot以其简化配置、快速部署的特点,非常适合用于开发这种需要处理复杂业务逻辑的服务平台。此外,通过引入数据库管理系统(如MySQL或PostgreSQL)存储用户信息、香水详情、评论等内容,保证数据的一致性和安全性。对于前端开发,采用微信小程序或其他类似的小程序框架,可以有效地提升用户体验,使其能够便捷地访问香水信息并进行互动。研究方法还包括需求分析、系统设计、编码实现、测试验证等多个阶段,以确保系统的功能性、稳定性和可扩展性。通过对用户反馈的持续收集与分析,进一步优化平台功能,满足用户的多样化需求。

2相关技术介绍

2.1Java语言

Java语言是一种广泛使用的高级编程语言,具有平台无关性、面向对象特性和丰富的标准库。Java通过Java虚拟机(JVM)实现跨平台运行,开发者可以编写一次代码,在任何支持JVM的环境中执行[1]。Java的面向对象特性使得代码复用和模块化变得更加容易,促进了软件的维护和扩展。Java支持多线程编程,允许开发者在同一程序中同时执行多个任务,提升了应用程序的性能。

Java语言的语法结构简洁且易于理解,吸引了大量开发者。Java的标准库包含数据结构、输入输出处理、网络编程等众多功能模块。这使得开发者在构建应用程序时能够高效利用已有工具,减少重复劳动。Java广泛应用于企业级应用、移动应用、Web开发和大数据处理等领域。

2.2 B/S框架

B/S(Browser/Server)架构是一种基于浏览器和服务器的系统架构模式,用户通过浏览器与服务器进行交互。B/S架构简化了客户端的部署和管理,用户无需在本地安装复杂的软件,只需使用标准浏览器即可访问应用程序。服务器端负责处理业务逻辑和数据存储,客户端则主要负责展示用户界面和数据交互[2]。B/S架构的设计使得系统更新和维护集中在服务器端,降低了维护成本。

B/S架构通常采用Web技术进行实现,包括HTML、CSS和JavaScript等。用户在浏览器中发起请求,服务器响应并返回数据。数据传输通常通过HTTP或HTTPS协议进行,B/S架构的灵活性使其适用于在线购物、信息管理系统和社交网络等各类应用场景[3]。由于其易于扩展性,B/S架构可以方便地支持大规模用户访问,适应不断变化的业务需求。

2.3 SpringBoot框架

SpringBoot框架是基于Spring框架的开源项目,简化Java应用程序的开发过程。SpringBoot通过约定优于配置的理念,减少了传统Spring应用的繁琐配置,开发者可以快速搭建和部署应用程序。框架提供了一系列默认配置,支持自动化配置,简化了应用启动的复杂性[4]。SpringBoot内置了嵌入式Web服务器,使得开发者能够独立运行Java应用,无需外部容器。

SpringBoot支持微服务架构,开发者可以轻松创建和管理多个微服务。框架集成了丰富的功能模块,包括安全、数据访问和消息中间件等,支持RESTful API和JSON数据格式的处理[5]。SpringBoot还提供了强大的监控和管理功能,允许开发者实时监控应用的健康状态和性能指标。借助SpringBoot,开发者能够高效构建和维护现代企业级应用,满足复杂业务需求。

2.4 Vue技术

Vue是一种渐进式JavaScript框架,专注于构建用户界面。Vue采用组件化的开发模式,允许开发者将应用程序拆分为独立的、可重用的组件,从而提高了开发效率和代码的可维护性[6]。框架的核心库专注于视图层,支持数据绑定和DOM操作,提供了简洁的API。Vue的虚拟DOM机制提升了应用的性能,减少了实际DOM操作的次数。

Vue支持双向数据绑定,能够自动更新视图与模型之间的变化。开发者可以通过Vue的指令系统,简化数据展示和事件处理。Vue还支持路由管理和状态管理,使得开发复杂单页面应用变得更加容易[7]。借助Vue的生态系统,开发者能够使用多种工具和库来扩展功能,满足不同的业务需求。Vue在前端开发中逐渐成为主流选择,受到广泛关注和应用。

2.5 MySQL数据库

MySQL是一种开源关系型数据库管理系统,广泛应用于Web应用和企业级数据存储。MySQL支持结构化查询语言,允许开发者通过标准语句进行数据的创建、读取、更新和删除操作[8]。数据库通过表格形式组织数据,支持数据完整性和约束条件的定义。MySQL的存储引擎机制使得用户可以根据具体需求选择不同的存储引擎,以优化性能和功能。

MySQL具有高性能和可扩展性,支持大规模数据存储和高并发访问。系统提供了丰富的用户权限管理和数据加密安全特性。MySQL能够与多种编程语言和框架兼容,广泛应用于内容管理系统、电子商务平台和数据分析等各种场景。

2.6微信开发者工具

微信开发者工具是一款专为小程序开发设计的应用,它通过不断改进提供了便捷的操作方式,在开发过程中可以通过微信扫描二维码来访问,从而实现快速、准确的小程序开发和调试[9]。根据用户需求,我们将采用不同的屏幕大小优化小程序的设计;完成视图布置后,可通过执行编辑功能快速更改当前的视图界面。控制台方便调试打印输出信息,而上传代码至腾讯服务器时需填写版本号和备注信息以确保代码的安全性和准确性。查看资源文件可以快速调整相关项目的文件目录,便于断点调试;使用远程调试技术,无论是在手机端还是PC端,都能轻松进行开发工作。本地数据存储显示了本地存储的数据,通过使用子父层级结构更易于进行视图调试。考虑到微信小程序的代码体积应保持在2M以内,在开发过程中还需严格检查合法域名信息,并为小程序后台配置服务器域名。微信开发者工具已成为开发过程中不可或缺的一部分,并且正在不断地改进和完善。

3系统分析

3.1可行性分析

3.1.1技术可行性

系统采用当前主流的SpringBoot和Vue.js开发框架,具备良好的技术基础。这些技术已被广泛应用于多种商业项目,具备成熟的文档和社区支持,便于开发获取必要的资源与解决方案。个人拥有丰富的相关技术经验,能够有效应对潜在技术挑战。所需的软硬件资源易于获取,且具备良好的兼容性,降低了技术实现的难度。

3.1.2操作可行性

系统具备直观友好的用户界面,支持简便的导航和功能访问,极大地提升了用户的使用体验。系统提供了自定义的工作流程和角色权限管理,使不同层级的用户能够快速上手,完成各自的任务。

3.1.3经济可行性

系统所使用的软件为开源技术,降低了使用费用,同时硬件成本较低,使得整体初始投入相对合理,具备较高性价比。因此,系统在经济上是完全可行的。

3.2功能需求分析

3.2.1普通用户功能

(1)注册登录:用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。

(2)首页:用户进入香水分享平台的时候,首先映入眼帘的是系统的首页、私信聊天、香水信息、香水排行榜、香水百科、香水社区、公告信息等信息。

(3)私信聊天:用户可以通过私信聊天功能与好友进行一对一的交流,点击“添加好友”按钮可以添加新朋友。此外,用户还可以参与群聊,与多个朋友一起讨论香水心得和个人喜好,分享更多乐趣。

(4)香水信息:在香水信息模块中,用户能够浏览不同品牌的香水信息列表,查看每款香水的图片、名称、品牌和香调类型等基本信息。点击感兴趣的香水可进入详情页,展示了更详细的香水描述,如调香师、留香时间、用户评分以及前调、中调和后调成分等,同时用户可点击“加入香单”按钮把喜欢的香水加入个人香单列表,记录加入日期与备注信息,便于日后管理和分享自己的香水收藏。此外,用户还可以利用点赞、收藏等功能互动交流。

(5)香水排行榜:在香水排行榜模块中,用户可以通过香水排行榜功能查看最受欢迎的香水,排行榜根据点赞数、点击数、收藏数和发布时间进行排序。用户可以轻松找到高人气的香水,并根据自己的喜好进行选择点赞、收藏和评论。

(6)香水百科:用户点击可查看新闻资讯列表,同时可对资讯文章进行点赞、收藏和评论。

(7)香水社区:用户点击可查看交流论坛帖子列表,可对帖子进行查看、点赞、收藏和评论;同时可点击“发布”按钮填写论坛发布信息,包括封面图、标题、分类、标签和正文。

(8)公告信息:通知公告功能模块用于发布重要信息和更新通知。用户可以在这里查看最新的网站公告、关于我们、联系方式和网站介绍等内容,确保及时获取有关香水的相关信息和动态。

(9)我的:我的包含多个功能模块,用户可以在“我的”页面查看和管理个人信息,包括收藏的香水、香单信息和参与的社区活动。此外,用户还可以通过该页面进行退出登录操作,确保账户安全。

普通用户用例图如下:

图3-1普通用户用例图

3.2.2管理员功能

(1)登录:管理员账号密码由系统生成,可使用账号密码可进行登录系统后台,使用系统功能进行管理,并可对自己的个人信息和密码进行管控。

(2)系统用户:管理员点击可查看系统用户(管理员、普通用户)列表中某个用户的详情,可以对用户信息进行查询、审核、添加和删除操作。

(3)香调分类管理:管理员点击可查看香调分类列表,同时可对香调分类就那些增删改查。

(4)香水信息管理:管理员可以通过香水信息管理功能,先点击“下载导入文档”按钮获取模板,将需要添加或更新的香水信息填入文档后,再点击“导入”按钮完成数据上传。此外,管理员也可以直接点击“香水信息添加”按钮在添加页面中添加香水信息,也可对信息查看、编辑和删除,确保平台数据库的准确性和完整性。

(5)香单信息管理:管理员点击可查看香单信息列表。

(6)香水排行榜管理:管理员点击可查看香水排行榜列表和香水排行榜添加;点击进入“香水排行榜添加”看填写相关信息,包括榜单名称、排行日期、中文名称、香水类型、排行名词、香水品牌、香水图片、排行说明和排行详情。

(7)系统管理:管理员可以通过系统管理功能,进行轮播图管理和敏感词管理。在轮播图管理中,可以上传、编辑和删除首页展示的图片,确保平台视觉效果的更新和美观。在敏感词管理中,可以设置和维护敏感词汇列表,过滤不当内容,保障平台信息的安全性和合规性。

(8)公告信息管理:当管理点击“公告信息管理”时,可查看公告信息;如需添加新的公告信息,点击右侧“添加”按钮,输入标题和正文,点击“确认”按钮进行添加。

(9)资源管理:管理员点击可查香水百科和百科分类;如需添加新的百科,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对百科和分类进行增删改查。

(10)交流管理:管理员可以通过“交流管理”功能来管理和维护香水社区。可以查看用户的帖子,确保社区交流内容的健康和积极。此外,管理员还可以通过查询、重置和删除等功能,对社区中的信息进行有效的管理和维护。

管理员用例图如下:

图3-2 管理员用例图

3.3非功能性分析

香水分享平台的非功能性需求比如香水分享平台的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-3表格中:

表3-3香水分享平台非功能需求表

安全性

主要指香水分享平台数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指香水分享平台能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响香水分享平台占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着香水分享平台的页面展示内容进行操作,就可以了。

可维护性

香水分享平台开发的可维护性是非常重要的,经过测试,可维护性没有问题

4系统设计

4.1系统设计流程

4.1.1用户登录流程

用户输入用户名和密码后,系统先检查输入是否为空,再验证用户名是否存在,若存在则通过用户名获取密码并校验。若密码正确则登录成功,否则提示密码错误。若用户名不存在或无法登录,提示用户操作无效。如图4-1所示。

图4-1登录流程图

4.1.2添加信息流程

管理员可以添加信息,用户添加可以自己权限内的信息,输入信息后,要想利用这个软件来进行系统的安全管理,首先需要登录到该软件中。添加信息流程如图4-2所示。

图4-2添加信息流程图

4.1.3修改信息流程

用户首先选择需要修改的记录,输入修改后的数据,系统判断输入数据是否合法。若数据不合法,提示重新输入;若数据合法,则将修改后的数据写入数据库,完成操作后流程结束。修改信息流程图如图4-3所示。

图4-3修改信息流程图

4.1.4删除信息流程

用户选择需要删除的记录后,系统判断是否确认删除。若未确认,返回选择环节;若确认删除,则更新数据库,删除对应记录,完成操作后流程结束。删除信息流程图如图4-4所示。

图4-4删除信息流程图

4.2系统功能模设计

通过系统的总体需求分析已经了解到系统的所有功能,本节将从普通用户、和管理员模块分别展开描述。其总体设计模块图如图4-5所示。

图4-5系统功能图

4.3数据库表ER

数据库概念模型是数据库设计的一个阶段,它描述了数据库中数据的逻辑结构和之间的关系,而不关注具体的实现细节[10]。概念模型通常用于数据库设计的初期阶段,以帮助开发人员和用户理解数据库中存储的数据以及数据之间的关系。

数据库概念模型通常采用高层次的概念来描述数据,常见的概念模型包括实体-关系模型(Entity-Relationship Model,ERM)、面向对象模型(Object-Oriented Model)等。在概念模型中,数据被抽象为实体(Entity)和实体之间的关系(Relationship),并且定义了实体的属性(Attribute),通常以E-R图来表达。系统总ER图如下。

图4-6系统ER图

4.4数据库表物理设计

表 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

表 4-8-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-9-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-10-fragrant_classification(香调分类)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

fragrant_classification_id

int

香调分类ID

2

fragrance_type

varchar

64

香调类型

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-11-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-12-incense_list_information(香单信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

incense_list_information_id

int

香单信息ID

2

chinese_name

varchar

64

中文名称

3

english_name

varchar

64

英文名称

4

perfume_brand

varchar

64

香水品牌

5

fragrance_type

varchar

64

香调类型

6

ordinary_user

int

普通用户

7

user_name

varchar

64

用户姓名

8

name_of_incense_list

varchar

64

香单名称

9

incense_single_grouping

varchar

64

香单分组

10

date_added

date

加入日期

11

note_information

text

65535

备注信息

12

create_time

datetime

创建时间

13

update_time

timestamp

更新时间

14

source_table

varchar

255

来源表

15

source_id

int

来源ID

16

source_user_id

int

来源用户

表 4-13-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

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

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

user_area

varchar

64

用户地区

5

personality_signature

varchar

64

个性签名

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-15-perfume_information(香水信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

perfume_information_id

int

香水信息ID

2

chinese_name

varchar

64

中文名称

3

english_name

varchar

64

英文名称

4

perfume_brand

varchar

64

香水品牌

5

fragrance_type

varchar

64

香调类型

6

perfume_pictures

varchar

255

香水图片

7

perfume_attributes

varchar

64

香水属性

8

perfumer

varchar

64

调香师

9

fragrance_retention_time

varchar

64

留香时间

10

user_rating

varchar

64

用户评分

11

front_tone_composition

text

65535

前调成分

12

mid_tone_component

text

65535

中调成分

13

post_adjustment_component

text

65535

后调成分

14

introduction_to_perfume

text

65535

香水简介

15

details

longtext

4294967295

详情内容

16

hits

int

点击数

17

praise_len

int

点赞数

18

collect_len

int

收藏数

19

comment_len

int

评论数

20

recommend

int

智能推荐

21

incense_list_information_limit_times

int

加入香单限制次数

22

create_time

datetime

创建时间

23

update_time

timestamp

更新时间

表 4-16-perfume_leaderboard(香水排行榜)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

perfume_leaderboard_id

int

香水排行榜ID

2

list_name

varchar

64

榜单名称

3

ranking_date

date

排行日期

4

chinese_name

varchar

64

中文名称

5

type_of_perfume

varchar

64

香水类型

6

ranking

varchar

64

排行名次

7

perfume_brand

varchar

64

香水品牌

8

perfume_pictures

varchar

255

香水图片

9

row_description

text

65535

排行说明

10

ranking_details

longtext

4294967295

排行详情

11

hits

int

点击数

12

praise_len

int

点赞数

13

collect_len

int

收藏数

14

comment_len

int

评论数

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

表 4-17-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已取消

表 4-18-sensitive_vocabulary(敏感词汇)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

sensitive_vocabulary_id

int

敏感词汇ID

2

sensitive_vocabulary

varchar

64

敏感词汇

3

create_time

datetime

创建时间

4

update_time

timestamp

更新时间

表 4-19-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-20-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-21-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-22-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-23-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-24-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-25-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-6香单信息界面。

5.1.6香水排行榜

香水排行榜:在香水排行榜模块中,用户可以通过香水排行榜功能查看最受欢迎的香水,排行榜根据点赞数、点击数、收藏数和发布时间进行排序。用户可以轻松找到高人气的香水,并根据自己的喜好进行选择点赞、收藏和评论。界面如下图所示。

图5-7香水排行榜界面。

5.1.7香水社区

香水社区:用户点击可查看交流论坛帖子列表,可对帖子进行查看、点赞、收藏和评论;同时可点击“发布”按钮填写论坛发布信息,包括封面图、标题、分类、标签和正文。界面如下图所示。

图5-8香水社区界面。

5.1.8我的

我的:我的包含多个功能模块,用户可以在“我的”页面查看和管理个人信息,包括收藏的香水、香单信息和参与的社区活动。此外,用户还可以通过该页面进行退出登录操作,确保账户安全。界面如下图所示。

图5-9我的界面。                                                              

5.2管理员功能实现

5.2.1香水信息管理

香水信息管理:管理员可以通过香水信息管理功能,先点击“下载导入文档”按钮获取模板,将需要添加或更新的香水信息填入文档后,再点击“导入”按钮完成数据上传。此外,管理员也可以直接点击“香水信息添加”按钮在添加页面中添加香水信息,也可对信息查看、编辑和删除,确保平台数据库的准确性和完整性。界面如下图所示。

图5-10香水信息管理界面。

图5-11香水信息添加界面。

5.2.2香水排行榜管理

香水排行榜管理:管理员点击可查看香水排行榜列表和香水排行榜添加;点击进入“香水排行榜添加”看填写相关信息,包括榜单名称、排行日期、中文名称、香水类型、排行名词、香水品牌、香水图片、排行说明和排行详情。界面如下图所示。

图5-12 香水排行榜添加界面。

5.2.3系统管理

系统管理:管理员可以通过系统管理功能,进行轮播图管理和敏感词管理。在轮播图管理中,可以上传、编辑和删除首页展示的图片,确保平台视觉效果的更新和美观。在敏感词管理中,可以设置和维护敏感词汇列表,过滤不当内容,保障平台信息的安全性和合规性。界面如下图所示。

图5-13系统管理界面。

5.2.4资源管理

资源管理:管理员点击可查香水百科和百科分类;如需添加新的百科,点击“添加”按钮,上传封面图,输入标题,选择分类,输入标签、描述和正文,点击“确认”按钮进行添加。同时可对百科和分类进行增删改查。界面如下图所示。

图5-14资源管理界面。

6系统测试

6.1测试目的

测试的主要目的是确保系统的功能和性能满足预期的需求,同时识别和修复潜在的缺陷。通过系统测试,可以验证各个功能模块的正确性和稳定性,确保系统在不同使用场景下的表现符合设计要求。测试目的包括确认系统功能的完整性、验证数据处理的准确性、评估系统的性能和安全性。测试还可以提高用户满意度,保证用户在使用系统时获得流畅和可靠的体验。通过全面的测试,可以降低后期维护成本,减少系统上线后出现故障的风险,从而保障系统的长期稳定运行。

6.2测试方法

在本系统中,测试方法主要依赖于测试用例的设计与执行。测试用例是根据系统需求文档编写的,覆盖所有功能模块及其边界情况。每个测试用例包含输入数据、预期结果和实际结果的对比,以验证系统的功能是否按预期工作。

常见的测试用例包括功能测试用例、边界测试用例和异常测试用例[11]。功能测试用例针对系统的各项功能进行验证;边界测试用例则侧重于输入数据的边界条件,验证系统在极端情况下是否能够稳定运行;异常测试用例则用于验证系统在处理错误输入或异常情况时的反应。本文选择功能测试用例进行系统测试。

在测试执行过程中,记录每个用例的执行结果,并根据实际结果与预期结果的对比,判断系统是否存在缺陷。通过系统化的测试用例执行,可以有效提高测试的覆盖率和效率,为系统的最终上线提供保障。

6.3测试内容

用户登录功能测试

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

用例名称

普通用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

香水信息查看功能测试:

表6-2 香水信息查看功能测试表

用例名称

香水信息查看测试

目的

测试用户能否正常查看香水信息

前提

用户登录

测试流程

点击首页的香水信息

预期结果

是否可以查看香水信息列表

实际结果

实际结果与预期结果一致

香水信息添加功能测试:

表6-3香水信息添加功能测试表

用例名称

香水信息添加管理测试

目的

测试香水信息功能能否正常编辑发布

前提

管理员正常登录

测试流程

(1)管理员登录,点击“香水信息管理”,再点击“香水信息添加”,填写相关信息。

(2)点击确认按钮提交

预期结果

页面显示新的香水信息

实际结果

实际结果与预期结果一致

密码修改功能测试:

表6-4密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

6.4测试结论

根据以上测试结果,可以总结出系统的各项功能均能按预期正常运行。用户登录功能测试表明,用户在输入正确的用户名和密码后能够成功登录;香水信息看功能测试验证了用户能够正常搜索查看香水信息;香水信息管理功能成功完成了信息发布和搜索显示;管理员密码修改功能也能顺利完成密码更新,且新密码能够正常登录。总的来说,系统功能完善,用户体验良好,各项功能均符合预期。

7结论

本研究成功设计并实现了一个基于Spring Boot框架和微信小程序技术的香水分享平台,该平台集成了香水信息浏览、用户互动交流、个性化推荐以及后台管理等多种功能。通过整合详尽的香水资料查询、用户社区互动、个性化的香水推荐与管理等功能模块,平台不仅提升了用户体验,还促进了香水文化的传播与发展。用户能够便捷地获取香水信息、分享使用心得,并根据个人喜好进行香水收藏和管理。同时,管理员端的功能设置确保了平台内容的质量与安全,实现了对香水信息的有效管理和维护。研究表明,这种综合性的服务平台能够极大地满足用户需求,增强用户参与感和满意度。

此外,通过对开发过程的研究和实践,我们验证了采用Spring Boot框架和微信小程序技术在构建高效、灵活的网络服务平台上的有效性。这些技术的应用不仅简化了开发流程,还提高了系统的可扩展性和维护性。尤其在当前数字化快速发展的背景下,本研究为类似电子商务平台的设计与优化提供了有价值的参考案例和技术支持。未来的工作可以进一步探索如何利用大数据分析和人工智能技术提升个性化推荐的准确性,以及如何通过引入更多社交元素来增强用户的互动性和粘性,从而持续推动香水分享平台的发展和创新。综上所述,本研究不仅为香水爱好者提供了一个全面的信息服务平台,也为行业内的技术应用和发展提供了新的思路。

参考文献

  • 尹应荆.JAVA编程语言在计算机软件开发中的应用[J].石河子科技,2023,(05):45-47.
  • 刘江涛,王亮亮,吴庆茹,等.基于B/S模式的铁路勘测设计案例信息化管理系统设计与实现[J].铁路计算机应用,2021,30(03):32-35.
  • 张丹丹,李弘.基于B/S架构的办公管理系统设计与开发[J].铁路通信信号工程技术,2024,21(09):44-48+106.
  • 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  • 熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2021,15(36):76-77.
  • 赵媛.基于Vue的Web系统前端性能优化分析[J].电脑编程技巧与维护,2024,(09):44-46.
  • 秦冬.浅析Vue框架在前端开发中的应用[J].信息与电脑(理论版),2024,36(13):61-63.
  • 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  • 袁堂青,亓婧.基于微信小程序的开发与研究[J].网络安全技术与应用,2020,(04):66-67.
  • 周晓玉,崔文超.基于Web技术的数据库应用系统设计[J].信息与电脑(理论版),2023,35(09):189-191.
  • 李俊萌.计算机软件测试技术与开发应用策略分析[J].信息记录材料,2023,24(03):50-52.
  • 赵道致,谭新月,段越龙.考虑服务差异的产能分享平台增值服务策略研究[J/OL].工业工程与管理,1-16[2025-04-14].http://kns.cnki.net/kcms/detail/31.1738.T.20250226.1527.010.html.
  • 王娅荇.“互联网+”背景下甘肃省香水梨产业经济效益提升策略[J].南方农业,2024,18(18):81-83.DOI:10.19415/j.cnki.1673-890x.2024.18.027.
  • 吴伟斌,赵家欣,王冬青.基于JavaWeb的编程教学资源分享平台设计与实现[J].无线互联科技,2024,21(17):58-61+65.
  • 赵琳,鄂尔江.用户跨平台信息分享行为影响因素研究[J].情报探索,2024,(07):93-101.
  • 夏小涵.香奈儿女士香水在华市场营销战略研究[D].东北财经大学,2023.DOI:10.27006/d.cnki.gdbcu.2023.000493.
  • 陈淑婧.Q香水公司营销策略研究[D].浙江工商大学,2023.DOI:10.27462/d.cnki.ghzhc.2023.001681.
  • 唐丽华.香水时代App垂直型内容电商平台运营模式探究[J].投资与创业,2023,34(16):37-39+130.
  • 孟石.小程序安全分析工具的研究与实现[D].北京邮电大学,2023.DOI:10.26969/d.cnki.gbydu.2023.003101.
  • 黄铄,林锴,戚耀中,等.微信小程序安全问题浅析[J].数字通信世界,2023,(05):81-83.
  • 致谢

    在本项目的实施过程中,许多人给予了我无私的支持和帮助,令我深感感谢。

    我要衷心感谢我的指导老师。不仅在项目的初期提供了宝贵的建议,还在整个过程中给予了我细致入微的指导。专业知识和严谨态度始终激励着我,让我在遇到困难时能够保持信心,继续前行。每一次的讨论都让我对项目有了更深刻的理解,帮助我克服了许多技术难题。

    我也要感谢参与用户测试的同学们。你们的反馈和建议为我们系统的优化提供了重要的参考,帮助我们更好地理解用户需求。正是因为有了你们的参与,我们才能够不断改进,提升系统的用户体验。感谢所有支持我的家人和朋友。你们的理解与鼓励让我在项目的紧张时刻始终能够保持积极的心态,成为我前进的动力。每当我遇到挑战时,想到你们的支持,我就能够重新振作,继续努力。最后,我要感谢所有在我职业发展过程中给予帮助的人。每一次的交流与分享都让我受益匪浅,拓宽了我的视野,让我在这条道路上走得更加坚定。

    项目的完成不仅是我个人努力的结果,更是许多人共同支持与协作的成果。在此,我再次向所有关心和支持我的人表达衷心的感谢。希望未来我们能够继续携手,共同创造更多的价值和成就。

    附录

    系统核心代码设计

    代码:

    连接数据库的文件在Resources 文件夹下的application.yml文件,代码如下:

    server:

      port: 5000

      servlet:

        context-path: /api

    spring:

      mvc:

        static-path-pattern: /upload/**

      resources:

        static-locations: file:此处填写地址/project93355/server/src/main/resources/static

    datasource:    

    jdbc:mysql://127.0.0.1:3306/projectxxxxx?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8

        username: root

        password: root

        driver-class-name: com.mysql.cj.jdbc.Driver

        type: com.alibaba.druid.pool.DruidDataSource

      jackson:

        property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES

        default-property-inclusion: ALWAYS

        time-zone: GMT+8

        date-format: yyyy-MM-dd HH:mm:ss

      servlet:

     项目启动文件Application.java,代码如下:

    @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

    @EnableJpaRepositories

    @MapperScan("com.project.demo.dao")

    public class Application {

        public static void main(String[] args) {

            SpringApplication.run(Application.class,args);

        }

    }

    修改数据代码如下:

        @PostMapping("/set")

    @Transactional

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

            service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

            return success(1);

        }

    删除一条数据代码如下:

        @RequestMapping(value = "/del")

        @Transactional

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

            service.delete(service.readQuery(request), service.readConfig(request));

            return success(1);

        }

        public void delete(Map<String,String> query,Map<String,String> config){

            QueryWrapper wrapper = new QueryWrapper<E>();

            toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

            baseMapper.delete(wrapper);

            log.info("[{}] – 删除操作:{}",wrapper.getSqlSelect());

        }

    通过请求的参数获取列表数据,代码如下:

        @RequestMapping("/get_list")

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

            Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

            return success(map);

        }

    获取某个组下面的数量,代码如下:

        @RequestMapping(value = {"/count_group", "/count"})

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

            Integer value= service.selectSqlToInteger(service.groupCount(service.readQuery(request), service.readConfig(request)));

            return success(value);

        }

    注册页登录代码如下:

        /**

         * 注册

         * @param user

         * @return

         */

        @PostMapping("register")

        public Map<String, Object> signUp(@RequestBody User user) {

            // 查询用户

            Map<String, String> query = new HashMap<>();

            Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

            query.put("username",user.getUsername());

            List list = service.selectBaseList(service.select(query, new HashMap<>()));

            if (list.size()>0){

                return error(30000, "用户已存在");

            }

            map.put("password",service.encryption(String.valueOf(map.get("password"))));

            service.insert(map);

            return success(1);

    }     

    MD5加密,代码如下:

        public String encryption(String plainText) {

            String re_md5 = new String();

            try {

                MessageDigest md = MessageDigest.getInstance("MD5");

                md.update(plainText.getBytes());

                byte b[] = md.digest();

                int i;

                StringBuffer buf = new StringBuffer("");

                for (int offset = 0; offset < b.length; offset++) {

                    i = b[offset];

                    if (i < 0)

                        i += 256;

                    if (i < 16)

                        buf.append("0");

                    buf.append(Integer.toHexString(i));

                }

                re_md5 = buf.toString();

            } catch (Exception e) {

                e.printStackTrace();

            }

            return re_md5;

    }

    登录页代码如下:

     /**

         * 登录

         * @param data

         * @param httpServletRequest

         * @return

         */

        @PostMapping("login")

        public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

            log.info("[执行登录接口]");

            String username = data.get("username");

            String email = data.get("email");

            String phone = data.get("phone");

            String password = data.get("password");

            List resultList = null;

            Map<String, String> map = new HashMap<>();

            if(username != null && "".equals(username) == false){

                map.put("username", username);

                resultList = service.selectBaseList(service.select(map, new HashMap<>()));

            }

            else if(email != null && "".equals(email) == false){

                map.put("email", email);

                resultList = service.selectBaseList(service.select(map, new HashMap<>()));

            }

           

    找回密码,接收用户输入的用户名、密码、验证码,并进行条件判断,代码如下:

        /**

         * 找回密码

         * @param form

         * @return

         */

        @PostMapping("forget_password")

        public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) {

            JSONObject ret = new JSONObject();

            String username = form.getUsername();

            String code = form.getCode();

            String password = form.getPassword();

            // 判断条件

            if(code == null || code.length() == 0){

                return error(30000, "验证码不能为空");

            }

            if(username == null || username.length() == 0){

                return error(30000, "用户名不能为空");

            }

            if(password == null || password.length() == 0){

                return error(30000, "密码不能为空");

            }

    请关注点赞+私信博主,免费领取项目源码

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 基于springboot香水分享平台的设计与实现-计算机毕设 附源码 24624
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!