打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于微信小程序的校园二手平台的设计与实现
毕业设计说明书
基于微信小程序的校园二手平台的设计与实现
基于微信小程序的校园二手平台的设计与实现
摘要:随着互联网时代的兴起,越来越多的人习惯使用网上交易,目前网上交易包含收集APP以及淘宝交易,但是都没有小程序来的更加便捷,因为小程序内嵌于微信,非常方便用户随时随地进行二手商品的查看和购买。本文在此背景下采用MINA框架,使用WXML、WXSS、JavaScript进行开发。后台管理和接口部分使用的开发语言是Java语言,并且利用Spring Boot框架来快速构建Spring项目,数据库使用MySQL,服务器使用Tomcat,实现整个二手物品交易平台的基本功能。
本文所开发的二手物品交易平台微信小程序分为个人用户系统和后台管理系统两部分。用户在微信端前台可以使用微信接口登录到二手商城以后,查看当前二手商品,对二手商品的选购,对违规二手商品的投诉,并提供求购二手商品功能。以及提供给给用户的二手商品售卖功能。后端提供管理员对前台用户的用户信息管理审核,对商品信息的管理,以及对前台投诉建议的处理。
关键词:微信小程序;二手物品交易;MINA框架;Java;MySQL
Design and Implementation of Campus Second-hand Platform Based on WeChat Small Program
Abstract: With the rise of the Internet era, more and more people are used to using online trading, online trading includes the collection of APP and Taobao trading, but there is no small program to more convenient, because the small program embedded in WeChat, very convenient for users to view and buy second-hand goods anytime and anywhere.In this context, this paper adopts MINA framework, using WXML, WXSS, JavaScript for development.The development language used in the background management and interface part is Java language, and the Spring Boot framework is used to quickly build the Spring project. The database uses MySQL, the server uses Tomcat, and the basic functions of the whole second-hand goods trading platform are realized.
The second-hand goods trading platform WeChat small program developed in this paper is divided into two parts: individual user system and background management system.Users in the WeChat terminal front desk can use the WeChat interface to log into the second-hand mall, view the current second-hand goods, the purchase of second-hand goods, the complaint of second-hand goods against the rules, and provide the function of buying second-hand goods.As well as providing the user with second-hand goods sales function.The back end provides the administrator to review the user information management of the foreground user, manage the commodity information, and deal with the complaints and suggestions of the foreground user.
Keywords: WeChat applet;Second-hand goods trading;MINA framework;Java;MySQL
目    录
1 引言
1.1 课题背景
1.2国内外研究现状
2系统开发技术简介与研究
2.1开发环境
2.2开发工具介绍
2.3主要技术介绍
3系统分析
3.1系统需求分析
3.2系统业务流程分析
3.3系统数据流分析
4系统总体设计
4.1系统设计思想
4.2系统总体框架设计
4.3数据库设计
5系统详细设计与实现
5.1用户模块
5.2管理员模块
6  系统测试
6.1测试方法
6.2测试方案
6.3测试过程及结果分析
参考文献
致    谢
1 引言
1.1 课题背景
互联网时代的飞速发展,信息技术和网络技术的不断向上进步提高,互联网技术在各个人民生活领域的得到广泛应用,并且能真实提高人民的生活质量。网购的充分沉淀带来的仍有更多的冲击,冲动消费过后的闲置物品一直需要被重视起来。
特别是每当毕业季来临时,有大量的书籍和生活用品被当作废品卖掉甚至被白白的扔掉,致使很多有用的东西不能发挥它的剩余价值,这不符合中华民族勤俭节约的传统美德。随着互联网时代的到来,网上购物已经成为一种趋势。并且,在校园里绝大多数用户是没有经济能力的,生活来源主要依靠父母,因此可以选择购买性价比高的二手商品。由此看来,开发一套基于微信小程序的校园闲置物品交易平台是十分有必要的。
在这套互联网背景下的闲置物品交易平台能帮传统的校园跳蚤市场能扩大到更大更广的范围,从原本只能在线下在各自学校进行的一项交易能推广到整个学校圈,随着快递行业发达,同时可以甚至推广到全国的范围,只要你能有更好的物品带来的更好的交易价值,这就是一个互惠互利的好的平台。
1.2国内外研究现状
1.2.1国内研究现状
凭借2019年以来逐渐完善的各个功能板块,微信小程序已经初步搭建形成一个闭环的生态结构,持续释放对开发者引力的同时不断优化用户的使用体验,实现良性发展。就各功能板块具体来看:在流量入口上,微信开放全量搜索,提升小程序直达搜索能力;打造小程序桌面,培养用户下拉操作习惯;解除跳转限制,优化公众号和不同小程序间的导流;推出一物一码,强化线下商品的小程序直连。在留存提升上,微信将推出“一次性订阅消息”,助力商家精准唤醒用户;将小程序接入浮窗,打造常驻页面的“第二入口”。在内容优化上,微信将持续优化小程序评分与用户满意度调查,激励优质内容。在转化承接上,广告、电商与增值服务的三驾马车已基本成型,助力开发者依托小程序的轻量化优势高效运营私域流量,挖掘用户价值。
微信小程序上线至今,流量入口已经超出60个,其主要的导流方式可以分为以下5类略带克制的推荐机制,用户主动搜索机制,扫码获取,好友或者群分享以及公众号的安利。微信的导流风格一如这款不做节日运营、不做初期推广的产品一样,也是保持了好产品的安静气质,给用户保留了足够的选择空间,以优质的功能体验来吸引和打动用户。
1.2.2国外研究现状
在国外的二手商品市场方面,比国内更加重视。出现二手交易的平台也是更多的,更加受到广大消费者的喜爱,一方面是国外不像是国内的生产大国,国外的生产会更加占比少,商品的二次交易的加载就会更加凸显其作用。
国外依托的主要载体是在App的形式和网页的形式,作为微信独有的微信小程序的载体是在国内的创新体出现的,微信的受众是更加广大的国内群体,所以这就是国内外的载体的
2系统开发技术简介与研究
2.1开发环境
二手商品微信小程序是在window10系统下借助微信小程序开发者工具开发的,服务端是在Linux环境下的虚拟机上进行开发,服务器使用的是Tomcat8.5,后台采用Java进行开发,运用Spring Boot框架,开发工具包选用JDK1.8,使用Maven进行项目管理,数据库采用MySQL5.7。
2.2开发工具介绍
小程序前端使用微信开发者工具进行开发,微信开发者工具是由腾讯推出的专门用来开发微信公众号、微信小程序的。在整个开发的过程中,开发者可以通过模拟器来确认小程序的真实逻辑表现。
小程序的后端使用IDEA(IntelliJ IDEA)进行开发。IDEA提倡智能编码,能够减少开发者的工作。具有更好的项目管理模式,并且可以直接管理和查看数据库,能直接进行相关SQL脚本的编写,让开发更简便、迅速。
2.3主要技术介绍
2.3.1微信小程序
微信小程序作为一种全新的应用程序,以其“触手可及,用完即走”的服务理念,带来了市场。小程序是机遇同样也是挑战。机遇主要体现在:它只需要占用很小的内存就可以实现我们所需要的服务。它的使用也非常的方便,用户可以通过扫描小程序的二维码来进入小程序,也可以通过搜索来查找小程序。小程序的使用大大节省了安装应用的时间与成本。然而,小程序的这些特点也注定了其使用范围。小程序在让人们体验到它的便捷的同时,也展现出它更适合为使用频率低的应用服务的特点。
2.3.2前端技术:MINA框架
小程序的MINA框架,能够通过更快捷、高效的开发方式开发出和传统应用软件具有相同体验感的应用。MINA框架为小程序提供了独有的视图层语言(WXML和WXSS),以及基于JavaScript的逻辑层框架。MINA框架的核心在于用响应数据来绑定系统。当需要作修改时,只需要修改逻辑层的数据即可完成视图层的更新。微信小程序的MINA框架提供了丰富的API,能够通过API调用就可使用微信提供的各种能力。MINA框架具体分为三个部分:系统层、逻辑层和视图层。逻辑层通过JavaScript进行逻辑处理,该层主要用于与视图层进行交互,将处理的数据发送到视图层,视图层对处理的数据进行反馈[8]。视图层使用HTML和CSS进行数据绑定、列表渲染、条件渲染、模板的设定等[4]。如图2-1,为小程序MINA框架示意图。
2.3.3Spring Boot框架
Spring Boot框架是一种全新的框架,它的优点在于能够简化Spring框架,简化搭建和开发过程。其最主要的特点在于:简化Spring框架的配置。Spring框架需要让开发者在配置与业务问题之间进行繁琐的思考,项目管理问题也令人头痛。Spring Boot框架使这些过程变得简单化,只需要通过运行就能够创建一个产品级的Spring应用,从此再也不用进行XML配置,成功摆脱了SSM项目繁琐的搭建过程。
2.3.4MySQL数据库
MySQL是关系型数据库管理系统,它的使用简单、便捷,非常适合在开发小项目时使用。综合考虑MySQL在性能、支持、特性、价格等多个方面,非常适合在餐饮系统中使用。MySQL数据库是一种开源的、完全免费的数据库。具有功能强大、体积小、易于使用(性能高且使用简单,与其他常用的数据库相比,具有更低的复杂程度)、管理方便、运行速度快(开发者声称是目前最快)、成本低(对个人用户来说完全免费)等优势[4]。
3系统分析
3.1系统需求分析
3.1.1二手商品卖家需求分析
通过了解我们能够得知,传统的校园二手商品交易市场主要是以线下的摆地摊的方式进行的,这就需要场地支持,同时宣传同学们去参加,同时会受到时间的限制和天气等各方面的限制。因此转移到线上小程序的方式,二手商品的卖家主要有如下几个具体需求:
希望能不受到天气的影响导致不能开启售卖,这样就利于自己的时间安排,减少不确定性的因素。
能不受到场地的影响,在以往的摆摊的方式会受到整体的摆摊的场地的限制,由于众多的二手卖家会导致每个人使用的场地有限,无法摆出更多的二手商品。
可随时随地进行交易,在自己其他时间比如上课实习期间也能卖出商品,不是需要在安排出时间去摆摊的过程中才能销售二手商品,减少卖家的时间成本。
物品的搬运成本减少,摆摊售卖二手商品的过程中,是需要进行二手商品的搬运的时间和人力成本的,尤其是一些大的商品会更加增大摆摊售卖的经营成本。
网上支付,减少收银程序,节约成本,减少纠纷。现实中的摆地摊过程中会出现要打印二维码等物料成品,或者收取现金需要找零的情况出现。
图 3-1 卖家用例图
3.1.2二手商品买家的需求分析
对于想要淘到更加实用的更加价格优质的二手商品的买家来说,买家想要用更少的时间成本去选购自己想要的二手商品。因此,买家的主要需求有以下几点:
买家希望能获取更多二手商品的信息,在逛摆地摊的过程中能看到的商品会受到时间和场地的一些限制,无法更加快速获取更多的二手商品,从而能选到最适合的二手商品。
价格透明,买家希望能更加快速的获取二手商品的价格,传统摆地摊的售卖中,需要和卖家沟通每个二手商品的售卖价格,在这个过程中就增加了每个商品的价格不透明的因素,卖家对每个买家都可以开出不同的价格出来。
减少时间成本,买家当然是希望能更加快速的买到自己想要的二手商品,在线下只能通过自己去逛二手商品市场的方式去购买,这样需要花费时间安排,逛市场也是耗费时间的。
买家希望买到的东西能有保障,在线下的方式只能是买到之后没法再次找到卖家,这样一些问题就只能自己解决,减少了二手商品的实际价值。
经过多方调查研究,仔细分析、比较后,确定二手商品交易平台微信小程序的用例图,如图3-2:
图 3-2 买家用例图
3.2系统业务流程分析
二手商品交易平台微信小程序分为客户端和管理系统端。在小程序客户端,买家和卖家都是通过“扫一扫”进入小程序,授权登录进行商品的查看、二手商品的添加,下单支付全过程。管理端主要负责对卖家和买家的身份信息认真,和整个平台订单相关信息的管理。
图 3-2 系统流程图
如上述系统流程图所示,当顾客打开二手商品微信小程序后,在个人中心授权登录,经过用户身份的认证,然后选择购买二手商品和售卖二手商品,进入商品信息页面,选择商品进行浏览信息,选择好商品后加入购物车进行下单确认页面,在确认页面可确认商品价格和信息,也可备注买家相关信息等。确认完成后进入支付页面,选择合适的支付方式进行支付,完成支付后等待卖家进行物品的交付。
3.3系统数据流分析
该系统有三类用户角色:商品买家、商品卖家和系统管理员。商品卖家和买家:是系统的主要参与者,主要进行商品出售,商品的购买,订单的评价等。
商品卖家:作为二手商品的卖家是整个平台的后面的支撑者,商品的数量能吸引更多的买家,同时卖家能宣传自己的商品让更多的买家进入平台,同时卖家也可以作为买家去购买其他卖家的二手商品,这是一个双重角色的运作方式。
商品买家:在系统中,作为参与者,买家的数量能让整个平台更具有潜力,买家希望能买到更适合自己的东西,能快速浏览更多的二手商品信息,因此买家和卖家是一个相互促进的状态,更多的买家吸引更多的卖家入驻销售更加优质的二手商品,整个平台就会更加活跃。
系统管理员:主要权限为认证买家和卖家的身份认证信息,管理投诉相关信息,管理订单评价的信息,已经查看平台整体的订单相关的数据。
顾客登录微信,进入微信小程序,授权登录,选择所需服务,浏览餐厅所提供的菜单,选择所需商品,支付后即可完成二手商品。厨师接收到顾客订单,开始制作。服务员查看制作进度,制作完成后进行上菜。
整个数据的流程是:买家和卖家进入微信小程序,同意授权进入二手商品交易平台,选择是购买二手商品还是售卖二手商品,当选择一次之后下次就会默认进入对应的主页面,同时能自主的切换买家和卖家的身份,卖家具有买家的身份,买家具有卖家的身份,这就是角色的互通作用,能让买家和卖家能更方便的操作。作为卖家就可以进行二手商品信息的新增然后开始售卖,买家浏览商品信息后选择自己想要购买的二手商品进行加入购物车然后下单支付,支付完成之后就会利用微信小程序的通知卖家的微信,告知其有买家购买其售卖的商品,卖家就会和买家电话沟通交货的时间和地址或者交货的方式,这样就完成了一笔订单的交易。在系统管理员的角色中,所需要做的工作就是认证买家和卖家的身份信息,是否符合所属学校的身份。然后可以对买家对卖家的投诉进行处理,按照处理相关规则进行处理不合规的卖家,可以关闭其店铺不能再次销售,可以警示相关卖家要合法合规进行售卖,同时,系统管理员能时刻监控整个平台的流量和订单相关数据,维护订单评价等合法信息,关闭一些不合规的订单评价。
4系统总体设计
采用自上而下的设计方法。首先对系统的大概结构进行设计,然后从结构出发逐步深入,直到完成每一个小的模块的设计。系统的总体设计,主要通过需求分析,对系统的内部结构进行逐步细化,对每个模块进行更加合理细致的划分与设计。通过对系统的总体设计,达到系统能够完成所需的工作,并且可以维护,能够进行修改的基本要求。
4.1系统设计思想
4.1.1设计思路
微信二手商品交易平台小程序使用B/S架构(浏览器/服务器模式)。其主要优点是将核心部分集中在服务器端,简化了小程序的开发、维护和使用,小程序只需要同数据进行交互。
通过手机微信来进行用户登录,身份认证,浏览商品,下单支付全过程。对于买家来说,只需打开微信进行搜索或 “扫一扫”小程序的二维码,就可进入小程序开始进行授权登录,身份认证,选购商品和下单支付等操作。由于小程序不需要下载的优点,使得它只需占中极小的内存,并且平台的更新在用户方面是无感知的,使用更加方便和人性化。
4.1.2设计特点
技术支持:小程序端使用WXML、WXSS、JavaScript进行开发。虽然是属于重新定义的一套标准,但实际上在语法等各个方面都借鉴了前端三件套(HTML、CSS和JS),使用简单,开发方便。
安全的登陆环境:小程序在微信这个平台上进行开发和使用,环境安全,能够减少密码、隐私泄露等安全问题。
线下转移线上方式:从传统的校园跳蚤市场摆地摊的线下方式进行转移到线上浏览下单的方式,节约了买家和卖家更多的时间成本和人力成本,同时能增加卖家的更多的流量 ,买家能浏览更多的二手商品信息,选择最合适的商品进行购买。
系统功能完善:系统各个模块之间紧密联系,各功能点之间区分开,针对整个二手商品交平台的流程进行设计,完整实现用户需求。
4.2系统总体框架设计
本系统分为微信小程序客户端和管理端两个部分:客户端主要用于卖家和买家的登录,认证,出售商品,浏览商品,下单支付,评价等;管理端主要用于管理员进行用户的身份认证,投诉管理,订单数据统计,订单评价管理等。
小程序客户端和管理端都分为数据存储层、逻辑处理层和展示层。数据存储层的功能是利用数据库管理系统来存储和管理数据。逻辑处理层用来处理业务逻辑,通过一系列的对数据的处理来得到相应的结果。展示层是小程序端和管理端的界面,用来将后台的数据等显示出来。本系统的小程序端通过手机微信进行访问,管理系统通过浏览器进行访问。
下面通过小程序客户端和管理端的三个层次进行介绍:
数据存储层。作为整个系统的数据存储层也是整个系统的最底层,通过数据库对整个系统的信息进行存储。主要包括用户以及认证信息、商品信息、订单信息、评价等相关信息,为整个系统提供数据,是系统的基础。
逻辑处理层。是整个系统的核心,属于中间重要层,分别衔接用户展示界面的数据展示输出,和数据输入存储入数据库的逻辑处理,是整个系统的逻辑业务。主要任务分为:向数据存储层进行数据的存储、修改和查询相关数据;和展示层进行api的数据交互,根据展示层的接口请求条件进行数据的查询并返回数据结果,展示层获取数据之后进行渲染展示。
展示层。用于展示用户界面并进行基本的数据整合和渲染,展示用户的画面。管理员展示层是web端的主要是用HTML、CSS和JavaScript进行数据展示,而在买家和卖家的展示层是借助微信小程序的官方语言(WXML和WXSS)进行数据的处理和渲染。
校园二手交易平台整体框架如图4-1所示:
图 4-1 校园二手交易平台系统整体框架
4.3数据库设计
4.3.1数据库概念结构设计
数据库概念结构设计,通过需求分析了解到用户需求之后,将用户需求抽象为具体信息的过程。将概念结构作为基础,用由实体、属性、联系组成的E-R图(实体-联系图)作为描述工具。在E-R图中,实体可以是具体的人或物;属性表示实体所具有的某种特性;联系是指实体内部或实体与实体之间的关系。实体与实体之间的联系可以分为:一对一、一对多、多对多。
从本系统的需求分析出发,二手商品微信小程序中主要有商品信息实体、用户实体、订单实体、管理员实体,下图是点餐系统的数据库整体模型图4-2:
图 4-2 校园二手交易平台系统的数据整体模型图
校园二手交易平台系统的商品信息E-R图中,主要包含商品id、商品名称、商品图片、商品单价、库存量、商品类别、商品描述、商品使用时长,商品原价等,如图4-3所示:
图 4-3 二手商品信息实体图
校园二手交易平台系统的用户实体的属性,主要包括:用户的id、用户昵称、用户头像、电话、微信openid、学校信息、认证信息、用户商品信息等,如图4-4所示:
图 4-4 用户信息实体图
校园二手交易平台系统的订单实体主要包括:订单号、用户id、订单创建时间、价格、订单状态、商品标题、商品数量、买家和卖家id等信息,如图4-5所示:
图 4-5 订单信息实体图
校园二手交易平台系统的管理员实体主要包括管理员id、管理员用户名、管理员账户、管理员密码、管理员电话等,如图4-6所示:
图 4-6 系统管理员实体图
根据上述各个实体的E-R图,设计了实体与实体之间的E-R图,其中包括商品实体、用户实体与订单实体。通过总E-R图来描述主要实体之间的联系,它们将是整个系统的核心。
图 4-7 E-R图
在数据库的E-R图中,用户表与订单表之间存在一对多的关系,商品表和订单表之间通过已购商品相互连接,订单表与已购商品表存在一对多的关系,已购商品与商品表之间存在多对多的关系。
4.3.1数据库逻辑结构设计
将概念结构设计的E-R图转换为逻辑结构设计中的关系模式,确定关系模式中的码和属性。将实体中的属性与关系模式中的属性相对应,实体中的码与关系中的码相对应。点餐系统中主要数据库表如下:
商品信息表product基本数据表,如表4-1。
表 4-1 商品表
字段名
类型
大小
是否为空
字段描述
product_id
int
20
主键
product_name
varchar
64
商品名称
product_price
decimal
8
商品价格
product_stock
int
11
库存量
product_description
varchar
64
商品描述
product_icon
varchar
512
商品图片
category_type
int
11
商品类别
create_time
timestamp
0
创建时间
update_time
timestamp
0
更新时间
user_time
int
11
使用时长
seller_id
int
11
所属卖家
订单详情表order基本数据表,如表4-2:
表 4-2 订单详情表
字段名
类型
大小
是否为空
字段描述
id
int
32
主键
order_id
varchar
32
订单号
product_id
varchar
32
商品id
product_name
varchar
64
商品名称
product_price
decimal
8
商品单价
product_quantity
int
11
商品数量
remarks
varchar
64
备注信息
product_icon
varchar
512
商品图片
create_time
timestamp
0
创建时间
status
tinyint
2
订单状态
订单支付状态表order_product基本数据表,如表4-3:
表 4-3 订单支付状态表
字段名
类型
大小
是否为空
字段描述
order_id
varchar
32
主键
buyer_name
varchar
32
买家名字
buyer_phone
varchar
32
买家电话
desc
varchar
128
买家信息
buyer_openid
varchar
64
买家openid
order_amount
decimal
8
订单总额
order_status
tinyint
3
订单状态
pay_status
tinyint
3
支付状态
create_time
timestamp
0
创建时间
update_time
timestamp
0
更新时间
用户信息表user基本数据表,如表4-4:
表 4-4 用户信息表
字段名
类型
大小
是否为空
字段描述
id
int
11
主键
create_time
datetime
0
创建时间
openid
varchar
255
用户openid
phone
varchar
255
联系电话
email
varchar
255
邮箱
update_time
datetime
0
更新时间
username
varchar
255
用户昵称
desc
varchar
255
用户简介
password
Varchar
255
用户密码
school
varchar
255
用户学校
is_pass
tinyint
2
用户认证状态
create_time
timestamp
0
创建时间
update_time
timestamp
0
更新时间
status
tinyint
2
用户状态
管理员表admin用来存储管理员的基本信息,如表4-5:
表 4-5 管理员表
字段名
数据类型
大小
是否为空
字段描述
id
varchar
32
主键
username
varchar
32
管理员名
password
varchar
32
密码
openid
varchar
64
买家openid
create_time
timestamp
0
创建时间
update_time
timestamp
0
更新时间
seller_id
int
11
买家id
phone
varchar
255
电话号码
评价表comment用来让顾客在进行评价,顾客可以写出自己的感受。如表4-6:
表 4-6 评论表
字段名
数据类型
大小
是否为空
字段描述
comment_id
int
11
主键
order_id
varchar
32
订单编号
buyer_name
varchar
64
买家昵称
openid
varchar
64
买家openid
content
text
0
评论内容
create_time
timestamp
0
创建时间
4.3.2数据库的配置与实施
通过对数据表的分析与设计,使用MySQL建立数据库相关表,然后利用数据可视化工具Navicat用来方便管理数据库相关数据。根据对二手商品交易平台系统的相关需求和逻辑进行分析后,进行二手商品交易平台的数据库的实现。首先建立一个名为second_hand的数据库,其用户名为root,密码为root。在数据库second_hand中新建二手校园交易平台的相关数据表,并产生一些测试的数据方便进行测试。在项目中建立与服务器连接有关的配置文件,其主要配置参数如下:
'type’      => 'mysql’//数据库类型
'hostname’  => '127.0.0.1’//服务器地址
'database’  => 'second_han’//数据库名称
'username’  => 'root’//用户名
'password’  => 'root’//密码
'hostport’  => '3306’//端口
'charset’   => 'utf-8’//数据库默认编码改为uft-8
通过对上述数据库连接的配置,实现服务端与数据库存储层的通信。并测试数据库是否能够正常使用。通过服务端封装的连接数据库MySQL的连接类进行操作MySQL的相关数据,便于操作数据的整体性。
5系统详细设计与实现
校园物品交易系统是以买家和卖家为出发点进行设计的,主要对卖家如何出售二手物品,买家如何快速选购自己需要的二手物品,下单然后支付的全过程进行分析和设计。通过上述具体的需求分析,得到本系统的具体模块。微信小程序的界面使用小程序的MINA框架进行设计,同时通过微信小程序中提供的API接口交互的接口设计的进行与数据源的服务端进行数据的交互,将接口数据获取之后通过小程序的官方语言WXML和WXSS等进行渲染后展示在小程序界面中。在小程序的设计中,遵循Restful的模式思想进行与服务端进行交互,更好的分层体现不同的作用。WXML和WXSS作为前端的视图层,利用JavaScript进行逻辑控制。本章内容主要介绍小程序主要模块的设计与实现过程。
5.1用户模块
5.1.1个人信息
用户可以通过我的导航栏进入个人信息页面,然后点击个人信息,会出现个人中心的选项。当用户点击个人中心时,页面会首先调用微信端ShowMeInfo方法,该方法通过Ajax技术调用后端的接口,后端接口根据微信小程序前端传入的UserID,从数据库中获取到当前用户的信息,并将当前存储在cookie中的用户名和身份传输到后端。微信小程序获取后端传来的信息之后,将数据信息进行整理,将个人的详细信息进行通过wx提供的渲染接口进行渲染。将用户的所有信息都获取结束之后,将整个数据传输到前端。在前端中的方法将获取到的数据存储到该页面的数据变量中。该页面中的用户信息表单中的每个元素都已经与刚才获取的数据通过wx-model进行绑定。用户的个人信息除用户名以外,其他信息都是输入框的形式显示,方便用户的更改。点击确认按钮时,对每条信息进行验证,验证通过之后才可以进行修改。
5.1.1用户登录模块的设计与实现
当买家和卖家初次使用本系统时,需要先通过微信小程序搜索校园二手物品交易小程序来获取该小程序或者通过其他人的微信分享小程序进去本小程序。然后进行会进行微信授权登录的过程,用户同意之后即可开始使用。当用户授权之后微信小程序会判断用户是否曾经使用过本系统,如已经使用过,可加载之前使用信息。用户可在登录后对自己的个人信息进行
在登录之前首先要通过wx.checkSession来进行检测,查看用户的登录态是否是正常维持状态,如登录态无效则清除用户当前登录信息。然后小程序端通过调用wx.login()获取登录凭证code;通过凭证获取用户登录态信息,包括用户唯一标志openid和会话密钥session_key等,并将用wx.request()将code发送至服务端进行逻辑处理,主要需要对比当前openid和数据库中的用户信息。开发者服务器提交Appid+appSecret+code到微信服务器;获取session_key和openid后返回并保存,生成3rd_session,并将3rd_session返回到小程序端。小程序端wx.setStorage存储3rd_session,每次请求时都将3rd_session放在请求头中,小程序端通过wx.getUserInfo获取用户信息,wx.getStorage获取3rd_session数据后提交给服务器。
5.1.2二手物品查看
a) 查看全部二手商品
用户进入首页以后,首页会对当前所有的二手商品展示在微信端页面,微信小程序前端会使用ajax技术向后端发送GetAllGoods的请求,后端对该请求进行监听,监听到该请求后,从数据库中select所有商品的详细信息,返回给微信前端。微信渲染层对后端返回的商品信息,通过wx-for方法,对每条的信息进行详细的展示。
图5-1 物品查看
b) 查看二手物品详情
用户对感兴趣的商品可以直接点击到该商品中,微信端就可以将该商品的商品ID传送到后端,后端通过goodid从数据库中取出该商品的详细信息,将将详细信息作为json数据格式返回给微信前端,微信前端对该商品的详细信息使用微信提供的xtml格式标签进行展示给用户,微信用户便可以查看到该商品的详细信息。
图5-2 物品详情
5.1.3二手物品购买
对于二手物品的交易安全,以及保证二手质量,所以设计为如果用户需要购买当前二手商品,可以通过点击该商品的联系按钮,后端会从数据库中根据该商品的goodid查看到所有人的userID,并根据userID将物品所有者的联系方式取出,放回给微信前端,微信前端使用toast接口将该用户的手机号码显示给需要购买的用户,用户可以拨打改手机号,联系物品所有人在校园内当面对二手商品进行质量验证以及交易。
图5-3 二手购买
5.1.4二手物品求购
用户通过求购按钮可以进入二手物品的求购发布模块,如果在系统中没有满意的商品,用户可以自己填写需要求购的物品,对求购的物品,用户可以在微信前端页面根据微信给到的表单填写求购商品的详情,然后微信前端使用Ajax将表单收集到的具体求购物品信息使用Post请求发送给到后端。后端通过接口对post请求内参数进行解析,并写入求购数据表中。
图5-4 二手求购
5.1.5二手物品售卖
用户在微信端还可以对自己想出售的二手商品进行售卖,用户可以点击我要卖的按钮,进入二手商品售卖模块。微信端为用户提供售卖表单收集信息,用户可以填写自己需要售卖的物品标题,以及上传几张物品的详细图片。前端通过ajax进行数据post传递以后,后端使用upload方法对传递过来的图片信息进行存储到upload文件夹中,并将图片存放地址存入数据库中。
图5-5 售卖
5.1.6二手物品投诉
为了维护校园二手售卖环境,如果有人出售假货,用户可以对该物品进行投诉,用户点击进入物品的详细介绍模块,在右侧都有投诉按钮,用户可以点击此投诉按钮,微信前端使用表单对投诉信息进行收集,用户填好以后,微信前端将该商品的goodID和对应的投诉reportid和投诉进行发送给后端。后端将该report投诉信息以及goodID,userID进行存储,并将信息转发到后台,管理员便可以查看到当前的投诉信息以及对应的投诉物品和投诉人。
5.2管理员模块
5.2.1投诉建议处理
管理员可以在管理员网页端查看到当前被投诉的信息,管理员可以点击违规信息管理按钮,查看到被举报的商品,后端会从数据库中搜索出状态为举报状态的商品在该模块进行展示。对举报的商品,管理员可以查看当前商品的信息,确认是否是违规商品,以及查看从数据库取出的该商品对应的userID 查出售卖的用户信息,并将该用户信息进行前端渲染,管理员可以查看该用户违规情况。如果查看到确实是商品违规,售卖不符合规定的商品,管理员可以直接确认当前售卖违规,并对该商品下架以及冻结售卖此商品的用户,后端会将用户表的该用户信息激活状态设置为否,该用户就不能再在微信端进行二手物品的售卖和购买。
图5-6 投诉管理
5.2.2用户管理
管理员可以获取到全部的用户信息,后端根据用户身份和分页信息从数据库中查询指定范围的用户信息。并根据userid查询到用户的具体详细信息名称,并存储到传输的数据中。前端获取之后,显示到对应的表格中的指定列中。管理员还可以通过输入指定信息进行录入用户,以及还可以对用户进行修改与删除功能。
图5-7 用户管理
5.2.3商品管理
管理员可以查看当前系统中具有的全部二手商品信息,后端用户身份和分页信息进行获取数据表中全部二手商品信息,并显示指定的页面数据。当二手商品信息需要新增时,便需要管理员输入二手商品相关信息。并通过正则表达式做出相应的验证,验证通过才能进行新增。后端获取到新增的信息之后,对其进行添加到数据库中。
管理员还可以对需要更新的二手商品信息进行编辑,将二手商品信息传输到后端进行更新数据库。当二手商品信息不需要时,可以对其进行删除,需要删除的二手商品编号进行传输到后端。后端通过获取身份和需要删除的二手商品信息进行删除数据库中的指定信息
图5-8 商品管理
6  系统测试
6.1测试方法
软件测试主要是可以分为黑盒和白盒测试,简要介绍如下:
黑盒测试:是指在忽略程序的内部结构和内部特性的前提下,不了解其代码,完全当做未知来对程序的接口进行相应测试。黑盒测试是只对程序的外部结构进行测试,不管其内部的逻辑结构如何。总之,黑盒测试主要用来测试软件是否满足设计需求。
白盒测试:白盒测试是对软件内部细节方面进行的测试。这种测试允许测试人员看到程序的代码,对程序的内部逻辑结构进行测试,通过对各个分支的判断,来确定与预期是否相同。白盒测试主要是对程序的模块进行逻辑检查,针对单元内部的工作情况进行测试。
6.2测试方案
为使系统能够稳定运行,对系统进行必要的测试,主要使用的测试方法有以下几种:
界面测试:测试小程序界面的结构是否合理,整体风格是否相同或相似。各个按钮的位置是否符合用户的日常使用习惯,是否方便等。主要评估其准确性、便捷性和是否美观。
功能测试:依据需求分析,测试小程序的特性和可操作性是否满足设计需求。检查功能是否存在错误或疏忽,是否存在界面错误、数据库访问错误等。
综合测试:是对整个系统进行整体上的测试,主要目的是检查系统是否符合设计要求。把所有的模块按照设计组装在一起进行整体测试,防止系统出现模块之间相互影响,造成组合之后不能实现具体功能的情况,以便发现与接口有关的错误。
6.3测试过程及结果分析
6.3.1登录模块测试
用户登录模块作为整个系统初始的模块,优先进行测试确保后面有数据的产生利于测试后面的流程。在整个测试过程中主要通过黑盒测试和白盒测试来确定登录模块的运行是否流畅。
当用户进入小程序后,首先在“我的”里进行授权登录,用户只需要点击上方的授权登录,无需进行注册,点击授权登录后会出现弹框进行授权确认,点击确认即可。
表 6-1 用户登录小程序测试用例
用例名称
用户登录小程序
目的
测试用户进入小程序时利用微信登录和授权功能
前提
用户初次打开小程序
测试流程
(1)获取小程序,进入“我的”页面
(2)弹出微信授权获取公开信息页面,选择允许或拒绝
预期结果
如用户选择允许,会显示用户头像和昵称;如用户选择拒绝,将不能进行下一步操作。
实际结果
与预期一致
当用户授权登录之后需要进行用户身份的验证,需要输入用户的身份信息,然后提交审核,审核通过之前无法进行二手物品的新增和售卖,也无法进行二手物品的购买功能。
表 6-2 用户认证小程序测试用例
用例名称
用户认证小程序
目的
测试用户认证功能,功能限制是否正常
前提
用户已经授权登录
测试流程
首先在不认证的情况下能否新增出售二手物品
在不认证的情况下购买二手物品
在认证通过后进行新增出售二手物品
在认证通过后购买二手物品
预期结果
在未认证通过期间不能新增出售二手物品,同时不能购买其他二手物品,在后台认证通过后就可以新增出售二手物品,也能购买其他二手物品
实际结果
与预期一致
6.3.2二手物品下单模块测试
测试人员首先要进行授权登录,并通过身份信息认证之后进行测试二手物品下单模块。在下单模块完成相应操作,如:二手物品选择、订单确认、下单、付款等具体操作。通过上述操作来确定二手物品下单模块是否能够正常使用。
具体测试为流程为,分别测试二手物品能正常购买的状态,二手物品已经售完的情况。
具体测试过程如表6-3,表6-4,表6-5:
表 6-3 下单测试用例一
用例名称
下单测试用例一
目的
测试下单支付功能
前提
用户的token合法并有效,并且二手物品状态正常
测试流程
(1)用户在二手物品详情页面点击购买。
(2)用户在确认订单页面点击“付款”。
预期结果
跳转到订单详情页,并出现支付按钮,选择支付方式,并支付,支付成功后返回页面,数据库生成新订单。
实际结果
与预期一致
表 6-4 下单测试用例二
用例名称
下单测试用例二
目的
测试下单支付功能
前提
用户token合法并有效,二手物品状态无法购买
测试流程
(1)用户在二手物品详情页面点击购买。
(2)无法进入确认订单详情页面,页面提示物品无法购买。
预期结果
用户点击立即购买无法进入确认订单详情页面,页面提示物品无法购买
实际结果
与预期结果一致
6.3.3付款模块测试
在买家下单后,进行订单的支付流程。在测试过程中,要对用户的付款方式、支付渠道、支付操作过程等方面进行测试,同时还要注意支付是否到账。
表 6-5 付款功能测试用例
字段名
描述
测试项
功能测试
测试环境
网络状态良好,安卓手机
测试步骤
(1)进入订单界面。
(2)查看订单明细,找到付款按钮。
(3)点击“付款”按钮进行付款。
预期结果
(1)页面正常跳转,无异常。
(2)运行正常。
(3)界面显示付款成功。
测试结果
通过测试
6.3.4评价模块测试
在买家完成订单之后,可通过评价模块对二手物品的描述,二手物品的使用情况,二手物品的真实性,使用感受等进行评价,通过自己的感受来提出意见与建议。
表 6-6 评价功能测试用例
字段名称
描述
测试项
功能测试
测试环境
网络状况良好,安卓手机
测试步骤
(1)进入评价界面。
(2)填写评价表。(3)点击“评价”按钮。
预期结果
(1)页面能够正常跳转,无异常。
(2)刷新评价页面,显示评价信息
测试结果
通过测试
7总结和展望
本文主要通过对校园二手物品交易的现状作了实地的探讨和分析,设计出了以微信作为载体的线上形式的校园二手物品交易平台的微信小程序,完成了整个二手物品交易平台的实现。在整个系统的开发过程中,根据面向对象开发软件的思想,完成了需求分析、架构设计与搭建、编码实现、软件测试等过程。
在整个二手物品交易平台的实现过程中,对程序和代码实现有了新的认知,在原来课本的基础上又加深了一层理解,对微信小程序的实现也有了更好的认识。在完成系统开发的过程中,提高了对整个系统的完整性的认知,从客户端微信小程序到服务端的交互实现和交互方式这一整个流程有了更加充分的认识,对于网络这一块有了一定的理解。同时提升了自己对于知识的整体运用的能力,进一步了解了Restful的开发模式。在开发与论文撰写过程中,我明白了需求分析在整个开发过程中的重要性。在进行开发工作之前,一定要进行非常充分的需求分析,以确保后续开发的顺利完成。在开发过程中也要注意代码的重复等问题,要减少重复,进行高效编程。
虽然本系统能够满足用户需求,稳定运行,但是还有很多可以改进的地方,比如微信前端可以增加缓存机制,加快数据的载入。以及前端页面设计可以更加人性化,更加美观大方。在服务器后端也可以使用最近流行的docker方式进行部署,尝试使用微服务架构对后端系统进行设计,以便为用户提供更加优秀的用户体验。
参考文献
艾杨,  刘婧,  左静洁,等. 校园二手交易平台的设计与实现[J]. 南国博览, 2019, 000(009):P.47-47.
吴茂雪, 向程冠, 吴菊熘. 校园二手商品交易平台的设计与实现[J]. 电子技术与软件工程, 2014, 000(013):230-231.
郭雨洁, 徐强生, 朱中龙,等. 基于Android的校园二手物品交易平台的设计与实现[J]. 信息与电脑(理论版), 2020, v.32;No.446(04):74-76.
桑梓槟. 高校二手物品交易网站的设计与实现[J].  2014.
安怡. 基于微信小程序的校园二手交易市场系统的开发设计[J]. 计算机产品与流通, 2019, 000(006):208-208.
苏翀宇、木更乾、吴德. 基于微信小程序的校园二手平台设计[J]. 电子技术, 2020, v.49;No.526(09):31-33.
HUO Ying, CHEN Xiao-man, ZENG Geng-hai,等. 基于MPVUE技术的二手书交易小程序的设计与开发[J]. 韶关学院学报, 2019, 040(006):9-14.
王昱婷, 刘静, 燕明媚,等. 基于微信小程序的大用户二手物品交易平台设计与开发[J]. 电脑知识与技术, 2019, v.15(32):289-290+292.
魏  丹, 周美磊, 胡春安. 基于微信小程序的校园服务平台的设计与开发[J]. 计算机科学与应用, 2020, 10(12):10.
张少巍, 马兵. 校园二手交易市场分析[J]. 电脑知识与技术, 2017(30).
王志刚. J2EE在校园二手交易平台中的应用[J]. 湘潭师范学院学报(自然科学版), 2009.
佚名. 微信小程序[J]. 上海信息化, 2017(01):9-10.
潘浩. 基于微信小程序的智能配送系统的设计与实现[J]. 微型电脑应用, 2019, 035(007):31-33.
付长青, 庄程. 校园电子商务-二手交易网站[J]. 商场现代化, 2008, 000(028):53-54.
王泊. 二手交易系统的设计与实现[D]. 山东大学.
朱咏平. 手机二手商品系统的设计与实现[D].大连理工大学,2018.
致    谢
本论文是在我的指导老师的亲切关怀和悉心指导下完成的。他严谨的科学态度,精益求精的工作作风深深地感染和影响着我。从论文的选题到论文的完成,都给予了我莫大的帮助。一次次的耐心指导,使得我的论文不断的完善。在此,对您表达我深深的感谢。
弹指一挥间,大学四年已经接近尾声。回顾往昔岁月,有太多人在一路中给予了我帮助。首先,想要在此对数学与计算机科学学院的各位老师说一声谢谢,感谢您四年以来对我的栽培和教导。其次,想要对一直以来陪伴在我身边的朋友说一声谢谢,感谢相遇,也感谢那些美好的时光。
最后,要感谢我的父母及家人一路以来对我的支持与鼓励。回顾过往,我走过的每一步都伴随着你们的爱和期望。在未来我也会不断地努力,不负你们的期盼
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
闲鱼商业模式解析:二手闲置未来在小区,小区商业的核心是信任!
2000万人通过它成为“生意人”,怎么做到的?
易趣网电子商务成功模式案例分析
闲鱼APP的产品设计与运营
拍拍二手撤了 “没有赚钱想法”的闲鱼和转转为啥还继续
深度长文丨二手实物电商的产品之道
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服