摘 要
基于微信小程序的邓佳鑫发展平台是一款专为邓佳鑫打造的在线成长记录与分享应用。该平台充分利用微信的庞大用户基础和便捷性,为用户提供一个简洁、直观的界面。
该系统采用java技术,结合springboot框架使页面更加完善,后台使用MySQL数据库进行数据存储。基于微信小程序的邓佳鑫发展平台是一款创新的、专为儿童成长设计的应用程序,为家庭教育提供了一个信息交流和资源共享的社区环境。
关键词:邓佳鑫发展;Java技术; SpringBoot框架
Abstract
The Deng Jiaxin Development platform based on wechat mini program is an online growth record and sharing application created for Deng Jiaxin. The platform takes full advantage of wechat's large user base and convenience to provide users with a simple and intuitive interface.
The system uses java technology, combined with springboot framework to make the page more perfect, the background uses MySQL database for data storage. The Deng Jiaxin Development Platform, based on the wechat mini program, is an innovative application designed specifically for children's growth, providing a community environment for information exchange and resource sharing for family education.
Key words: Deng Jiaxin development; Java Technology; SpringBoot Framework
目录
1绪论
1.1 研究背景与意义
随着互联网技术的飞速发展和智能移动设备的普及,数字化育儿成为现代家庭的新趋势。在这一背景下,基于微信小程序的邓佳鑫发展平台应运而生,旨在利用微信广泛的用户基础和便利的操作界面。该平台的研究背景不仅源于对传统育儿方式的数字化转型需求,也反映了当代家长对于提升育儿质量、加强家庭教育的社会期待。
研究这一平台的意义在于多方面。它能够帮助家长更加科学地记录和分析孩子的成长数据,从而对孩子的健康发展进行更好的规划和引导。通过小程序社区的建立,家长可以相互交流经验,共同探讨育儿难题,形成一个互帮互助的良好氛围。平台上丰富的教育资源和专家建议能够为家长提供专业的指导,帮助他们在纷繁复杂的信息中甄别和选择最适合自己孩子的成长路径。
基于微信小程序的邓佳鑫发展平台不仅为家长提供了一个方便、高效的育儿助手,还促进了家庭、学校和社会资源的整合,对促进儿童全面发展和家庭教育的现代化具有重要的研究和实践意义。
1.2国内外研究现状
在国外,这一领域的研究较早起步,已有多款应用如BabyCenter、Cozi Family Organizer等集成了儿童成长追踪、家庭活动规划等功能,且部分应用已实现与医疗、教育资源的链接,为家长提供全面的支持。这些应用多采用数据同步技术,实现了信息的实时更新与共享,并注重用户隐私保护。它们大多独立于社交平台,缺乏社交网络带来的互动和信息传播优势。
在国内,研究和应用则借助微信这一庞大的社交生态,通过小程序形式使服务更加便捷和贴近用户日常生活。除了普遍的成长记录和分享功能外,国内的平台还尝试融合教育、亲子活动、在线咨询等多元服务,以形成更为完善的育儿生态系统。宝宝树、妈妈帮等应用均提供了类似的综合服务。目前国内市场上针对特定儿童个体的定制化服务平台尚属少数,且在数据分析和个性化推荐方面仍有较大的提升空间。
基于微信小程序的邓佳鑫发展平台填补了现有研究的空白,不仅利用微信的庞大用户群体和强大的社交功能,还致力于打造一个集个性化内容、专家指导和家庭教育资源于一体的全方位育儿平台。该平台的研究与实践,将为国内外数字化育儿领域带来新的启示和方向。
1.3 论文的内容和结构
本系统开发过程中采用Java作为后端开发语言,引入了基于用户相似度的协同过滤算法,用于提供个性化的推荐功能。并利用了Spring Boot框架,这使得复杂的业务逻辑和数据操作得以高效完成。在数据存储和操作方面,我们选择了MySQL数据库。在开发工具方面,我们选用了Eclipse和Navicat。Eclipse作为一款成熟的开发工具,为我们提供了丰富的功能和强大的支持。而Navicat作为数据库管理工具,拥有友好的用户界面和强大的SQL处理能力,从而大大提高了我们的开发效率。系统分管理员和用户两大部分,主要包括对首页、用户、信息分类、邓佳鑫信息、商品分类、官方周边、官方订单、官方配送信息、用户商品、购买商品、订单信息、粉丝社区、系统管理、我的信息等进行操作。
本文一共把主要内容分为六个大部分,采用传统面向对象的方法进行划分并描述和分析每个部分的需求:
第一章是前言部分,该部分主要是拓展了方案的背景与意义,对此系统的国内外有价值的研究做了分析调查。
第二章是概述系统的相关技术,详细的介绍了系统所使用的相关语言和开发结构。
第三章是对系统的需求进行分析,对可行性需求,功能需求和流程等做相关分析。
第四章主要对小程序的功能做分析,并描述了数据库等相关内容的设计。
第五章主要是将基于微信小程序的邓佳鑫发展平台划分成后台管理界面和小程序端的用户,以及各部分相关功能页面。
第六章主要是进行系统功能测试。
2系统相关技术概述
2.1微信小程序框架概述
(1) 逻辑层
逻辑层就是微信小程序中所有.js文件的集合,在逻辑层小程序会给视图层发送处理好的数据,同时视图层将时间请求反馈回来给逻辑层。其中微信团队进行了一系列的优化,例如通过使用app的方法来作为小程序的入口,对页面还使用了page的方法来未作页面的入口。同时还陆陆续续的提供了许多多功能的API接口,这个对于开发者来说是非常便利的,同时微信团队还将页面的作用域进行独立化,这样使得页面具有了模块化的功能,可以管理小程序的生命周期,实现数据和事件的分发等功能。但是逻辑层中比较特殊的一点就是在逻辑层中的js代码并不是在浏览器中运行的,因此js在web中不具有dom、window等一部分能力,所以在平时的开发过程中我们要注意这些点。
(2) 视图层
.wxml文件和.wxss文件的集合就是组成了微信小程序的视图层,其中在.wxml文件中实现页面结构的搭建,包括元素组成、数据的显示、事件的绑定等。视图层的页面是通过bind绑定的,同时也支持冒泡事件的绑定,但这个还是有区别于HTML的on的。而.wxss文件则完成页面结构和数据的显示样式,而数据的显示又是以小程序的基本单位组件(component)来展示的,特别的是为了适配各式的设备屏幕,微信小程序还新增了一个尺寸单位rpx,通过使用这个单位来进行页面的布局,很好的实现各种设备不同屏幕下的页面的自适应显示,大大提高了开发者的工作效率。
数据层中可以缓存临时数据,本地存储,可以存储或者调用网络。首页数据层中通过setData()函数将数据传递给视图层以达到数据改变驱动页面的改变的目的,在 开发过程中切忌频繁使用setData(),否会出现页面卡顿或数据未更新的情况。同时微信小程序还为本地的存储提供了一些比较成熟的API接口,例如设置缓存数据的本地存储wx.setStorage,获取缓存数据的API接口wx.getStorage以及清除缓存数据的接口wx.clearStorage。而网络的存储和调用的实现也可以通过一些成熟的API来实现,例如上传文件接口wx.uploadFile,与其对应的下载文件接口wx.downloadFile和最常用的网络请求的接口wx.request。在平时的微信页面跳转中则是一些网络的调用,包括页面的跳转wx.navigateTo,该方法除了不能跳转至tabBar页面以外其他的都可以跳转,且还可以返回原来的页面。
2.2 Java技术简介
Java技术是一种非常经典的用来搭建信息网站平台的编程技术,它广泛的被应用于众多互联网企业的后端开发项目,它在JDK中运行,以封装、继承和多态的形式存在,层次清晰,可以和MVC的三层模型相配合。JAVA编程语言的体系结构具有一定的中立性, 可以较好的适用于各类平台、站点、系统等。java具有高效性,可移植性强等特点。
它被技术人员广泛的应用于建设网站、数据库操作等领域。Java编程语言在网站开发领域和电子经商等领域具有相当的地位。开发人员可以使用不同的框架进行编译,从而达到预期的效果。同时,Java语言是高度安全的,该功能主要得益于它的存储模型[1]。
2.3 SpringBoot框架
SpringBoot是一种基于Java的开源框架,它的目标是简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于提供一种快速高效开发的方法,并成为新型Spring项目的标准。SpringBoot的主要优点是它能够快速创建独立的、生产级别的基于Spring的应用程序,这些应用程序可以直接运行而无需任何外部依赖项。它采用约定优于配置的原则,这意味着它鼓励开发者遵循一些最佳实践来处理应用程序的配置、编码和部署,从而减少人工干预和出错的可能性。在内部,SpringBoot使用了一个名为Spring Application Context的东西,这是一个Spring容器,它负责实例化、配置和组装应用程序中的对象。这个容器是轻量级的,并且提供了很多默认配置,使得开发者可以专注于业务逻辑而不是样板代码。此外,SpringBoot还提供了许多插件和自动配置的功能,这使得开发者可以根据项目需求轻松地添加或更改功能。例如,如果项目中需要数据库支持,开发者只需在项目的依赖管理文件中添加相应的数据库驱动依赖,SpringBoot就会自动配置数据源和相关的JDBC组件。除了简化了配置过程外,SpringBoot还提供了嵌入式的Web服务器,如Tomcat、Jetty或Undertow,这意味着开发者不需要单独安装和配置这些服务器就可以直接运行和测试Web应用。SpringBoot还提供了一系列的起步依赖,用于快速集成常用的库和框架,如Spring Security、Spring Data JPA和Spring Websocket等。这些起步依赖预先定义了一些合理的默认配置,让开发者能够以最少的工作量实现复杂的功能。另外,SpringBoot也提供了Actuator模块,这是一个监控和管理应用的工具,可以帮助开发者了解应用的运行状况和性能指标。总的来说,SpringBoot是一个功能强大、易于使用的框架,它旨在简化Spring应用的开发、配置和部署过程。它的设计理念是将约定优于配置的原则与自动化配置相结合,以减少开发者的负担,使他们能够更快地交付高质量的软件产品[2]。
2.4 MySQL数据库技术简介
MySQL数据库是一种开源的关系型数据库管理系统(RDBMS),它以其高性能、高可靠性和易用性而广受欢迎。MySQL是基于结构化查询语言(SQL)的,这是一种用于管理关系数据库的标准语言。由于其开源性质,MySQL可以免费使用,这使它成为许多开发者和企业的首选数据库解决方案。MySQL的核心功能包括数据存储、查询、更新和管理。它使用表来组织数据,这些表由行(记录)和列(字段)组成,每个表代表一个不同的数据集。用户可以使用SQL语句来创建、读取、更新和删除表中的数据。这种灵活性使得MySQL可以适应各种数据存储和检索需求。MySQL还支持多种数据类型,包括整数、浮点数、字符串和日期等,这使得它可以存储各种格式的数据。此外,MySQL还提供了一系列的完整性约束,如主键、外键、唯一性和检查约束,以确保数据的准确性和一致性。在性能方面,MySQL采用了多种优化技术,如索引、缓存和分区等,以提高查询的速度和效率。索引是一种特殊类型的数据库对象,它可以帮助快速定位到表中的特定行;缓存则是将经常访问的数据存储在内存中,以减少磁盘I/O操作;分区则允许将大型表分割成更小、更易于管理的部分。在安全性方面,MySQL提供了多种安全特性,如用户认证、访问控制和加密等。这些特性可以帮助保护数据免受未经授权访问和其他安全威胁的影响。此外,MySQL还支持备份和恢复功能,这使得用户可以在数据丢失或损坏时恢复数据。随着技术的发展,MySQL也在不断进化。近年来,它引入了许多新特性和改进,如JSON支持、窗口函数和角色管理等。这些改进使得MySQL能够更好地满足现代应用的需求。总的来说,MySQL是一个强大而灵活的关系型数据库管理系统,它提供了丰富的功能和工具来帮助开发者和管理员有效地管理和使用数据。无论是小型应用还是大型企业级应用,MySQL都可以提供一个可靠的、高效的数据存储和管理解决方案。
2.5 B/S结构
浏览器/服务器(B/S)是一种比它的前身更简单的体系结构。它使用Web服务器来完成数据的传输和通信。只要把浏览器作为用户端下载下来,你就可以简化你的工作,所以你不必担心安装软件的问题[3]。
2.6推荐算法介绍
推荐算法是一类算法,它根据用户的历史行为、偏好和需求,利用数据分析技术为用户推荐他们可能感兴趣的商品或服务。常见的推荐算法包括基于内容的推荐、协同过滤推荐以及混合推荐等。基于内容的推荐通过分析用户过去喜欢的物品特征来推荐类似的物品;协同过滤推荐则分为用户基和物品基两种,前者通过找到相似用户来推荐物品,后者则是通过找到相似物品来进行推荐;混合推荐结合了多种方法,以提高推荐的准确度和覆盖度。随着人工智能技术的发展,深度学习也被应用于推荐系统中,使得推荐更加精准和个性化。
3系统需求分析
3.1需求分析概述
基于微信小程序的邓佳鑫发展平台主要是为了提高用户的工作效率,满足用户对更方便、更快、更好地存储所有信息和数据检索功能的要求。通过对多个邓佳鑫发展网站的合理分析,确定了基于微信小程序的邓佳鑫发展平台的各个模块。考虑到用户的可操作性,经过深入调查研究,遵循系统优化和开发的原则。
为了实现当前网络的分析功能和便利性,基于微信小程序的邓佳鑫发展平台使用户能够在平台上直接查看他们需要的数据信息,不仅可以节省管理时间,还可以改变传统的管理模式。由于时间有限,很难亲自会面和沟通,因此很难满足用户的需求。因此,迫切需要开发一个基于微信小程序的邓佳鑫发展平台,以满足用户的需求,提高用户的使用率。基于微信小程序的邓佳鑫发展平台必须更快、更有效地向用户或潜在用户提供信息。为基于微信小程序的邓佳鑫发展平台建立更好的沟通平台,提高用户信息交流的服务效率。该系统可以满足大多数用户提出的问题,用户可以根据自己的需要获得相应的服务,为用户提供了一条快捷的途径。
3.2系统可行性分析
基于微信小程序的邓佳鑫发展平台研发出来可以为广大人民群众解决邓佳鑫发展管理的问题,大大降低人民时间成本,不需要将无谓的时间浪费在道路上,并且邓佳鑫发展管理可以更大化的将信息展露在人们的眼前供其选择。它是一款多用户使用的系统,比较符合业务逻辑,是通过互联网解决复杂和单调问题的典型案例。
3.2.1技术可行性
技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,基于微信小程序的邓佳鑫发展平台能够真正的实现数据层和表示层的分离,以及小程序端页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后端管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等。
3.2.2经济可行性
通过结合以上对系统的技术和可行性分析来判断对系统经济状况的预算是否大于系统开发资金的比例。因此,通过分析系统的业务模式和开发者模式,不会浪费大量资金,系统的使用价值大于资本价值。
3.2.3法律可行性
该基于微信小程序的邓佳鑫发展平台是面向大众开源化和不收取任何费用的。它的主要目的是帮助人们解决邓佳鑫发展问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制力。
3.3系统用例分析
本课题要求实现一套基于微信小程序的邓佳鑫发展平台,系统主要包括管理员和用户两大功能模块。
(1)管理员功能包括对首页、用户、信息分类、邓佳鑫信息、商品分类、官方周边、官方订单、官方配送信息、用户商品、购买商品、订单信息、粉丝社区、系统管理、我的信息等进行操作,用例图如下所示:
图3-1管理员用例图
(2)用户注册登录进入小程序端,点击“我的”可以对官方订单、官方配送信息、用户商品、购买商品、订单信息、我的收藏、联系我们、我的发帖、修改密码等进行详细操作。用例图如下所示:
图3-2用户用例图
3.4系统其他需求分析
3.4.1性能要求
在开发了一个功能较为良好系统之后,首要考虑的就是它的性能要求,比如当用户使用它进行点击或提交功能时,它会产生多久的延迟,系统响应速度快不快,如果短时间同时有较多用户访问网站是否会产生系统崩溃,是否采用高并发接口,另外,存储功能进行中的代码量是否满足算法和数据结构,以及是否占用较大内存等:
(1)系统应具备快速的反映时间,对于并发特征得到解决。
(2)系统对用户密码是否进行了加密并进行大量安全处理。
(3)系统代码量是否简洁,不会占用计算机太多内存。
3.4.2安全要求
对于安全要求要进行可靠性分析,可靠性分析有利于可实现安全性、可靠 性设计与系统功能设计在数据源上的统一。就本系统的安全性能而言,数据的账户和密码需要以明文形式显示,并严格加密。更改密码、修改个人数据、添加信息需要相应权限。
3.4.3作业环境要求
(1)系统:Windows系统足够,兼容性强
(2)Web服务器:内置tomcat,无需安装、运行和使用
(3)数据库服务器:MySQL 5.5及以上,图形界面为SQLYG
(4)浏览器:谷歌或Firefox开发者浏览器
(5)JDK1.8及以上,内置插件maven等。
3.5系统流程分析
(1)个人信息流程图
用户在成功进入系统以后,可以获得姓名,性别,年龄等个人信息。获得个人信息的流程见图3-3所示。
图3-3个人信息流程图流程图
用户进行登录操作的流程图如图3-4。
图3-4 登录界面流程图
用户进行注册操作的流程图如图3-5。
图3-5 用户注册流程图
3.6本章概述
本章主要介绍基于微信小程序的邓佳鑫发展平台的使用案例和系统的相关可行性要求。我已经从技术、经济和法律三个方面确认了该系统可以在线运行。
4 系统设计
4.1系统结构图
基于微信小程序的邓佳鑫发展平台分为两个部分,即管理员和用户。该系统是根据用户的实际需求开发的,贴近生活。从管理员处获得的指定账号和密码可用于进入系统和使用相关的系统应用程序。管理员拥有最大的权限,其次是用户。管理员一般负责整个系统的运行维护和总体协调。系统结构如图4-1所示。
图4-1系统结构图
4.2数据库设计
所有的网站设计但凡有数据都离不开数据库,数据库是所有项目想实现如数据获取,数据传输等功能的基石。只有合理化的数据库设计才能满足商业化的要求,数据库的主键外键连接方式特别的重要,尽量避免多对多的复杂性,字段名合理规范,且通俗易懂等,字段应根据业务进行设定,不允许操作多字段而对系统产生占用多余的内存。
4.2.1数据库设计原则
设计原则自然就是要符合范式的要求,多表之间的关系要合理,理应符合系统的实际情况。
4.2.2数据库的概念设计
概念设计是将整体分为在地面上表达出来的单个个体。E-R图形象的连接了实体模型和概念模型。因此,E-R图需要根据数据库表和表字段进行合理设计,表达的概念知识点用图形描述,可以直观地让相应人员清楚,并分解整个E-R图。我们通常表达不清晰没有概念的东西。但是通过E-R之间的联系,E-R模型法是对这种模糊概念的事务最简单、最常用的设计方法。如图4-2所示:
图4-2系统局部E-R图
4.2.3数据库表设计
数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。
表4-1:管理员表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-2:二手交易
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
guige | varchar | 200 | 规格 | ||
jiage | double | 价格 | |||
shuliang | int | 数量 | |||
fengmian | longtext | 4294967295 | 封面 | ||
shangjiariqi | date | 上架日期 | |||
shangpinjianjie | longtext | 4294967295 | 商品简介 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-3:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-4:官方周边评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-5:二手交易评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-6:邓佳鑫信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-7:订单信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
fengmian | longtext | 4294967295 | 封面 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
jiage | double | 价格 | |||
shuliang | int | 数量 | |||
zongjia | double | 总价 | |||
dingdanzhuangtai | varchar | 200 | 订单状态 | ||
qianshoushijian | datetime | 签收时间 | |||
dizhi | varchar | 200 | 地址 | ||
maijiazhanghao | varchar | 200 | 买家账号 | ||
maijiaxingming | varchar | 200 | 买家姓名 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-8:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-9:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-10:联系我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
表4-11:地址
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
address | varchar | 200 | 地址 | ||
name | varchar | 200 | 收货人 | ||
phone | varchar | 200 | 电话 | ||
isdefault | varchar | 200 | 是否默认地址[是/否] |
表4-12:购买商品
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
fengmian | longtext | 4294967295 | 封面 | ||
zhanghao | varchar | 200 | 账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
jiage | double | 价格 | |||
shuliang | int | 数量 | |||
zongjia | double | 总价 | |||
xiadanshijian | datetime | 下单时间 | |||
beizhu | varchar | 200 | 备注 | ||
dizhi | varchar | 200 | 地址 | ||
maijiazhanghao | varchar | 200 | 买家账号 | ||
maijiaxingming | varchar | 200 | 买家姓名 | ||
lianxidianhua | varchar | 200 | 联系电话 | ||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-13:粉丝社区
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 帖子标题 | ||
content | longtext | 4294967295 | 帖子内容 | ||
parentid | bigint | 父节点id | |||
userid | bigint | 用户id | |||
username | varchar | 200 | 用户名 | ||
avatarurl | longtext | 4294967295 | 头像 | ||
isdone | varchar | 200 | 状态 | ||
istop | int | 是否置顶 | 0 | ||
toptime | datetime | 置顶时间 |
表4-14:邓佳鑫信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
biaoti | varchar | 200 | 标题 | ||
xinxifenlei | varchar | 200 | 信息分类 | ||
jianjie | longtext | 4294967295 | 简介 | ||
shipin | longtext | 4294967295 | 视频 | ||
fabushijian | date | 发布时间 | |||
fengmian | longtext | 4294967295 | 封面 | ||
neirong | longtext | 4294967295 | 内容 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-15:商品分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinfenlei | varchar | 200 | 商品分类 |
表4-16:官方周边
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shangpinmingcheng | varchar | 200 | 商品名称 | ||
shangpinfenlei | varchar | 200 | 商品分类 | ||
guige | varchar | 200 | 规格 | ||
jiage | double | 价格 | |||
fengmian | longtext | 4294967295 | 封面 | ||
shangjiariqi | date | 上架日期 | |||
shangpinjieshao | longtext | 4294967295 | 商品介绍 | ||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-17:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-18:信息分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
xinxifenlei | varchar | 200 | 信息分类 |
5系统的实现
5.1小程序端实现
5.1.1注册登录界面的实现
在登录流程中,用户首先在uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录界面如图5-1所示。
图5-1 登录界面
在注册流程中,用户在uni前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。系统注册页面如图5-2所示:
图5-2系统注册页面
5.1.2 小程序首页功能的实现
小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、粉丝社区、我的等。小程序首页界面如图5-3所示。
图5-3 小程序首页界面图
邓佳鑫信息;在邓佳鑫信息页面输入标题可以查看到邓佳鑫详细信息,并进行收藏操作;如图5-4所示。
图5-4邓佳鑫信息界面图
5.1.3用户功能
用户登录成功后,在我的页面可以对官方订单、官方配送信息、用户商品、购买商品、订单信息、我的收藏、联系我们、我的发帖、修改密码等进行详细操作。用户功能界面如图5-5所示。
图5-5用户功能界面图
5.2 管理员功能的实现
在登录流程中,用户首先在UNI前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-6所示。
图5-6管理员登录界面图
管理员登录进入系统可以对首页、用户、信息分类、邓佳鑫信息、商品分类、官方周边、官方订单、官方配送信息、用户商品、购买商品、订单信息、粉丝社区、系统管理、我的信息等功能进行详细操作,如图5-7所示。
图5-7管理员功能界面图
用户功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写用户信息表单。这些用户信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图5-8所示。
图5-8用户界面图
信息分类功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写信息分类表单。这些信息分类表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除信息分类信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便信息分类功能可以看到最新的信息或相应的操作反馈。如图5-9所示。
图5-9信息分类界面图
邓佳鑫信息:在邓佳鑫信息页面的输入栏中输入标题、信息分类或简介进行查询、添加或删除邓佳鑫信息,可以查看到邓佳鑫详细信息,并进行查看、修改、查看评论或删除操作;邓佳鑫信息页面如图5-10所示:
图5-10邓佳鑫信息界面
商品分类:在商品分类页面的输入栏中输入商品分类进行查询、添加或删除商品分类信息,可以查看到商品分类详细信息,并进行查看、修改或删除操作;商品分类页面如图5-11所示:
图5-11商品分类界面
官方周边:在官方周边页面的输入栏中输入商品名称或商品分类进行查询、添加或删除官方周边信息,可以查看到官方周边详细信息,并进行查看、修改、查看评论或删除操作;官方周边页面如图5-12所示:
图5-12官方周边界面
官方订单:在官方订单页面的输入栏中输入商品名称、姓名或是否支付进行查询、日收入或删除官方订单信息,可以查看到官方订单详细信息,并进行查看、发货或删除操作;官方订单页面如图5-13所示:
图5-13官方订单界面
6系统测试
在系统开发上市前都需要经过严格的系统测试。主要测试访问请求的延迟时间,对于一些未知和危险的问题,需要严格的测试和解决方案。
6.1系统测试的重要性
对于程序来说,系统测试应该根据程序的指定业务、程序的承载能力、程序代码的效率、数据库服务器的存储和设计进行测试。
6.2性能测试
若同时有大量用户和大量请求进入是看服务器是否响应延迟时间来比较性能的。我们可以从代码,程序逻辑,接口使用,数据库优化等方面逐个做仿真测试。
为了保证测试的有效性和程序的安全性,我们主要从两个方面进行测试:一是系统功能节点测试,二是接口业务逻辑测试。
经过第一和第二两个部分的测试后,我们判定项目没有风险。
6.3系统登录测试
测试编号:a。
目的:测试登录模块,测试系统能否对正确进行登录放行,拦截错误数据进行页面返回。
前提:未登录的用户进行登录,用户名为“aaaa”,初始密码为“00000”。
方法:实地测试。
测试用例表,如表6-1所示。
表6-1登录模块测试用例表
6.4本章小结
本章主要采用黑盒测试对各模块进行了完整的测试,经过分析测试过程和比较测试结果显示,系统各部分功能运行无异常。
结 论
为了保证系统的稳定性,这次采用的是一个比较常用的java语言开发。在学期末完成发展计划。本系统分为管理员和用户两部分。这两个部分紧密相连,有着独特的关系。最终成为基于微信小程序的邓佳鑫发展平台的设计与实现。
在做需求分析,代码实现和功能测试的过程中遇到了很多自己解决不了的难题,比如,代码不明白,我查了CSDN,问了辅导老师,比如中英文不懂,我挨个去百度翻译查。这段时光虽然很苦很累,但也是我的精神最富有的一段时光。我真的理解先痛苦后幸福的含义。当我看到代码行和程序的雏形时,前面的痛苦仿佛一扫而光。通过这让我知道,无论发生什么,坚持最重要。有了这些经验,我将来会越来越好,在每一次实践中都会提高自己。
参考文献
[1]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.
[2]付恩狄,姚明亮,梁宇柔等.基于JAVA技术的设备绝缘状态自动化监控方法[J].电气自动化,2023,45(02):36-38+41.
[3]宋旸.使用Java语言开发Web应用软件的知识探讨[J].中国设备工程,2022(14):121-123.
[4]王志辉.浅析计算机软件JAVA编程的特点及应用[J].软件,2020,41(01):266-269.
[5]杜波依斯. MySQL技术内幕[M]. 第4版. 人民邮电出版社, 2021年07月:50.
[6]朱昆,马政,卢清侠,封洪强,张辉,苏国平.科研信息管理系统功能设计研究[J].中国管理信息化,2020,23(22):77-78.
[7]周林,季松华,符欲梅.Java程序设计课程思政探究与实践[J].黑龙江科学,2022,13(19):149-151.
[8]林小棠.计算机软件开发的JAVA编程语言及其实际应用[J].计算机产品与流通,2019(08):16.
[9]林信良. Spring2.0技术手册[M].北京:电子工业出版社,2020(07):87.
[10]田珂,谢世波,方马.J2EE数据持久层的解决方案[J].计算机工程,2021, 29(22): 93-95
[11]胡晓义,王如平,王鑫,付永涛.基于模型的复杂系统安全性和可靠性分析技术发展综述[J].航空学报,2020,41(06):147-158.
[12]朱道远.基于JSON的Aiax数据交换技术及应用[J].电脑编程技巧与维护, 2020(16):14-15.
[13]Bruce Eckel.Thin king in Java[M].Upper Saddle River USA:Prentice Hall,2020:89.
[14]Zoya Ali. Designing Object Oriented Software Applications within the Context of Software Frameworks[D]. Ohio State University,2019(05)20.
致 谢
经过几个月的努力,毕业设计终于完成了,这不仅提高了我的实践能力,也丰富了我的知识领域。在整个毕业设计过程中,他对我们非常友好,关心我们每个学生的选题,帮助我们分析哪些学生适合该学科,分析该学科的难度,并教我们如何处理可能出现的问题;在整个设计过程中,老师耐心地指导我,分析我的问题,帮助我找到解决方案。 同时,在设计过程中,也得到了同学和室友的大力支持。 他们帮助我查找信息并节省了宝贵的时间。
其次,我还要感谢在编程过程中帮助过我的同学们。 正是他们孜孜不倦的回答,才使基于微信小程序的邓佳鑫发展平台的顺利建成。 我还要感谢我的学校为我们提供了一个学习的地方和一个舒适的学习和生活环境。 我要感谢我的导师对我的论文的客观评价。 学校老师不遗余力地给我们上课和指导,让我们更好地掌握知识,提高处理实际问题的能力。 因为老师的建议和指导对我的论文完成起了至关重要的作用。