摘 要

随着移动互联网的迅猛发展和高校校园资源共享需求的增长,基于微信小程序的校园二手教材交易系统成为提升教材流通效率的关键手段。本研究设计并达成了一个基于Spring Boot的后端服务和微信小程序前端的二手教材交易平台,满足普通用户与管理员两类角色的不同操作需求。普通用户可实现注册登录、浏览教材、加入购物车、下单购买、交流互动及个人信息管理等功能;管理员则负责轮播图、公告、商品、订单、论坛及资讯等内容的后台管理。平台采用MySQL进行数据存储,结合微信小程序原生框架,保证数据交互的高效与界面操作的流畅。该系统的开发不仅提升了高校教材资源的循环利用率,也为智慧校园建设献出了参考案例,具有良好的应用前景与推广价值。

关键词:校园二手教材交易系统;Spring Boot;微信小程序

Abstract

With the rapid development of mobile Internet and the growing demand for resource sharing on campus, the campus second-hand textbook trading system based on WeChat applet has become an important means to improve the efficiency of textbook circulation. This study designed and implemented a second-hand textbook trading platform based on Spring Boot backend services and WeChat Mini Program frontend, which meets the different operational needs of ordinary users and administrators. Ordinary users can achieve functions such as registration and login, browsing textbooks, adding to shopping carts, placing orders and purchases, communication and interaction, and personal information management; Administrators are responsible for the backend management of rotating images, announcements, products, orders, forums, and information. The system uses MySQL for data storage, combined with the native framework of WeChat Mini Program, to ensure efficient data interaction and smooth interface operation. The development of this system not only improves the recycling rate of university textbook resources, but also provides reference cases for the construction of smart campuses, with good application prospects and promotion value.

Keywords: Campus second-hand textbook trading system; Spring Boot; WeChat Mini Program

1绪论

1.1 研究背景及意义

1.2 国内外研究现状

1.3 研究主要内容

1.4 论文组成结构

2开发工具及相关技巧介绍

2.1 B/S体系结构

2.2 Java语言简介

2.3 MySQL数据库介绍

2.4 Spring Boot框架

2.5 微信开发者工具

3系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 能力需求分析

3.3 非功能性分析

3.4 系统用例分析

3.5 系统流程分析

3.5.1程序执行流程

3.5.2 登录流程

3.5.3 注册流程

4系统设计

4.1 系统架构设计

4.2 体系功能结构

4.3 数据库设计

4.3.1 概念模型设计

4.3.2 逻辑结构设计

5系统实现

5.1 前台普通用户功能模块的实现

5.1.1 用户注册模块

5.1.2 用户登录模块

5.1.3 购物车模块

5.1.4新闻资讯模块

5.1.5我的模块

5.1.6 教材商城模块

5.2 管理员功能模块的实现

5.2.1后台登录模块

5.2.2后台首页模块

5.2.3系统用户模块

5.2.4系统管理模块

5.2.5 资讯管理模块

5.2.6商城管理模块

6系统测试

6.1 测测试环境

6.2测试目的

6.3测试方法

6.4测试内容

6.5测试结果

7总结与展望

参考文献

致谢

附录

系统核心代码设计

用户注册

用户登录

修改密码

修改数据

删除数据

获取列表

图片上传

1绪论

1.1 研究背景及意义

随着信息技术的快速发展和移动互联网的普及,智能化的校园资源共享平台成为现代高校管理的重要组成部分。尤其是在高校中,二手教材的交易存在较大的市场需求。许多学生面临教材价格高昂的问题,而二手教材作为一种节省成本的途径,受到了广泛关注。然而,传统的二手教材交易方式存在着信息不对称、交易不便捷、信用难以保障等问题。因此,构建一个便捷、安全、智能化的二手教材交易平台,成为克服这些问题的有效途径。

通过基于微信小程序的校园二手教材交易系统,利用微信平台广泛的用户基础和小软件的便捷性,能够打破传统交易模式的限制,为学生提供一个高效、安全、便捷的交易渠道。该框架不仅能够为学生提供一个教材交换和买卖的网络平台,促进教材资源的合理流动,同时还可以献出教材信息的分类、搜索、推荐等功能,提升用户的利用体验。此外,管理员能够通过后台管理系统有效监督和管理交易信息,保障平台的正常运作。

本课题的研究意义在于利用信息技术手段提高教材交易的效率和透明度,减少中介环节,促进二手教材的合理流通,帮助学生节约开支,同时为校园资源共享和智能化管理提供了实践案例。

1.2 国内外研究现状

国内外关于二手教材交易系统的研究和实践逐渐增多,随着二手市场的蓬勃发展,很多高校和企业开始探索适应现代信息技术的二手教材交易平台。然而,国内外的研究多集中在不同的技术实现和用户需求分析方面。

在国外,许多高校和第三方平台如“BookScouter”以及“Chegg”等,提供了二手教材交易的在线平台,利用电子商务技术和物流配送体系来支持教材的买卖。这些平台通常具备商品搜索、价格比较、用户评价等功能,并通过推荐算法提升用户体验。美国的“Chegg”平台尤为成功,它依据整合教材租赁、购买及二手教材交易,满足了广大学生的需求,并且凭借大数据分析和智能推荐技术为用户提供个性化服务。国外的研究多侧重于电子商务平台中的用户行为分析、商品推荐环境的优化以及基于机器学习的价格预测等技术。

在国内,随着移动互联网的普及和电子支付的便利,越来越多的二手教材交易平台相继涌现。平台如“闲鱼”、“转转”等已经开始为用户提供教材交易的便捷途径。然而,传统的二手教材交易多依赖于线下平台和社交网络,存在一定的信息不对称和交易不安全的问题。国内的研究集中于如何通过微信小工具、支付宝等平台优化交易流程,结合人工智能、物联网等新兴技巧提升用户体验和平台的运营效率。一些高校也尝试依据校内平台进行二手教材交易,尽管发展较为缓慢,但已具备了一定的研究价值和实践意义。

总体而言,国内外的研究都在努力通过技术手段提升教材流通效率、保障交易安全和优化用户体验。未来,随着人工智能、区块链工艺和大数据分析的进一步发展,二手教材交易平台的智能化、可信任度和用户黏性将得到进一步提升。

1.3 研究主要内容

本研究主要围绕基于微信小工具的校园二手教材交易系统的设计与实现展开。先,通过需求分析,确定系统需要满足普通用户和管理员两大角色的特性需求。架构功能包括用户注册登录、教材浏览、购物车、订单管理、交流论坛、个人账户管理等。其次,采用Spring Boot框架构建后端服务,MySQL进行数据存储,利用微信小程序提供的开发工具构建前端。系统还设计了后台管理模块,支持轮播图、公告、商品、订单、用户等的管理。最后,重点在于提高架构的安全性、稳定性与用户体验,提供便捷的教材交易环境。通过此平台,推动了二手教材的高效流通与校园资源共享。

1.4论文组成结构

本文共分为七章,章节内容安排如下:

第一章:引言。主要介绍了课题研究的背景意义,国内外目前相关研究现状、本课题的关键内容以及本文的论文结构。

第二章:相关技术介绍。首要对本系统使用的相关技术和开发工具进行介绍。

第三章:平台需求分析。主要从架构的用户、功能等方面进行需求分析。

第四章:系统概要设计。主导对系统框架、系统功能模块、数据库进行功能设计。

第五章:系统实现。主导介绍了系统框架搭建、框架界面的达成。

第六章:系统测试。核心对系统的部分界面进行测试并对主要特性进行测试

第七章:总结与展望。


2开发工具及相关技术介绍

2.1 B/S体系结构

B/S体系,即Browser/Server体系[1],是一种常见的网络应用脚本架构。其工作原理基于客户端与服务器之间的请求-响应模型。用户借助浏览器向服务器发送请求,服务器接收到请求后进行处理,并生成相应的响应结果,最终将响应返回给客户端。浏览器接收到服务器返回的响应后,解析其中的标记语言(如HTML),并根据CSS样式表和JavaScript脚本来渲染页面,呈现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。

2.2 Java语言简介

Java是一种跨平台的高级编程语言[2],具有广泛应用于各个领域的优势。它拥有简单易学、可靠稳定、安全性强和良好的性能等特点。在校园二手教材交易系统中,Java将作为主要的后端编程语言来实现体系的核心功能。通过使用Java,我们能够实现资料的处理、业务逻辑的编写以及与前端界面的交互。同时,Java还提供了丰富的类库和开发工具,方便开发人员进行架构设计和开发[3]。

2.3 MySQL数据库介绍

MySQL[4]是一种流行的开源关系型数据库管理系统,被广泛应用于Web应用程序的数据存储和管理。它具有高性能、稳定可靠和良好的扩展性。在校园二手教材交易系统中,MySQL数据库将用于存储和管理模块信息、用户信息等相关内容。通过使用SQL语言进行数据操作和查询,我们可以实现对数据的增删改查管理,并保证数据的一致性和完整性[5]。

2.4 Spring Boot框架

一个强大且灵活的Java开发框架,它以简化Spring应用开发为目标,凭借自动配置、内嵌容器等特性,显著降低了项目的安装和部署难度。在校园二手教材交易系统开发中,Spring Boot框架的应用显得尤为重要。它不仅能够快速构建出稳定可靠的应用系统,还给予了丰富的能力组件和扩展接口,方便开发者根据实际需求进行定制和优化。此外,Spring Boot还具备出色的性能和扩展性,能够应对大规模并发请求和复杂业务场景。因此,在校园二手教材交易系统的制作中,选择Spring Boot框架[7]不仅能够提升制作效率,还能够为系统的稳定运行和持续发展提供有力保障。就是Spring Boot框架[6]

2.5微信开发者工具

作为一款专门为小程序度身定制、持续改进、提供便利操作的软件,微信开发者可以扫描二维码进行访问,从而达到小程序快速构建、调试的目的。针对用户的具体需求,我们有能力创建出各种屏幕尺寸的微型应用。在视图布局结束之后,可以利用编辑功能迅速地对当前视图界面进行调整[8]。

通过开发者工具为控制台给予了功能,以便于进行调试,并将信息输出。编码上传到腾讯服务器时,需要填写版本号、备注信息等核对,以保证编码的安全性与准确性。查看资源文件可飞快对项目文件目录进行调整并进行断点调试。远程调试技术能够很容易地开发到手机,PC端的应用。当地数据存储能力允许显示区域内信息。采用子父层级布局,许可让视图的调试更加方便。微信小程序代码体积要控制在2M范围内,在开发过程中需要对合法域名信息及服务器域名进行严格把关。微信开发者应用已经成为开发中不可缺少的组成部分,并且正在不断改进与完善,对小程序开发起到方便与协助作用。

3系统分析

3.1 可行性分析

通过通过综合考虑技术、经济和操作等因素,能够对校园二手教材交易系统的可行性进行全面评估。这将有助于确定项目的成功概率,并为项目规划提供坚实的基础。

3.1.1 技术可行性

在技术可行性方面,本系统采用Spring Boot后端框架和微信小程序前端技术,结合MySQL数据库及Redis缓存,技术栈成熟稳定。微信小程序开发成本低、用户覆盖广,能够满足多角色功能需求。同时,体系的模块化设计便于后期维护与扩展,确保技术实现的高效性和可靠性。

3.1.2 经济可行性

在经济可行性方面,系统基于开源技术和低成本开发工具,减少了初期投入。微信小程序无需独立App开发,降低了推广和运维成本。此外,借助商城商品和互动问答体系吸引用户,可提升平台活跃度并创造潜在商业价值,为校园市场提供可持续运营的经济模式。

3.1.3 操作可行性

在操作可行性方面,框架界面简洁直观,效果划分清晰,用户可通过微信直接访问,操作便捷。多角色权限管理明确,任务流程标准化,便于用户及管理员快速上手。同时,实时沟通与评价机制进一步提升了用户体验,确保系统在实际应用中的高效运行。

3.2 功能需求分析

本系统旨在满足普通用户和管理员两大角色的作用需求,系统建立了从前端展示到后端运营的全流程覆盖,确保用户体验与平台管理效率的双重提升。具体功能描述如下:

(1)普通用户功能

1.注册登录:用户可以通过手机号或微信授权登录进入平台,确保每个用户都有唯一身份标识,供应便捷的注册和登录方式。

2.首页:首页展示平台最新的教材信息,包括热门教材、特价商品、推荐教材和活动信息,方便用户快速获取想要的教材资源。

3.轮播图:轮播图模块在首页动态展示平台活动、优惠信息和热门教材,吸引用户的注意力并引导他们进入相关页面。

4.教材商城:教材商城提供各种教材的详细信息,用户可以按类别、价格、评分等条件筛选和浏览教材,便于快速找到所需教材。

5.购物车:用户可以将想购买的教材加入购物车,随时查看、修改购物车中的商品,并进行结算操作,方便购买管理。

6.交流论坛:交流论坛为用户献出一个互动平台,用户能够在此讨论教材内容、课程问题或分享学习经验,促进信息的互通。

7.网站公告:平台公告展示了最新的运营信息、促销活动或重要通知,确保用户及时了解平台的动态更新和变化。

8.新闻资讯:新闻资讯模块提供有关教材、教育、学校等相关内容的新闻,让用户保持对教育领域的最新了解和动态关注。

9.我的:“我的”模块是用户个人信息和账户管理的入口,展示用户的基本资料、购买历史、收藏教材、订单等内容,献出便捷的操作入口。

10.修改密码:用户可以在个人设置中修改账户密码,确保账户安全并避免忘记密码的情况发生,增加架构的安全性。

11.我的账户:“我的账户”模块展示用户的余额、积分、优惠券等账户信息,支援用户管理平台内的资源。

12.个人中心:个人中心是普通用户管理个人信息、查看订单、修改设置和查看账户状态的入口,提供用户便捷的操控和服务,帮助用户更好地掌控自己的账户和平台互动情况。

13.订单配送:订单配送功能让用户随时查看自己订单的最新配送状态,包括待发货、配送中、已签收等信息,确保购物过程的透明度。

14.收货地址:用户能够添加、修改或删除多个收货地址,并选择指定地址用于商品的配送,方便管理不同的收货需求。

15.收藏:用户可以将自己感兴趣或未来可能购买的教材加入收藏,方便日后快速访问或购买,提升购物体验。

16.评论:用户在购买教材后,可以对教材进行评价,分享购买体验和教材质量,帮助其他用户做出更好的购买决策。

17.统计:统计能力展示用户的购买数据和消费记录,包括已购教材数量、花费金额等,让用户了解自己的购物习惯和消费状况。

(2)管理员机制

1.登录:管理员通过后台管理系统的登录界面输入账号和密码,成功登录后即可进入管理页面,对平台进行管理操作。

2.后台首页:管理员在后台首页查看平台的整体运营数据,包括用户活跃情况、订单统计、商城商品等信息,以便更好地管理平台。

3.公共管理:管理员能够借助公共管理模块管理平台的轮播图和公告,确保平台的活动信息、推广内容及时更新并准确表现。

4.用户管理:管理员可以查看并管理所有注册用户的信息,包括普通用户和管理员账户,对账户进行禁用、删除等操作,保障系统安全。

5.论坛管理:论坛管理模块允许管理员对用户发布的论坛帖子进行审核、删除或修改,确保论坛内容的合规性和健康性。

6.资讯管理:管理员经过资讯管理模块管理新闻资讯,包括添加、修改和删除新闻内容,确保用户能及时获得最新的行业和平台新闻。

7.商城管理:管理员在商城管理模块中,能够管理教材商品信息、商品分类和价格等,确保商城商品信息的及时更新和准确性。

8.退出:管理员在完成管理操作后,可以借助退出功能安全退出系统,确保后台管理环境的安全性和数据保护。

3.3非功能性分析

非功能性分析旨在评估校园二手教材交易系统的非机制需求和性能要求。通过对性能、可靠性、安全性、可用性和扩展性等方面进行评估,确保框架能够满足用户和框架运行的要求。具体如下3-1表格:

3-1校园二手教材交易系统非功能需求表

非功能性要求

说明

性能

评估响应时间、并发用户数、吞吐量等指标,以确保系统稳定高效地运行。

可靠性

评估系统的稳定性、容错能力和数据完整性,保障系统在故障情况下正常运行。

安全性

评估用户身份认证、信息加密和访问控制等,保护用户信息和交易的安全。

可用性

评估体系的稳定性、故障处理能力和用户界面友好性,献出良好的用户体验。

扩展性

评估体系的可扩展性和灵活性,以便根据需求进行作用扩展和升级。

3.4系统用例分析

系统用例分析是对校园二手教材交易系统中各个功能模块的用户需求和行为进行分析,以识别和描述不同的用户用例。通过系统用例分析,可以深入了解用户在平台上的操作流程和交互方式,为框架设计和开发献出指导,并确保系统能够满足用户的需求和期望。

普通用户角色用例如图3-1所示。

图3-1 普通用户用例图

管理员用例图如图3-2所示。

图3-2 管理员用例图

3.5环境流程分析

3.5.1应用运行流程

用户访问平台网站,许可选择进行注册或登录操作。注册成功后,用户可以利用注册的账号登录平台。登录后的用户能够进入系统效果界面,运用自己权限内的功能操作。应用处理流程图如下图所示。

图3-3 程序管理流程图

3.5.2 登录流程

否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。就是用户访问平台的网站,进入登录页面页面,输入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码

图3-4 登录流程图

3.5.3 注册流程

未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以运用账号密码进行登录。用户注册流程图如下图所示。

图3-5 注册流程图


4系统设计

4.1 系统架构设计

从技术角度来看,校园二手教材交易系统的架构设计至关重要。我们将采用MVC架构,包括表现层、业务逻辑层和数据访问层。表现层负责用户界面展示,业务逻辑层处理核心能力逻辑,数据访问层负责数据库交互。通过三层架构模式,确保系统的可靠性和可扩展性。

系统架构图如图4-1所示。

图4-1 系统架构图

4.2 平台效果结构

系统在结构上的设计至关重要,要考虑周全,设计全面,一个完善的结构体系,能够满足用户在使用时的各种需求,这样会让提高程序的使用率,保证程序被长久的利用。在设计校园二手教材交易系统的结构时,也列入重点,采用模块化的方式来进行设计,即首先将大模块确定下来,再慢慢的将大模块进行补充完善,向下分支出小模块,一起共同组成的系统的结构体系,下图是本校园二手教材交易系统的结构设计图,直观明了的可以看出本项目程序的功能。

系统的功能结构图如下所示。

图4-2 系统功能结构图

4.3数据库设计

一个优秀的系统必须具备完善的后台数据库,就像建筑物一样,它不是一蹴而就的,而是需要经过精心设计,以确保其稳固可靠。只有将数据库设计得完善,并且考虑到各个方面,才能保证系统的可靠性,避免出现任何问题。

4.3.1 概念模型设计

数据库概念结构设计主要涉及数据库的实体和实体之间的关系。凭借实体-关系模型或者其他适当的模型,大家将定义系统中涉及的各个实体属性以及它们之间的联系。

图4-3 系统E-R图

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-address(收货地址)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

address_id

int

收货地址

2

name

varchar

32

姓名

3

phone

varchar

13

手机

4

postcode

varchar

8

邮编

5

address

varchar

255

地址

6

user_id

mediumint

用户ID

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

9

default

tinyint

默认判断

表 4-3-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-4-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-5-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-6-cart(购物车)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

cart_id

int

购物车ID

2

title

varchar

64

标题

3

img

varchar

255

图片

4

user_id

int

用户ID

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

state

int

状态:使用中,已失效

8

price

double

单价

9

price_ago

double

原价

10

price_count

double

总价

11

num

int

数量

12

goods_id

mediumint

商品id

13

type

varchar

64

商品分类

14

description

varchar

255

描述

表 4-7-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-8-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-9-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-10-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-11-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-12-goods(商品信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

goods_id

mediumint

产品ID

2

title

varchar

125

标题

3

img

text

65535

封面图:用于显示于产品列表页

4

description

varchar

255

描述

5

price_ago

double

原价

6

price

double

卖价

7

sales

int

销量

8

inventory

int

商品库存

9

type

varchar

64

商品分类

10

hits

int

点击量

11

content

longtext

4294967295

正文

12

img_1

text

65535

主图1

13

img_2

text

65535

主图2

14

img_3

text

65535

主图3

15

img_4

text

65535

主图4

16

img_5

text

65535

主图5

17

create_time

timestamp

创建时间

18

update_time

timestamp

更新时间

19

customize_field

text

65535

自定义字段

20

source_table

varchar

255

来源表

21

source_field

varchar

255

来源字段

22

source_id

int

来源ID

23

user_id

int

添加人

表 4-13-goods_type(商品类型)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

type_id

int

商品分类ID

2

father_id

smallint

上级分类ID

3

name

varchar

255

商品名称

4

desc

varchar

255

描述

5

icon

varchar

255

图标

6

source_table

varchar

255

来源表

7

source_field

varchar

255

来源字段

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-14-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-15-logistics_delivery(物流配送)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

logistics_delivery_id

int

物流配送ID

2

order_number

varchar

64

订单号

3

product_name

varchar

64

商品名称

4

purchase_quantity

varchar

64

购买数量

5

total_transaction_amount

double

交易总额

6

the_date_of_issuance

date

发货日期

7

delivery_number

varchar

30

配送订单

8

ordinary_users

int

普通用户

9

shipping_address

varchar

64

收货地址

10

delivery_status

varchar

64

配送状态

11

signing_status

varchar

64

签收状态

12

recommend

int

智能推荐

13

contact_name

varchar

255

联系人名字

14

merchant_id

int

商家id

15

create_time

datetime

创建时间

16

update_time

timestamp

更新时间

表 4-16-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

表 4-17-order(订单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

order_id

int

订单ID

2

order_number

varchar

64

订单号

3

goods_id

mediumint

商品ID

4

title

varchar

255

商品标题

5

img

varchar

255

商品图片

6

price

double

价格

7

price_ago

double

原价

8

num

int

数量

9

price_count

double

总价

10

norms

varchar

255

规格

11

type

varchar

64

商品分类

12

contact_name

varchar

32

联系人姓名

13

contact_email

varchar

125

联系人邮箱

14

contact_phone

varchar

11

联系人手机

15

contact_address

varchar

255

收件地址

16

postal_code

varchar

9

邮政编码

17

user_id

int

买家ID

18

merchant_id

mediumint

商家ID

19

create_time

timestamp

创建时间

20

update_time

timestamp

更新时间

21

description

varchar

255

描述

22

state

varchar

16

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

订单备注

24

delivery_state

varchar

16

发货状态:未配送,已配送

25

vip_discount

double

折扣

26

buy_type

tinyint

1-全额购买,3-钱包购买

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

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

user_age

varchar

64

用户年龄

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-19-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-20-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-21-textbook_mall(教材商城)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

textbook_mall_id

int

教材商城ID

2

ordinary_user

int

普通用户

3

commodity_specifications

varchar

64

商品规格

4

collect_len

int

收藏数

5

comment_len

int

评论数

6

cart_title

varchar

125

标题

7

cart_img

text

65535

封面图

8

cart_description

varchar

255

描述

9

cart_price_ago

double

原价

10

cart_price

double

卖价

11

cart_inventory

int

商品库存

12

cart_type

varchar

64

商品分类

13

cart_content

longtext

4294967295

正文

14

cart_img_1

text

65535

主图1

15

cart_img_2

text

65535

主图2

16

cart_img_3

text

65535

主图3

17

cart_img_4

text

65535

主图4

18

cart_img_5

text

65535

主图5

19

create_time

datetime

创建时间

20

update_time

timestamp

更新时间

表 4-22-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-23-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

创建时间

15

balance

double

余额

表 4-24-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.1.6 教材商城模块

用户在教材商城页面管理自己发布的商品。界面如下图所示。

图5-6 教材商城界面图

5.2管理员功能模块的实现

5.2.1后台登录模块

管理员通过后台登录模块验证身份后进入管理系统,该模块支持账号密码登录,并可选择记住登录状态或进行双因素认证以增强安全性。登录失败时提供错误提示,确保管理员账户的安全性。界面如下图所示。

图5-7 后台登录界面图

5.2.2后台首页模块

后台首页模块通过直观的图表和数据展示,为管理员给出商品销售金额与数量的统计分析,帮助其全面了解平台运营状况。管理员可以按时间范围筛选资料,生成阶段性报表,从而为决策提供依据,并实时监控关键业务指标的变化趋势。界面如下图所示。

图5-8后台首页界面图

5.2.3系统用户模块

系统用户管理模块允许管理员查看所有注册用户的详细信息,包括用户名、注册时间、登录记录等,并支持对违规用户进行禁用或启用操作。同时,管理员可批量导出用户数据,便于进一步分析或存档,确保用户管理高效且灵活。界面如下图所示。

图5-9 系统用户界面图

5.2.4系统管理模块

系统管理中的轮播图管理功能允许管理员上传和更改首页的轮播图。管理员行设置图片的展示顺序和链接,确保首页信息的及时更新和广告内容的管用推广,从而提升平台的用户吸引力。界面如下图所示。

图5-10系统管理界面图

5.2.5 资讯管理模块

资讯管理功能允许管理员管理新闻资讯和资讯分类。管理员可以添加新的资讯内容、修改已有内容,并根据主题将资讯分门别类,确保资讯的组织清晰、易于查找,并满足学生对校园动态的需求。界面如下图所示。

图5-11 资讯管理界面图

5.2.6商城管理模块

通过在商城管理模块,管理员可以管理二手商品的发布与交易流程,包括商品分类、订单列表和订单配送等特性。管理员能够查看订单状态,处理未完成订单,确保交易的顺利进行。同时,管理员也能监控商品的库存情况,及时补充或下架商品。界面如下图所示。

图5-12 商城管理界面图

6系统测试

6.1 测测试环境

系统的测试环境如表6-1所示。

表6-1 测试环境

类别

配置项

详细信息

硬件环境

服务器CPU

Intel Xeon E5-2680 v4

内存

32GB DDR4

硬盘

1TB SSD

网络带宽

100Mbps

软件环境

操作系统

Windows Server 2019

数据库

MySQL 8.0

Web服务器

Tomcat 9.0

开发框架

SpringBoot 2.5

前端框架

Vue.js 2.6

Java版本

JDK 11

浏览器

Chrome 88, Firefox 85

6.2测试目的

系统测试的主要目的是确保平台的机制、性能和稳定性满足需求规格说明书中的要求,并验证系统在实际使用环境中的可用性和可靠性。凭借测试,可以发现软件中的缺陷、漏洞和潜在问题,确保系统运行的准确性、完整性和安全性。在功能测试中,目的是验证系统各功能模块是否按设计实现预期特性,例如用户登录、信息管理、数据查询等核心功能是否准确执行。性能测试的目的是验证系统在高并发、数据量大等压力场景下的响应时间和处理能力,确保系统具备良好的性能。兼容性测试的目的是确保系统在不同的硬件、软件和浏览器环境中能正常运行。测试还包括对异常处理和边界条件的验证,确保系统在异常场景下能够正确处理和恢复。最终,通过测试确保系统可以安全稳定地部署上线,为用户提供可靠的服务。

6.3测试方法

否符合预期。性能测试采用压力测试和负载测试方法,通过模拟高并发用户访问、数据处理的场景,评估系统的响应时间、吞吐量和稳定性。兼容性测试通过在不同操作系统、浏览器和硬件设备上运行系统,验证其在不同环境中的适应性[9]。异常测试通过设计边界条件和异常输入,检查系统对非法数据和操控的处理能力。测试用例的设计需覆盖系统的所有功能模块和接口,确保测试过程的全面性。通过系统测试方法的综合应用,可以有效发现问题,并为系统的优化和改进提供依据。就是平台测试采用多种测试方法,以全面验证系统的机制和性能。功能测试采用黑盒测试方法,通过设计测试用例直接验证环境效果是否符合需求,无需了解内部代码逻辑。例如,设计用例验证用户登录模块,通过输入合法和非法的用户名与密码,检查系统响应

6.4测试内容

环境的测试用例表格如下图所示。

表6-2 平台测试用例表

测试项

测试用例

问题

结论

体系用户管理

登录平台,输入正确的用户名和密码,点击登录

符合预期

系统用户管理

登录系统,输入错误的用户名,点击登录

符合预期

系统用户管理

登录系统,输入正确的用户名和错误的密码,点击登录

符合预期

系统用户管理

登录框架,输入不存在的用户名和密码,点击登录

符合预期

商城管理

进入商城管理页面,添加新商品类别

符合预期

商城管理

进入商城管理页面,删除商品类别

符合预期

商城管理

进入商城管理页面,编辑现有商品类别

符合预期

商城管理

进入商城管理页面,查看商品类别列表

符合预期

系统管理

进入系统管理页面,上传新的轮播图

符合预期

系统管理

进入系统管理页面,删除现有的轮播图

符合预期

系统管理

进入系统管理页面,编辑轮播图链接

符合预期

系统管理

进入系统管理页面,查看轮播图列表

符合预期

上新公告管理

进入上新公告管理页面,发布新的公告

符合预期

上新公告管理

进入上新公告管理页面,删除现有公告

符合预期

资讯管理

进入校园资讯管理页面,发布新的资讯

符合预期

资讯管理

进入资讯分类管理页面,编辑资讯分类

符合预期

6.5测试结果

通过对系统用户管理、商城管理、系统管理、上新公告管理、资讯管理以及商城管理等功能的测试,结果表明系统能够按照预期进行各项操作,未发现严重影响使用的问题。在用户管理功能测试中,环境能够准确识别正确和错误的用户名与密码,确保了登录验证的安全性和可靠性。商城管理测试表明,管理员可以顺利地添加、删除和修改商品类别,商品分类展示正常。系统管理测试结果显示,轮播图的上传、删除和编辑效果均能正常运行,保证了系统首页的视觉信息展示管用更新。上新公告管理测试表明公告发布和管理功能正常运行,能够为用户提供清晰的更新信息。

在资讯管理和商城管理模块的测试中,系统资讯的发布、分类管理,以及二手交易订单的查看和配送管理均符合预期,确保了平台的信息流畅性和交易的顺利进行。整个体系的各项功能在测试过程中表现稳定,未发现影响首要功能的 Bug,平台响应速度良好,用户体验流畅。综上所述,系统已达到预期设计目标,具备较高的稳定性和可靠性,能够满足校园二手交易的实际需求,适用于正式上线推广。后续可根据用户反馈优化细节,以进一步提升环境的易用性和用户体验。

7总结与展望

本课题围绕“基于微信小程序的校园二手教材交易系统”的设计与实现,结合当前高校学生对二手教材交易的实际需求,构建了一个集教材浏览、购物、交流、管理于一体的综合性平台。系统采用前后端分离的开发模式,前端基于微信小程序,后端使用Spring Boot框架,结合MySQL数据库,达成了用户注册登录、教材商城、购物车、订单配送、论坛交流、后台管理等多项核心能力,提升了二手教材流通的效率与便利性。同时,系统注重用户体验与数据安全,具备良好的扩展性与实用性。

尽管框架在功能搭建上基本达到了预期目标,但仍存在如推荐算法智能化程度不高、界面交互细节有待优化等不足之处。未来的研究和研发中,可进一步引入智能推荐机制、图像识别技术用于教材上传,以及更多社交功能模块,增强系统的智能化与互动性,从而更好地服务于校园用户,推动高校二手教材交易平台的规范化、智能化发展。


参考文献

  1. 黄维.基于B/S模式的虚拟网络实验室安全管理体系分析[J].信息系统工程,2024,(05):4-7.
  2. 陈敬宗.计算机软件Java编程特点与技术应用分析[J].中国信息界,2025,(01):162-164.
  3. 柯灵.Java编程语言在计算机软件研发中的应用与困难处理探析[J].电脑知识与技术,2024,20(27):45-47.
  4. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  5. 肖睿,李鲲程,范效亮,等.MySQL数据库应用技能及实践[M].人民邮电出版社:202206.228.
  6. 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  7. 李兴华,马云涛.Spring开发实战[M].人民邮电出版社:202303.381.
  8. 张引,赵玉丽,张斌,等.微信小代码全栈开发技术与实战[M].人民邮电出版社:202212.258.
  9. [10]陈蓓蕾,洪年松.基于SpringBoot的数据库接口设计[J].信息与电脑(理论版),2023,35(16):181-183.
  10. Liu X ,Lee B ,Park K .Importance Ranking of Usability Indicators for Second-Hand Trading Applications Based on Exploratory Factor Analysis—Analytic Hierarchy Process toward Sustainable Development[J].Applied Sciences,2024,14(12):5164-5164.
  11. Shao T ,Ieiri Y ,Hishiyama R .Multiple Clusters Discovery Utilizing Network Motifs for Community Improvement: Insights from Tourism and Goods' Transactions:[J].Journal of Information Processing,2024,32308-318.
  12. Wei G ,Jing L ,Xiaoru Y , et al.Dynamic decisions between sellers and consumers in online second-hand trading platforms: Evidence from C2C transactions[J].Transportation Research Part E,2023,177
  13. 张柱,宋存进,蒋乐,等.基于微信小程序校园二手交易平台设计与开发[J].电脑编程技巧与维护,2022,(12):59-61+142.DOI:10.16184/j.cnki.comprg.2022.12.035.
  14. 赵冰,刘星含,杨泰森,等.基于微信小软件的校园二手闲置物品交易平台的设计与达成[J].电脑知识与技术,2022,18(21):64-66.DOI:10.14004/j.cnki.ckt.2022.1254.
  15. 赵俊杰,葛敬军,朱文婷.基于微信小程序的校园二手书交易平台的设计与达成[J].科技与创新,2024,(09):7-11+15.
  16. 孙丽,王皓,戴璐,帕合尔敦·加马力,梁丹露.大学校园二手交易平台构建与运营——以E大学“花梨闲转”微信小软件为例[J].科技与创新,2024,(04):12-16.
  17. 孙浩天,朱乔裕,乔雨.基于微信小程序的校园互助平台设计[J].电子制作,2023,31(11):72-74.
  18. 张柱,宋存进,蒋乐,刘莉.基于微信小程序校园二手交易平台设计与开发[J].电脑编程技巧与维护,2022,(12):59-61+142.
  19. 陈怡婧,郑晓溪,李芳.基于微信云开发的校园二手交易平台小程序的设计与构建[J].电脑知识与工艺,2022,18(32):51-54.
  20. 闫锦彪,杨冬梅,张进.校园二手教材网络交易平台的构建途径研究[J].现代信息科技,2021,5(02):107-110.


致谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮忙和鼓励。此刻,我找不到感谢之词允许用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我献出了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我的论文得益于许多学者的贡献,他们的研究成果为我提供了宝贵的指导,使我能够更好地搞定这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对该校园多了一份留念。终于,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!

附录

系统核心代码设计

用户注册

注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如图所示。

注册核心代码图

用户登录

登录页,最初传入"username"、"email"、"phone"、"password",用户可经过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,继而执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如图所示。

用户登录核心代码图

修改密码

需要通过加密,代码如图所示。就是修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都

修改密码核心代码图

修改数据

修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如图所示。

修改数据核心代码图

删除数据

删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如图示。

删除数据核心代码图

获取列表

凭借请求的参数获取列表数据,代码如图所示。

获取列表核心代码图

图片上传

经过请求的参数获取列表信息,代码如图4-13所示。

图片上传核心代码图

点赞+收藏+关注 → 私信领取本源代码、数据库