基于微信小程序的校园二手商城平台

  摘要

现在是信息时代、互联网的时代。现在的手机平台上每天不断的有新的APP的横空出世,你要用这个APP那你就需要去应用商店下载、注册账号、身份认证等一系列操作之后才可以使用。很多APP用的时间长了,它占的手机内存就越大。则微信小程序则很好地处理了这个问题。它不需要去应用商店去花流量花手机内存去下载,它简单到一键就可以使用。现在很多电商平台都开发出属于自己的微信小程序,还有的就是通过微信小程序二维码把用户带进自己的电商平台。微信的用户每天都在增加以及如今年轻人的消费观念在演变,不再一味的追求全新的商品,而是追求自己需要的符合自己消费水平的二手商品。将高校的二手交易平台与微信小程序结合在一起,庞大的微信用户群体将会给二手交易平台带来非常大的关注度。

在设计上,该商场系统采用MVC模式,将显示模式与设计模式相分离,数据库采用的是MySQL数据库,用JNDI数据库连接池进行连接的分配。整个商场系统分微信小程序页面和WEB后台信息管理系统。微信小程序的用户前台可以浏览整个商场的商品,后台管理系统负责整个商场信息统计。本设计采用MD5密码加密技术对整个二手商场项目的用户密码进行安全保护。Ajax技术在不重新加载整个页面的情况下对页面进行数据的交互。本商场采用微信小程序+WEB组合的方式,让整个商场项目用起来方便快捷。

  关键词:微信小程序、二手、MVC、MySQL、JNDI、MD5

  1绪论

  1.1研究背景及意义

目前我们的智能手机功能性不断完善,影响到到我们生活中的每一处地方,满足我们对生活的各种的需求,其中,针对用户喜欢网购以及喜欢价格优惠产品的需求,二手交易平台开发也开始流行,实现了商品的线上交易渠道,让用户可以在这样的互联网平台找到所需要的服务或者是商品,解决用户在二手商品交易上的诸多问题。当代大学生有很多不用的物品在寝室堆积,比如往年的旧课本、闲置的电子产品等。到毕业季更是有很多毕业生有很多物品带不走的,但对低年级的同学们有利用的价值。在我身边,我发现我的学长学姐们毕业的时候都是把书和闲置的物品赠送给学弟学妹们,但是有很多东西都是没来得及让学弟学妹们知道的,我就想开发一个这样的平台能让学弟学妹们早点知道有这么一些物品是闲置的,这样很多闲置品都可以进行二次利用,就不用扔掉这么可惜了。

微信小程序属于小、轻、精,所以现在特别受大学生的青睐,基于微信的小程序开发二手商城真的特别有意义,大学生们通过这个可靠的交易平台来购买自己需要的二手商品或者出售自己闲置的物品,这样大学生们不仅可以用较低的价格来得到对自己有用的物品,还可以提高闲置物品的使用率。

  1.2国内相关研究

随着微信小程序的横空出世,目前很多电商平台也相继推出属于自己的电商微信小程序,吸引更多的人进入自己的电商平台。从文献中可以观察到,这些微信小程序的电商平台非常顺应现在时代的潮流。很多学者对微信小程序的发展前景和面临的问题以及微信小程序的校园二手交易商场的开发设计有很深入的研究,比如说

1.匡文波提出小程序是机遇与挑战共存

小程序是应用形态的创新发展方向,即与社交平台深入融合以易得易用为宗旨以轻量化和高便利分享为特征。但根据罗杰斯提出了著名的创新扩散S-曲线理论。显然,目前小程序的发展进入一个相对平缓的阶段,因此接下来一段时间将是小程序的思考和完善期[1]。

2.安怡认为基于微信小程序的二手交易系统将会拥有客观的市场前景

微信小程序“即用即走”的特点不仅释放了大众的手机内存,同时又连接了人与人、人与物、人与商业、人与服务等等便利了大众的日常生活。相对于传统的二手交易市场,基于微信小程序的二手交易市场系统更加的便捷、灵活和安全[2]。

  1.3可行性分析

开发一个二手交易商场小程序,不是可以什么都不考虑的,当小程序发布上线的时候将会面临各种风险,比如法律、技术、经济的风险。在确定好选题之后,我就查阅了相关的文献和报告,查阅关于支付功能的技术的可行性。商场项目必定涉及交易支付功能,毕设课题要尽量的避开上述所提到的风险,进行项目的全方面可行性分析。对本次课题的可行性分析主要针对技术可行性和经济可行性[10]。

  1.4经济可行性

经济可行性主要针对该二手商场小程序的的开发使用效益为指标。高校学生使用该小程序项目可以进行快速的闲置物品的交易,丢弃繁琐的购买步骤,让闲置的物品得到

循环利用,其次就是节省了高校学生们的时间和精力。在经济上该二手交易商城是非常可行的1.5技术可行性

本二手商城小程序使用了MVC设计思想。前台页面使用微信小程序技术,后台使用Servlet进行逻辑搭构。使用响应速度快的mysql数据库,tomcat搭建服务器。所以本小程序在技术上也是可行的。

  2系统分析

  2.1功能分析

客户进入商场首页可以查看商场发布的商品。当用户选中某款商品时可以进行登录购买,如果他没有注册登录的话,那他将不能进行商品的结算。要想结算购物车里面的商品必须要进行商场的登录。本商场一共设置两种管理员,如果是商场管理员,可以实现商品的添加与商品信息和用户信息的修改、活动商品的管理、对不合规用户账号进行删除,订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,发布商品以及自己订单的查询等操作。

基于微信小程序的校园二手商城平台

基于微信小程序校园二手商场中总共分为三种人群,分别是没有登陆的游客、登录账号的用户、管理员。商场主要包括以下功能模块:用户登录注册模块、二首商品前台展示模块、购物车模块、后台管理员信息维护模块。

  2.2设计思路

二手商城的设计开发,首先定义为一个普通的商城,与普通的商城不同的是这个商城销售的是二手的商品而已,所以这个商城就应该比普通的商城多了一个发布商品的功能。一个商城要分前端和后端,一个项目设计前必须进项详细的功能需求分析,数据库的表必须设计完整,数据库表非常重要,每个表涉及的字段也要准确,数据库的搭建对以后的项目开发至关重要,因为数据库表贯穿整个商城设计开发。没有数据库表的支撑无法完成商城一套购买操作。数据库搭建完后就需要考虑页面布局问题了,本商城设计遵循一个原则,那就是“页面友好”原则,参考很多电商平台的前台设计,各有千秋,可以把不同电商平台的前台设计优点组合起来,这样可以让前台设计看起来友好。用HBuild进行前台框架的布局设计,再结合微信开发者工具进行搭配。微信小程序最新推出的&lt;web-view/&gt;,&lt;web-view/&gt;为小程序提供了很多便利,缓解了微信小程序的size问题。<web-view/>,<web-view/&gt;可以内嵌网,web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面;属性:src:填入一个网站的url,默认值是none,webview指向网页的链接。需登录小程序管理后台配置域名白名单。实例:<!–wxml–><!–指向百度首页的web-view–><web-viewsrc=”https://www.baidu.com/”></web-view>所以本设计我将会运用<web-view/>,<web-view/>和java组合进行开发设计,利用两个微信小程序语言和java语言两个的优势进行开发。

前端设计好之后就要进行前端和后端的数据交互了,没有后端数据库的数据交互,那这个前端就是一个死的页面,加上数据库的数据交互,前端页面就活起来了。还有一个就是逻辑,一个商城项目要理顺逻辑,不然逻辑错了整个项目就垮了。比如说没注册登陆的游客不可以购买商品,否则没有任何游客的信息,商品该给谁?还有购物车的逻辑也不能有错,购物车的算法要准确。还有要理顺后台管理员和用户管理员的区别,不同等级的管理员所拥有的权力应该要不一样,用户管理员肯定不能删除其他用户发布的商品,只有商城的管理员经过审核认为是不合规的商品才可以进行下架删除。其实整个项目最难的一个难点就是Servlet和MVC模式。整个项目需要页面的跳转、数据库的数据交互、数据渲染等,每一步都不能出错。JSON的编写是很核心的,因为商城需要页面的渲染,数据的交互,所以JSON是中间的桥梁。也要注意区分Servlet和Service的分工,逻辑不能乱,这就要多去体验别人的商场平台。

本商场设计的框架是采用MVC:M:Model,模型层

3dao:DataAccessObject,负责数据的CRUD操作,跟数据库交互,不做数据加工。

简单概括:实际开发中,通常用封装数据的JavaBean和封装业务的JavaBean来实现模型层。MVC模式的流程如下:浏览器通过使图像控制器发出请求,控制器接收请求之后通过选择模型进行处理,处理完之后再转发到视图,进行视图界面的渲染并作出最终响应。

  3开发环境配置

  3.1下载并安装JDK

编译和运行Java程序,JDK是必须要有的,可以自行下载。不同的平台有不同的JDK版本,这就需要找好待安装平台下的JDK进行下载。JDK不需要追求最新版本的,对于开发者来说JDK版本的稳定性排第一位,这样可以避免JDK的差异带来开发上的问题。

3.2配置Java环境变量

基于微信小程序的校园二手商城平台

表2-1JDK配置表

需要注意的是,PATH这个环境变量不是新建的,而是选中该环境变量后进行编辑修改。

  3.3验证JDK是否安装成功

在控制台输入java-version命令,出现如下所示结果及表明安装成功[12]。C:/Users/YF>java-versionJavaversion“1.6.0_43”

Java<TM>SERuntimeEnvironment<build1.6.0_43-b01>

JavaHotSpot<TM>ClientUM<build20.1b01,mixedmode,sharing>3.功能模块设计

1.5前台系统总体逻辑设计

搜索到微信小程序,直接进入到微信小程序的首页,就挑选自己喜欢的二手商品,添加进购物车然后就可以进行购买。

图3-1前台系统逻辑图3.1.1用户登录注册模块

基于微信小程序的校园二手商城平台

用户登录模块有几个步骤,首先需要注册自己的账号,注册账号使用手机号注册,为了验证手机号码是本人的,设计时增加了手机验证码,用手机验证码辅助注册。如果注册一个用户不用手机验证码的话,就有可能被人恶意注册,到时候数据库和服务器的压力会很大,会导致整个项目瘫痪。

然后就是登录部分,登录有两种方式一种是手机验证码登录,另一种是手机账号和密码登录。注册时,采用MD5技术进行用户密码加密,取前几位数即可。在数据库和后台管理员页面就只能看到一串已经被加密的密码,保证了用户的账号安全。还有就是用户密码登陆的时候还添加了验证码模块,那添加验证码有什么用呢,很多人会觉得每次验证码都很繁琐,其实是商场后台人员为了保护你们用户的账号安全。验证码的作用是为了防止网页暴力破解程序,恶意破解密码。该验证码有效期为5分钟,一个验证码只能用一次。MD5加密的伪代码如下:

String加密后的密码=EncryptUtil.getEncStr(设置的密码,8);

会员登录时查询zhb表,进行输入的用户名与密码和数据库中的数据进行比较,如果符合就登录成功如果没有符合的,就自动跳转到登录界面继续登录,而且可以进行新会员的注册。

使用Ajax技术实现商场用户的注册和登录以及实现主页无需刷新就可以更新查询商品。用户注册模块流程图如图2-1所示

图3-2用户注册模块流程图

基于微信小程序的校园二手商城平台

在该模块中,用户输入用户名和密码,选择登录角色,点击登录后,会把这些信息传给相应的程序处理。如果用户名或者密码错误则跳转回登录界面,如果用户名和密码都正确,则根据用户名和角色到Zhb表中查找出有关信息,并且把这些信息写入session中。当其他模块需要使用用户的有关信息时,则只需从session中读取即可,满足了其他模块对于用户信息的需求。该模块程序流程图如图2-2所示。

图3-3后台

基于微信小程序的校园二手商城平台

管理页面流程图3.1.2商品展示模块

商城的前台展示是非常重要的一环,让消费者看得舒服用得顺畅才可以留得住。前台有商品分类和关键字查询,这能让消费者可以很快搜索到自己喜欢的商品。前台也还推荐了最受欢迎的八个商品。前台主要是围绕一个简洁大方的主题来设计,现在的消费者的要求很简单,追求的是效率使用,而不是弄的很眼花缭乱。要想前台数据与后台数据交互,就可以使用Json数据格式。

3.1.3购物车模块

用户没有登陆的情况下称之为游客,现在很多人都是进入一个新的程序第一件事不会是注册登录,第一件事肯定是先选购自己需要的商品,当他们把自己选好的的商品后就会放到购物车,然后发现自己没有登陆无法结算,这时候他们就会注册登录,然后发现刚才选购的商品不见了,遇到这样的问题怎么办?本小程序设计的购物车模块使用了SessionStorage就轻松地解决了这个问题,让游客登录后自己的购物车里保留有刚才选购的商品。购物车包括全选结算、删除商品等功能。还要把商品的部分数据显示在购物车上。购物车重要的是购物车结算的问题,商品的金额要怎么计算问题。

购物车的controller包含添加购物车addGwc通过购物车编号删除订单deleteByGwcbh

通过账号编号来删除购物车信息,对用户而言是清空购物车deleteByZhbh修改购物车信息,根据账号编号和商品编号updateGwc修改购物车信息,根据购物车编号updateGwcByGwcbh

查询购物车(可条件查询,可分页查询)listByMap通过账号编号,判断购物车中是否有商品zhbhCheck

通过购物车编号,判断购物车中是否有商品gwcbhCheck通过购物车编号,判断购物车中是否有商品listByObj

1.5后台系统总体逻辑设计

后台系统首先需要登录,选择不同的用户登陆之后,会进入到相应的主界面,登陆失败会跳转回到登陆界面。管理员登陆成功之后,进入管理员主界面,管理员此时可以进行账户管理、运营管理。而用户登录之后,可以进入到用户主界面,用户可以进行个人资料查询、收货地址查询等。系统总体逻辑流程图如图2-5所示

1.4.1数据库需求分析

数据库是整个项目的基础和核心,把整个商场项目的大量数据整合组织起来,提供存储、维护、检索数据的功能,在项目开发的过程中需要数据库能快速的准确的把数据传送给前台所需要的地方。

商场项目的数据需求无非是商场商品的详细信息,整个项目的流程操作,可以直接决定了数据库该存储什么数据,决定了数据库所需要搭建的数据库表,以及每个数据库表之间的联系。

人们总是希望自己设计的数据库系统简单易用,具有安全性、可靠性、易维护性、最小冗余性等特点,并希望数据库对不同用户数据的存取都有校高的响应速度[13]。该设计用的是MySQL数据库,因为是商城设计所以必须设计多个表,应包含存储商城注册用户的信息表,还有存储商品规格名称的商品表等一系列的表。综合上述,我基于实现的需求共建了11张表,csb参数表、ddb订单表、ddmxb订单明细表、grxxb个人信息表、gwcb购物车表、pzb配置表、shdzb收货地址表、spb商品表、xqtpb详情图片表、ysb颜色表、zhb账号表。

每个表都有对应的主键,用于唯一标示数据库中的一个字段。外键通常用于与另一张表进行关联。外键主要实现两个表数据库内的的物理连接。用于保持数据的一致性。其次外键解决了数据冗余的问题以及避免了程序开发者讨厌的脏数据的产生。有的表是要和别的表进行关联的,比如说商品表和参数表。

1.4.2数据库连接配置

本商城用的是MySQL数据库,使用JNDI技术进行实现数据库的各项操作。

JNDI是一种将名字(JNDI名字,即资源名)和对象绑定的技术。在服务器上配置资源(比如数据源),通过JNDI,程序便可以通过资源名,获得对应的资源(对象、服务或目录)。

为什么要用JNDI:

以JDBC操作DB为例,传统的做法是程序中编码进行JDBC操作,这样带来的问题是,任何数据库连接信息的改变(改变驱动、用户名、密码等等),都将导致项目的重构(改源码),即数据库和程序之间紧耦合(关联性很强)。

使用JNDI,使应用更加易于配置、易于部署。数据源信息的改变则不会导致项目重构[14]。数据库连接池:

简单的来说,存放数据库连接的泳池,应用服务需要数据的连接的时候就去泳池里面去拿,数据用完之后归还给泳池。

数据库连接池负责分配、管理和释放数据库连接,如果一个连接的被引用次数没到上限,那么一个数据库连接它是可以被再次引用的,而不是重新建立一个;一个数据库连接和打开对我们看似简单,但是对于计算机的速度来说是一件很耗费时间的操作,访问次数多了频繁的话,很可能会导致系统崩溃[15]。

JNDI优点:

1减少网络开销

2提升数据库性能JNDI工作原理:

第一步先按照需求配置最小连接数,程序启动之后,在连接池它会创建好最小数量的连接,添加在连接池内。

第二步是当有应用访问了,他不会创建新的连接,而是查看自己的连接池内有没有空闲的连接,如果有就直接分配。如果没有空闲的

连接,那就需要判断已经开的连接数是否已经达到上限(设置的最大连接数),如果没达到那就为客户重新创建一个请求。如果达到设置好的最大连接数那就看设置的好的最大的等待时间,进行等待,超过了等待时间就给客户抛出异常。紧接着,如果客户要释放连接资源了,先查看该连接资源被引用多少次了,超出了规定的次数那就直接删掉,反之让它回到等待队列继续等待使用。

第三步那就是应用关闭了,这个关闭不是真正意义上的关闭,而是将它放到空闲队列中。

3.3.3数据库表设计

表3-1账号表

基于微信小程序的校园二手商城平台

基于微信小程序的校园二手商城平台

表3-3个人信息表

  2系统实现

下面主要介绍后台的主要部分的实现。

  2.5后台登录模块

后台管理系统登录界面,可以手机账号+密码登录或者手机账号+手机短信验证码登录。

  致谢

如今已经大四,临近毕业。我正在完成学业最后一步撰写论文。通过三个多月的努力学习和虚心请教,毕业论文写到了最后的部分,经验和理论的不足,导致我的设计开发得不是很顺利,总是有很多问题BUG,一个BUG会拖很久,多亏我的指导老师,杨老师总是能及时的给我建议和帮助,让我很快能修复BUG。让我按时地完成了本次的毕业设计。

从开始的课题选题、外文翻译、开题答辩到最后的论文撰写,每当我有疑问的时候,指导老师总能给我及时的指导。在前期的课题题目制定的时候,他给我了很多指导性的推荐和方向。在毕业设计的过程中,对我所遇到的技术难题,他总是能及时给予回复,让我的毕业设计能够顺利的完成。此次毕业设计相当是我大学四年来把所学的理论进行实践的大作业了,在此期间我是不断地学习不断地请教老师,独立的思考和设计让我这段时间学到了很多知识,让我小小的毕业设计不断的完善。这次的毕业设计和论文的撰写最大的收获就是只要沉下心来去学习和思考,很多难题都可以迎刃而解。这次毕业设计的设计所体现的突破精神希望能在以后的生活中学习中继续体现。此外,还要感谢这大学四年相处的所有朋友和同学,在毕业设计和论文撰写的阶段,他们也给予我建议和帮助,让我论文写得更标准更完美。最后感谢我的爸爸妈妈,是他们在我这大学四年的支持与理解,是他们辛勤的工作让我能在大学里无忧无虑的好好学习。

  参考文献

[1]匡文波.微信小程序:机遇与挑战并存[J].新闻论坛,2017(2):1-1.

[2]安怡.基于微信小程序的校园二手交易市场系统的开发设计[J].计算机产品与流通,2019,000(006):P.208-208.

[3]李仕伟,周坤,刘新蕊,等.MySQL数据库优化技术[J].信息与电脑,2016.

[4]张凌.Linux系统下用Tomcat配置web服务器[J].信息与电脑(理论版),2010(04):99-101.[5]杨晓燕.Java语言实用教程[M].清华大学出版社,2012.

[6]杨树林,胡洁萍.JSONDataExchangeFormatanditsApplicationinDataConfirmation%JSON数据交换格式及其在数据验证中的应用[J].北京印刷学院学报,2008,016(004):56-58.

[7]岳国华.Servlet技术在提高Web应用客户响应速度中的实现[J].计算机应用与软件,2006(01):64-65+68.

[8]崔伟,刘友生,曹光忠.Cookies在网页间数据传递和信息共享中的应用[J].甘肃科技,2005,021(010):51-52.

[9]叶志鹏,何成万,张峥峰.基于AOP的Web应用程序的安全会话管理[J].武汉工程大学学报,2018,040(005):565-568.

[10]何凯,辛怡俐.构建高校二手交易平台的可行性分析[J].中国商界,2009,000(006):160-160.

[11]吴孝丽,何�D.Windows中JDK的安装及Java开发环境的搭建[J].福建电脑,2005(09):130-131.

[12]孙艳峰,郭晓燕.浅谈Windows下的JDK安装与java开发环境的配置[J].科技信息,2009,000(02X):P.188,190.

[13]沈汉标,姚明海.网络数据库响应时间的多维分析[J].陕西科技大学学报,2005(03):90-93.

[14]宋丽华,王海涛.基于JNDI开发目录使能应用程序[J].微型电脑应用,2007,023(002):61-63.

[15]母俐丽,邵兰洁,刘利平.基于JNDI的数据库连接池技术及应用[J].煤炭技术,2012,031(002):185-187

下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:打字小能手,如若转载,请注明出处:https://www.447766.cn/chachong/55809.html,

Like (0)
打字小能手的头像打字小能手游客
Previous 2022年9月17日
Next 2022年9月17日

相关推荐

My title page contents