王泽轩 肖香成 程文志
摘要:传统的闲置物品交易一般都是用户面对面交易,这种交易方式效率较为低下,在耗费大量人力和物力资源的同时,用户也很难交易到满意的物品。文章针对传统交易的不足,设计了一个独立的闲置物品管理网站,方便用户进行商品的查看、交易和管理,满足用户闲置物品交易的需求。该系统采取MVC模式进行架构搭建,让前端和后端架构分离,方便系统后期的维护和管理。在开发过程中,前端主要使用JavaScript作为核心开发语言,后台利用Node.js进行数据处理,使用MongoDB作为数据库存储系统,最终实现了基于Web的B2C校园闲置物品交易系统。通过对系统各个模块进行功能性测试,各模块均能正常工作,达到系统安全稳定运行的预期目标。
关键词:Java Web;MVC模式;闲置交易系统
中图分类号:TP311.1文献标志码:A
0 引言
由于电子商务的快速发展,在线购物成了目前的大趋势。一方面,随着移动互联网和物流运输行业的快速发展,促使用户网上购物越来越方便[1-2]。另一方面,随着用户购买数量的增多,用户闲置的商品也随之增加,闲置物品的交易需求也随之增加[3-4]。
国内的校园旧物交易模式依旧是传统的模式,主要体现在每年六月毕业生离校时的校内跳蚤市场。跳蚤市场一般只维持半个月的时间,它存在时间非常短,因此无法满足大部分学生的交易需求。相比而言,许多公司或组织正尝试将业务转移到移动二手交易领域。国内对于二手交易平台的研究起步较晚,多数人熟悉的“闲鱼”也属于移动端的二手交易平台,但它面向于社会阶层,不便于在校园内开展精准服务[5-6]。同时,由于很多学校针对校外人员的准入采取了限制措施,对外第三方交易平台很容易引起不必要的麻烦。因此,本文设计并实现了基于Web的B2C校园闲置物品交易系统,致力于校园闲置物品的交易、交换与赠送,为校园用户提供便利。
1 系统设计
1.1 系统架构设计
本系统采用前、后端分离架构,实现前、后端项目互不干扰。前端处理页面逻辑,通过调用接口连接后端;后端接收并处理数据,处理相应事件并向前端反馈处理结果,详细信息如下所述。
1.1.1 前端架构:MVC+SPA。
Model层使用Ajax技术调用接口并向Controller层提供数据,利用大量的promise、async、await来进行JavaScript异步编程。Views层提供html模板片段,利用template模板引擎进行数据的渲染。Controller层实现页面独立逻辑和处理相关验证。其次,该部分设计还使用了sme-router实现前端路由切换,主要是通过页面的地址实现Controller层中的相应逻辑,使用Views层渲染相应的页面。
1.1.2 后端架构:MVC。
Model层提供数据和操作数据库的方法。Views层响应前端的内容结构,封装了各种响应模板。Controller层实现具体的业务逻辑,接收请求,响应内容。Express框架能够根据项目应用程序编程接口(Application Programming Interface,API)需求进行路由的划分,使用大量公用中间件来进行响应头处理,如图片处理fileupdate。该部分设计分离了公共配置,提高了代码的可维护性,在用户功能模块中,其注册系统利用crypt模块进行密码的加密,其访问系统使用了JWT方案以实现Token的身份验证。
1.2 系统需求分析
随着系统的用户基数增长和系统功能的增加,需要将系统的一些功能拆分成单独的子系统去完成业务需求,如用户专注在商城系统进行交易,管理员在管理系统中对信息和数据进行操作,后台系统专注处理信息并返回数据。
1.2.1 用户功能需求
用户无需注册登录即可访问商城系统主页及其他页面,以查看物品详情。当用户对物品进行留言评论、查看/更改收藏夹以及购买物品和出售物品时,其需要注册和登录操作。
1.2.2 管理员功能需求
新管理员在进入管理系统时需要注册并获取权限才可以登录管理系统。管理员能够管理商城首页推送、消息推送、物品信息、交易信息、权限信息、用户信息并查看数据分析。
1.3 数据库设计
MongoDB数据库支持的数据类型非常多,包括对象与数组等复杂的数据类型。MongoDB可以将模式设计划分为内嵌模式(Embedded)和引用模式(References)。内嵌模式就是将关联数据放在一个文档中,引用模式是将数据存储在不同集合的文档中,通过关系数据进行关联。
概念结构设计是指将需求分析阶段所获取的用户需求抽象转化为信息结构的过程,这一结构即为概念模型。此环节在整个数据库设计中占据核心地位,是确保数据库设计贴合实际业务需求的关键步骤。在表述概念模型的过程中大多使用E-R模型,E-R模型的主要概念包括实体、属性、实体之间的联系等,如图1所示。
1.4 可行性分析
本文通过技术和实用性2个方面来分析系统设计的可行性,判断这个系统是否满足当前的需求,现有的技术能否实现这个系统,系统的实用性如何。
1.4.1 技术可行性。
基于MVC设计模式,系统交互流程简单明了,所设计的各个模块均可复用。数据库使用MongoDB,采用一种以空间换取时间的方式,结合Node.js的高并发特性,能够实现高速的数据响应。
1.4.2 实用性分析。
本文采用B/S架构,该架构无需下载系统客户端,充分展现了此系统的便捷性与实用性。系统采用具有安全性的SSL加密传输协议,保证了信息传输的安全性。
2 系统功能实现
2.1 用户功能模块的实现
本系统设计了6个主要模块来实现商城系统的功能,用户功能模块涵盖了多个子模块,包括:用户注册模块,负责用户账号的创建与信息录入;用户登录模块,实现用户的身份验证与登录管理;物品展示模块,展示各类物品信息以供用户浏览;物品详情模块,提供特定物品的详细信息和相关描述;物品销售模块,处理物品的购买与销售流程;个人信息模块,允许用户查看和编辑自己的个人信息。这些模块共同构成了完整的用户功能体系,为用户提供了便捷、高效的服务体验。
2.2 管理功能模块实现
管理系统部分设计为8个主要模块来实现管理系统的功能,相关信息如下所述。
2.2.1 管理员登录注册模块
管理员登录注册模块与用户登录模块流程相似,不同点是注册时会向后台系统传送不同的注册属性,登录时也是从不同数据表里查询数据。出于安全性的考虑,管理系统在没有登录的情况下不能进入首页,在登录之后,没有管理员权限的系统将会跳转到权限申请页面,有管理员权限的系统才会跳转到首页。
2.2.2 首页推送模块
首页模块主要管理商城系统轮播图展示的内容和消息推送,编辑相应的信息,点击“保存”按钮即可。
2.2.3 物品管理模块
管理员进入物品管理模块,查看物品的信息是否异常,对非法的物品进行下架管理并通知用户。
2.2.4 交易管理模块
管理员进入交易管理模块后查看交易的状态是否异常,若存在非法的交易,则取消交易并通知交易双方。
2.2.5 数据统计模块
进入数据统计模块后,管理员能够查看商城所有的统计信息并且将信息可视化显示,如果想保存统计信息,可以将相应表格的数据下载为图片格式保存。
2.2.6 个人中心模块
管理员可以查看并更改个人信息,在管理员登录之后,点击页面中的头像即可进入个人中心,查看个人信息,更改个人信息,提交并保存。
2.2.7 权限管理模块
当注册管理系统时,管理员的权限为0,进入主页但不能查看信息,应申请权限;当管理员权限为1时,可以查看系统的信息;当管理员权限为2时,可以查看并更改系统的部分信息,可以处理权限申请,最高提权到1;当管理员权限为3时,此时的管理员为最高权限管理员,可以查看并更改系统所有的信息。
2.2.8 账号管理模块
账号管理模块分为3个部分,分别对权限申请、管理员账号、用户账号进行管理。具体的账号管理模块功能如下:查看注册信息,将过期的权限申请进行删除操作;查看管理员账号信息,权限高的管理员可以管理权限低的管理员的部分信息;查看用户账号信息,对含有非法信息的账号进行封禁并通过发送邮件通知用户。
3 结语
校园交易的用户群体以学生为主,而且均采取面对面的交易模式,交易物品大多和校园有关,因此与传统的闲置物品交易App有本质区别。为了更好地适应校园二手交易,针对校园特定的群体应用需求,本系统根据系统架构,设置了用户基础模块和管理模块,方便用户的管理。同时,本系统采取的MVC模式进行架构搭建,让前端和后端架构分离,方便系统后期的维护和管理。在开发过程中,前端主要使用JavaScript作为核心开发语言,后台利用Node.js进行数据处理,使用MongoDB作为数据库存储系统,最终实现了基于Web的优选商城管理系统。为了保障系统的正常运行,提高系统的处理效率,本系统实现了网站数据统计和数据分析的功能,根据相关的数据分析,可以更好地整合服务器资源,达到负载均衡的目的。
参考文献
[1]张文博.个性化购物推荐系统的研究与实现[D].济南:山东大学,2023.
[2]龙芳,吴勇灵.微信小程序购物系统的设计与实现[J].现代信息科技,2023(23):25-30.
[3]余久久,张继山,吴宁,等.基于Openstack云平台的校园二手物品交易系统的敏捷设计[J].通化师范学院学报,2024(2):76-81.
[4]周姣.基于微服务架构的高校二手物品交易系统设计与实现[J].电脑知识与技术,2023(22):67-70.
[5]陆献恒,黄琳.基于Javaweb的学校二手交易市场系统设计[J].信息系统工程,2021(2):94-95.
[6]刘耀阳,王涛,韩海晶,等.校园二手交易系统设计[J].电子世界,2020(5):134-136.
(编辑 王永超编辑)
Design and implementation of Web-based B2C campus second hand item trading system
Wang Zexuan, Xiao Xiangcheng, Cheng Wenzhi
(Hunan University of Science and Engineering, Yongzhou 425199, China)
Abstract: Traditional transactions for second hand items typically involve face-to-face interactions between users. This method is relatively inefficient, consuming significant manpower and material resources. Additionally, users often find it challenging to trade for satisfactory items. To address the shortcomings of traditional transactions, this article proposes the design of an independent second-hand idle item management website. The website aims to facilitate users in viewing, trading, and managing goods, thereby meeting their needs for idle item transactions. The system is built using the MVC model, which separates the front-end and back-end architecture to facilitate the systems maintenance and management in the future. During the development process, JavaScript is primarily used as the core development language for the front-end, while Node.js is used for data processing in the back-end. MongoDB is chosen as the database storage system. Ultimately, a Web-based B2C idle item trading system is successfully implemented. By functional testing of each module of the system, it is demonstrated that they can operate normally, achieving the expected goal of the system under safe and stable operation.
Key words: Java Web; MVC design pattern; second hand item trading system