2024年1月31日发(作者:)
本科毕业设计(论文)
微信小程序商城系统的设计与实现
Design and Implementation of WeChat Applet Mall
System
院 (系)
专 业
班 级
学 号
学生姓名
指导教师
提交日期
计算机科学与技术系
数字传媒技术
数字媒体技术一班
苏键威
李梁奇
2020年 4月14日
内容摘要
随着移动互联网时代的到来,社会上的各行各业,各个领域都有着巨大的变化,电商行业也不例外,在时代背景的影响下正在朝着移动电商化的方向发展。小程序电商是典型的移动电商平台, 其开发基于微信小程序模式的网上销售的实现,采用的是微信小程序MINA框架。PHP+MySql模式。
对于小程序电商而言,是目前一种新型的互联网销售平台,是独立于淘宝等主流电商平台的一个全新电商平台,能够为商家和用户提供一个全新的沟通方式。目前电商时代已经开始进入下半场,所谓的人口红利逐渐消失,商家之间的竞争越来越剧烈,商家相继开始转换玩法,打造企业个人的私域流量,搭建个人微信商城。錾于此,实现小程序商城销售,已经成为未来电商战争中占有优势地位的必不可少的工具了。
那么开发一款专注于企业个人的微信小程序电商平台就非常有必要了。
这个电商平台能够将一个全新的用户关系管理平台提供给所有有需求的企业,帮助企业进行私域流量的打造,使得企业对用户关系的管理效率得到提升,从而使得用户的复购率以及转化率得到提高,这样就能够使得企业所需要花费的营销成本大幅度降低,使得用户的终身价值得到最大限度的体现,最终实现企业经济效益的提升,提高公司的团队价值。
对于本文所设计的商城系统而言,选择通过Sublime Text 3作为系统的开发环境,同时选择通过wampserver3.1.3作为系统的服务器,选择通过MySQL实现系统数据库的设计,并且基于腾讯所开发出来的MINA框架实现系统框架的设计,然后通过PHP语言实现系统软件的设计,最终基于一种多模块思想实现了基于PHP的微信小程序模式结构的商城系统的开发。
关键词:微信小程序商城 wampserver MINA+PHP
Abstract
With the advent of the mobile Internet era, there have been tremendous
changes in all walks of life and various fields in the society, and the e-commerce
industry is no exception. Under the influence of the era background, it is
developing in the direction of mobile e-commerce. Mini-program e-commerce is
a typical mobile e-commerce platform. Its development is based on the WeChat
mini-program model for online sales, using the WeChat mini-program MINA
framework. PHP + MySql small-program e-commerce, it is currently a
new type of Internet sales platform. It is a brand-new e-commerce platform
independent of mainstream e-commerce platforms such as Taobao. It can provide
merchants and users with a new way of communication. At present, the e-commerce era has begun to enter the second half. The so-called demographic
dividend has gradually disappeared. The competition between merchants is
becoming more and more fierce. Merchants have begun to change their gameplay,
create personal private traffic for enterprises, and build personal WeChat malls.
In this regard, the realization of small program mall sales has become an
indispensable tool for the dominant position in the future e-commerce war.
Then it is very necessary to develop a WeChat mini-program e-commerce
platform focused on corporate e-commerce platform can provide
a brand-new user relationship management platform to all companies in need,
help companies create private domain traffic, and improve the efficiency of the
company's management of user relationships, so that the user's repurchase rate
and conversion The rate is improved, which can greatly reduce the marketing
costs that the enterprise needs to spend, so that the lifetime value of the user can
be maximized, and ultimately improve the economic efficiency of the enterprise
and increase the company's team value.
For the shopping mall system designed in this article, I chose Sublime Text
3 as the development environment of the system, and also chose wampserver3.1.3
as the system server, and chose MySQL to implement the design of the system
database, and based on the MINA framework developed by Tencent. Realize the
design of the system framework, then realize the design of the system software
through PHP language, and finally realize the development of the mall system
based on the WeChat applet mode structure of PHP based on a multi-module idea.
Key words: WeChat applet mall wampserver MINA +PHP
目录
第1章 绪论 .................................................. 1
1.1 研究背景 ................................................ 1
1.2 选题的目的和意义 ........................................ 1
1.3 研究现状 ................................................ 2
1.4 课题研究的内容 .......................................... 2
1.5 课题的开发目标 .......................................... 3
1.6 总体设计思想 ............................................ 4
第2章 系统开发环境和相关技术 ................................ 5
2.1 系统开发环境 ............................................ 5
2.1.1Sublime Text 3 .......................................... 5
2.1.2wampserver3.1.3 ......................................... 5
2.1.3MySQL ................................................... 5
2.2系统开发相关技术 ......................................... 6
2.2.1PHP语言简介 ............................................ 6
2.2.2MINA简介 ............................................... 6
第3章 项目需求分析和总体设计 ................................ 7
3.1商城系统可行性分析 ....................................... 7
3.2 系统功能分析 ............................................ 8
3.3系统用户模块分析 ......................................... 9
第4章 数据库设计 ........................................... 10
第5章 系统设计及实现 ....................................... 19
5.1 首页模块 ............................................... 19
5.2商品详情模块 ............................................ 20
5.3商品分类模块 ............................................ 24
5.4 购物车模块 ............................................. 27
第6章 项目测试 ............................................. 31
6.1 测试过程 ............................................... 31
6.2 测试环境描述 ........................................... 31
6.3 测试用例执行情况 ....................................... 32
6.4 测试评估及改进 ......................................... 35
第7章 总结 ................................................. 37
参 考 文 献 ................................................. 38
致 谢 ................................................... 39
广东东软学院本科毕业设计(论文)
第1章 绪论
1.1 研究背景
近些年来通信技术的发展使得网络速度越来越快,尤其是5G技术已经开始进行应用。网络购物已经占据了消费市场的绝大部分份额。在刚刚过去的双十一里更是创下了2684亿人民币的交易额度,而这只是淘宝的消费额度。由此可见的是,相比起以往传统的购物方式,现代人们更加依赖于网络环境带来的便捷,享受足不出户就可以浏览各种商品的便捷。由此出发,开发一款能让传统购物业连接上网络的系统势在必行。随着网上购物越来越火热,电商平台也越来越重要,其中小程序电商就是其中的一项。
电商企业因为行业方面的特点,平台的运作过于复杂,操作内容繁多,并且,电商企业之间的竞争也变得越来越激烈。越来越多的问题开始不断出现,例如要如何获取平台流量,由于如今互联网人口红利的消失,导致各大电商平台流量获取成本大幅度的提高。于是在2019年突然兴起了一个火热的词,就是所谓的“私域流量”,如果是基于属性的角度上来看,那么对于私域流量而言,主要包括4个特征,首先就是用户并不是公开的,其次就是能够实现反复的使用,然后使用无需费用,最后就是能够直接触达用户;但是,在大多数语境下私域流量指的是微信的个人号、社群、公众号和小程序。由此可见,作为一个电商企业,如果想要在竞争如此剧烈的市场上脱颖而出,就必须未雨绸缪,进军私域流量,进军微信小程序电商。
1.2 选题的目的和意义
制作一个商城系统的小程序目的在于,能够方便用户快速便捷的浏览整个商场的概况,能够在家里就能选购好商品并且能够选择网络购物还是去实体店购买。同时这款小程序还能方便用户快速找到自己选购的商品在商场的具体位置,避免为了寻路浪费时间。小程序还能方便商场作为推广,假如有活动也能在小程序直接发布信息。小程序给传统购物商城带来的利益甚至还不单只有商品购物带来的利润,商城也可以利用小程序具有的可以快速传播这一特性,建立起自己商城的一个生态圈,还可以利用小程序的强交互性这一个传统纸媒或者视频没有的特性作为广告宣传自己的商城。在现在这个快节奏的生活下,每人都会在每天接收成百上千的短视频,只有极少的一部分能给观众留下印象达1
广东东软学院本科毕业设计(论文)
到宣传的效果,而在微信小程序中制作一个可以交互的海报或者甚至是小游戏用于宣传自己的商城能给观众带来更加深刻的印象。
随着电商行业的不断发展,近几年来电商行业之间的竞争越来越激烈,商家的利润已经大不如前,很多领域的电商都已经开始打起了价格战,因此需要另辟蹊径。随着微信生态的不断完善,近几年来诞生了小程序这一功能,对于该功能而言,目前已经有了很多用户,并且所涉及的领域越来越多。目前已经成为了一种新型的移动应用,使用微信小程序对线上销售平台进行管理,具有线下操作所无法比拟的优点,相比之其他PC端商城平台以及APP端商城平台更具有很大的优势。例如:用户无需下载、用完即走、成本更低、更为快捷、存储量更多、效率更高等等,上述这些优势使得效率得到很大的提升。因此,开发这样一个微信小程序商城平台就成为很有必要的事情。
1.3 研究现状
互联网在完成普及之后,很多电商平台借势而出,最有代表性的就是阿里巴巴的淘宝平台,由于商家省去了很多成本,所以网上购物的价格相对于实体店而言要低一些,因此网上购物的消费者越来越多,这也在一定程度上使得实体店的经营受到了冲击。在上面提到有关于电商的各种优点的攻击下,传统的购物商城如果不做出变革那必将失去现存的市场份额。所以建立一个网络购物的系统是必须要的选择,而现在几乎所有的人都会使用微信作为日常交流的工具。微信拥有的庞大的装机量将给这个软件带来巨大的用户基础,而以微信小程序这种方式的话更是快捷,小程序具有的体积小,他无需下载,用完即走,具有信息发布、广告发布和服务功能。传统的商城购物可以借助这个机会利用小程序加入到互联网中,更重要的是加入到移动互联网当中。现在移动通信设备越来越发达,网购也不像以前一样需要电脑终端,一部手机既可以完成商品选购、下单支付、收货全过程。而开发小程序的成本则远低于开发一个完整的app,这也使得失败的风险大大降低。
1.4 课题研究的内容
在本文的内容当中,所设计的是一种以微信小程序作为底层技术的商城系统,系统开发工具所选择的是微信web开发者工具,系统的框架所使用的是MINA框架。系统的开发主要包括前端微信小程序的开发以及后台数据管理系统的建立和维护两个方面。对于前端微信小程序的开发要求具备功能要完备、使用操作简单等特点,同时还需要建立一个后台数据管理系统,对于这个系统而言,需要满足三个要求,第一个就是确保数据完整,第二个就是确保数据安2
广东东软学院本科毕业设计(论文)
全,第三个就是确保数据稳定。所以,为了保证微信小程序前端使用稳定,在本文的设计当中,对于这个后台数据管理系统而言,选择通过PHP来进行开发,通过PHP来针对前段接口进行编写,在微信小程序端口中访问后台暴露出来的接口,然后获取后台返回的json数据,最后在小程序页面把所有数据渲染出来。
1.5 课题的开发目标
开发目标有以下几点:
(1)综合管理:综合管理即是对小程序客户端的一些配置,例如:小程序的名称,负责人,LOGO图片,小程序的简介,小程序的客服微信号,客服电话,联系邮箱,小程序的版权信息。
(2)产品管理:产品模块分别是添加产品和产品管理两个部分,添加产品部分就是上传商品到小程序后台数据库中,填写相应的产品信息和上传相应的产品图片,例如:商品价格、商品分类、商品品牌、商品缩略图等。产品管理即是对商城系统中已存在的商品进行管理,例如:下架商品、修改商品信息、推荐商品。
(3)品牌管理:对于品牌模块而言,一共会被划分成两个部分,其中对于添加品牌而言,主要的功能就是实现品牌的添加,品牌管理即是对商城系统中已存在的品牌进行管理,例如:删除品牌、修改品牌信息、推荐品牌。
(4) 会员管理:会员管理模块需要从数据库中获取所有小程序商城客户端注册登录的用户信息,包括用户的头像、用户的昵称、用户的注册时间、以及用户账号的状态是否正常,可以对某个用户的账号进行禁用操作。
(5)管理员管理:对于本文中所设计的管理员模块而言,也是能够划分成两个部门,其中对于添加管理员这个部分而言,进行管理员用户的添加就可以了,
添加完成后就能使用该账号密码登陆后台管理系统,其次,管理员账户管理即是查询出系统中已存在的所有管理员账号信息,可以对某个账户进行删除、修改操作。
(6)订单管理:对系统中经常已经存在的一些订单数据进行维护,从小程序客户端下单开始,到后台管理系统获取订单信息,在后台,管理员查看整个系统的所有订单,并且可以针对订单进行一些管理操作,如:删除订单,筛选订单等。
(7) 分类管理:系统中的分类管理模块主要是对小程序客户端中需要用到的商品类别进行统一管理维护,商品类别主要是分多级类别,比如父级和子3
广东东软学院本科毕业设计(论文)
级,也就是大类目和小类目,在这个模块中,管理员可以任意添加一个或多个商品类别,添加完成之后在产品管理那里就能使用这个商品类别了,不仅于此,在分类管理那里还需要对已存在的所有类别进行维护,管理员可以对此执行一些管理操作,如:删除分类、修改分类、推荐分类等。
(8) 优惠券管理:小程序客户端不仅仅能提供给用户进行普通的下单购买,还需要引进一些营销手段功能,例如:搞一个优惠券营销,在这里就能实现这样的一个营销功能,管理员可以在此处添加一些店内通用的满减优惠券,如:满100减20这样的优惠券,当然,添加了之后还需要对这些优惠券进行管理,过期的优惠券可以删除或者更改优惠信息。
(9)广告管理:在小程序商城的页面上经常看到一些跳转轮播的图片,类似于一些产品推广的海报图片,其实这种在商城中叫做广告轮播图,然而广告管理这个模块就是对商城中所有的广告位统一管理维护起来,这样可以很轻松的对某个广告位更改广告图或者直接删掉某个广告位。
1.6 总体设计思想
(1)开发工具。使用微信web开发者工具进行开发,前端使用HTML+CSS技术,逻辑层使用JavaScript编写,后台使用PHP开发的管理系统。
(2)操作简便、界面良好。采用简洁直观明了的UI界面设计,商城系统小程序端的界面简单友好,方便用户进行商铺搜索与购买。
(3)功能的完善性。系统实现了管理员,商铺和用户三个用户角色的功能,实现了管理员维护、商铺发布商品与用户方便使用。
(4)选择通过B/S体系架构开发系统,这样系统功能的实现无需其他软件的安装,同时这种系统的后续管理也会更简单一些。
(5)本文系统的设计思想所利用的是模块化思想,将商城系统和小程序客户端拆分成了几个细小模块,降低了开发的难度,使操作简单化。
4
广东东软学院本科毕业设计(论文)
第2章 系统开发环境和相关技术
在这个章节的内容当中,主要针对系统环境进行了介绍,同时阐述了系统开发工作中所需要使用的各项技术。
2.1 系统开发环境
2.1.1Sublime Text 3
对于Sublime Text 3而言,属于是一种专门为PHP所研发的集成开发环境,这个工具具有非常多的功能,同时还能够支持很多开发语言,并且还能够在管理系统里面对一些技术功能进行快速的添加;对于该开发环境而言,在编写程序的时候,对视图层更为重视,能够利用web浏览器对效果进行第一时间的查看,这种方式使得后续的代码调整工作更为便捷。同时为了便于开发人员的使用,对于该开发环境而言,能够实现在服务器上面的功能测试;近些年来该工具已经得到了广泛的运用,很多系统的开发都是在该环境下完成的。
2.1.2wampserver3.1.3
对于wampserver3.1.3而言,在本质属于是一种软件的整合包,其中包括了PHP解释器、Apache Web服务器还有MySQL数据库,而且对于该软件而言,是公开使用的,无需进行购买。同时通过该整合包,能够使得很多开发工作得以省略,提高了系统的开发效率。
对于WampServer而言,属于是一种集成安装环境,能够实现php、apache以及mysql三者的功能。很多功能的使用仅仅通过简单的操作就能够完成,很多配置文件也无需修改,会自动完成。
2.1.3MySQL
当前最主流的数据库系统就是MySQL系统了,大部分企业在构建企业管理系统的时候,都会选择MySQL来对数据记性管理,同时完全支持PHP以及JAVA等主流开发语言,基本操作通过这些语言都能够实现;同时对于该数据库系统而言,也有自己的语言标准,对于开发人员而言,能够利用命令来对数据库进行查看,同时还能够利用可视化工具对数据表进行查看。之所以该数据库系统受欢迎,一个主要的原因就是该系统为开源系统,并且完全免费,在官方网站上面就能够对资源进行下载,同时该数据库系统还能够对一些算法进行支持,因此数据的处理效率是非常高的。
5
广东东软学院本科毕业设计(论文)
2.2系统开发相关技术
2.2.1PHP语言简介
对于PHP而言,其属于通用开源脚本语言,一般在服务器开发工作当中都会使用该语言,同时该语言的语法借鉴了很多传统编程语言,比如C语言以及JAVA语言等等。同时PHP语言学习起来比较容易,在Web开发领域中得到了广泛的运用,同时该语言也是开源免费的;在使用的过程中,该语言并不复杂,
可操作性强,目前已经是世界主流的开发语言之一,深受广大程序开发者喜爱。
2.2.2MINA简介
对于MINA框架而言,是由腾讯公司所开发并提供的,在框架的架构上和淘宝的Weex,Vue非常的类似。腾讯公司为了提高MINA框架的易用性,针对其进行了很多底层优化,因此运行速度非常的快速,同时不论是在IOS端进行使用,还是在安卓端进行使用,都非常的适用。因此能够看得出来,通过MINA框架的使用,能够使得开发工作得到很大程度的简化,工作效率大幅度提升。
6
广东东软学院本科毕业设计(论文)
第3章 项目需求分析和总体设计
需求分析是小程序商城系统开发的第一步,也是项目当中重中之重的内容;需求分析包括规格说明,管理、需求获取、验证以及需求变更等一系列需求工程。
在需求分析中我们要明确该商城系统的适用范围,适用企业类型等;其次我们要明确该商城系统未来的需求变化,为往后的设计以及建立不同数据库定好基础。我们要真实的了解到用户的真实需求才能更有针对性的去开发,通俗易懂地说就是客户要求我们做什么,怎么做,我们就接收到信息后按照客户的要求来设计,避免了因为与客户沟通上有误差从而做出项目后需要大量的修改,既消耗了人力物力,更给客户以及企业带来负面的形象。
3.1商城系统可行性分析
(1)技术可行性
对于本文所设计的商城系统而言,设计工作主要分为两个部分,第一个部分就是通过MINA框架技术所实现的系统框架,第二个部分就是Web后台管理系统,整个系统是通过PHP语言来实现的,并且使用了非常成熟的一种开发流程。对于商城的管理系统而言,所选择的结构模式是一种三层体系结构,也就是Browser Web DataBase,其中对于Web服务端而言,会针对客户端所发出的请求进行接收,然后再利用服务器对PHP的接口进行执行操作,同时实现结果的输出,通过上述这个方式完成客户端和小程序两者间的信息交互。在设计系统数据库的时候,所选择的是MySQL数据库技术,对于系统的管理员而言,能够针对后台管理系统进行实时的管理,只需进行浏览器的登录就可以实现数据操作。即便就当前的水平而言,想要完成上述系统并不是一件简单的事,可是在开始设计开发之前,已经针对大量文献进行了阅读,同时对大量系统开发知识进行了学习,主要技术的掌握非常良好。
(2)经济可行性
本小程序商城系统采用的是基于微信平台的商城系统开发,该平台设计只是作为本人的毕业设计,是一个以个人实践为目的非商业性项目,同时由于自身的设计能力存在着限制,所以功能上还没有办法特别完善,但是由于本文所使用的大部分技术都是开源免费的,因此能够对很多开发成本进行节约,所以经济方面基本不会存在问题。同时本文所需要设计的并不是一个非常复杂的系统,具有较短的开发周期,所以系统的开发成本不会太高,而系统能够产生的经济效益比成本会高出很多,因此本文系统的经济可行性是能够达到的。
7
广东东软学院本科毕业设计(论文)
(3)法律可行性
毕业设计的目的就是针对自身所学进行利用,对自己的实践能力进行锻炼,所以能够看得出来,整个项目的开发工作都是独立完成,并且所依靠的都是自己的想法,当然不可避免会对一些文献进行引用,但是在本章中已经进行了标注,
同时整个系统都是自主开发进行设计的,所以侵权问题不会出现,所以侵权法律责任并不存在,所以本文所设计的系统在法律层面上是完全可行的。
3.2 系统功能分析
对于本文所设计的商城系统而言,其后台管理系统能够实现5个主要功能,
分别是产品管理功能、品牌管理功能、会员管理功能、管理员管理功能、订单管理功能。
(1)产品管理功能:首先进到系统的后台管理系统当中,针对产品管理菜单通过鼠标进行点击,这样就能够对产品管理功能或者是添加产品功能进行选择,
添加产品时只需要填写商品的详细信息和商品图片即可提交,进入产品管理首先查询出所有商品信息,然后提供一个修改产品信息操作和删除产品操作。
(2)品牌管理功能:进入商城的后台管理系统,点击品牌管理菜单你,可以选择添加品牌或者直接进入品牌管理,添加品牌时只需要填写品牌的详细信息和品牌的logo即可提交,进入品牌管理首先查询出系统已存在的所有品牌信息,然后在系统中进行修改品牌信息或者直接删除某一个品牌。
(3)会员管理功能:系统的会员管理,顾名思义就是对本系统的小程序客户端注册的微信用户进行管理,这个功能实现起来比较简单,直接获取在小程序客户端注册的所有用户详细信息即可。
(4)管理员管理功能:管理员管理,指的是能够登陆进来小程序商城的后台管理系统的用户,普通用户是不能登陆进来的,普通用户只能通过小程序客户端购买商品,只有商城的管理员才能登陆商城的后台管理系统,在管理员管理这个模块中,可以添加管理员账户,还可以修改管理员登陆的账户信息,以及对某个管理员账户执行删除操作。
(5)订单管理功能:订单管理功能是本系统中最为重要的功能,因为本系统只要商城而开发的一个系统。它主要包括购物车下单,订单管理,订单管理主要是管理商城用户从小程序客户端对商品加入购物车下的订单数据,在订8
广东东软学院本科毕业设计(论文)
单列表页面中,查询出所有的订单信息,后台管理员会根据订单情况安排发货。
3.3系统用户模块分析
(1)管理员
1)管理所有的用户,可以登录商城的后台系统;
2)可以对小程序的配置信息进行修改;
3)对商城的商品进行管理,查看商城的订单信息;
4)设置商品的分类,发布优惠券,管理广告位的轮播图。
(2)普通会员
1)登陆商城的小程序客户端;
2)浏览商品,对商品加入购物车,结算订单;
3)查看商品的物流信息;
4)领取优惠券;
5)咨询售前售后客服。
9
广东东软学院本科毕业设计(论文)
第4章 数据库设计
对于一个系统而言,数据库的作用至关重要,如果在系统开发过程中,没有优化数据库的设计,那么后续系统完成开发之后,数据的管理工作效率必然会低下。目前是信息化时代,数据已经实现了暴涨,任何系统每天都需要处理海量的数据,因此在开发系统时,一定要合理设计数据库。
在系统开发阶段,设计数据库的时候,需要满足以下几个要求:
(1)数据库的设计需要可以符合网站的各项使用需求。
(2)数据库在后续使用中要可以确保数据具有一致性以及准确性。
(3)数据库能够实现系统的高效数据处理。
(4)后续便于系统更改,扩展性要好。
对于系统的数据库而言,一定要易于进行维护,不论是小型复杂系统,还是一些小型简单系统,数据库都是必不可少的,因此数据库一定要具备较高的可维护性,这样才能够确保数据的高效处理。在本文的系统中,数据库具有很多的功能,比如库存商品的清点、当前商品的管理、搜索功能的提供以及商品信息的存储等。在上一章节的内容中已经详细分析了系统的各项功能,这里针对数据表进行了总结,如下所示:
数据库名:wxshop
(1)管理员信息表(lr_adminuser):对于该表而言,主要的作用就是针对商城系统管理员的各项信息进行存放,其中包括有用户ID、用户性别、用户手机号码、用户类别、用户最后登录时间、备注等等。
(2)会员信息表(lr_user):对于该表而言,主要的作用就是针对商城系统普通用户的各项信息进行存放,也就是会员信息的数据表,主要存放的小程序客户端注册的微信用户信息数据,其中包含会员id、登陆 账号、昵称、登陆密码、创建日期、积分、头像、手机、qq、邮箱、性别、openid、第三方账号。
(3)产品信息表(lr_product):该表是用于存放该商城系统中的商品信息的数据表,其中包括商品id、商铺id、品牌id、商品名称、广告语、产品编号、价格、优惠价格、赠送积分、小图、大图、图片组、商品详情、添加时间、更新时间、排序、人气、购买数、数量、是否推荐、删除状态、删除时间、产品属性、分类id、单位、是否新品、下架状态、是否热卖、是否折扣、抢购开始时间、抢购结束时间、产品类型。
10
广东东软学院本科毕业设计(论文)
(4)品牌信息表(lr_brand):该表是用于存放该商城系统中的商品品牌信息的数据表,其中包括商品id、商品名称、商品缩略图、是否推荐、添加时间、店铺id。
(5)订单信息表(lr_order):该表是用于存放该商城系统存放的订单数据的,其中包括订单id、订单编号、支付单号、店铺id、用户id、价格、优惠后的价格、添加时间、删除状态、支付方式、真实支付金额、订单状态、优惠券id、收货人、联系方式、地址详情、邮编、快递id、留言、邮费信息、商品数量、微信交易单号、快递名称、运单号、是否退款、退款原因、申请退款时间、订单类型。
(6)分类信息表(lr_category):该表是用于存放该商城系统所用到的商品分类字典,其中包括类别id、父类id、栏目名称、排序、添加时间、栏目简介、缩略图、备注字段、图标、备用字段、推荐缩略图。
(7)优惠券信息表(lr_voucher):该表是用于存放该商城系统所发出的优惠券信息的数据表,其中包括优惠券id、店铺id、优惠券名称、满多少钱、减多少钱、开始时间、结束时间、所需积分、发行数量、领取数量、添加时间、优惠券类型、删除状态、产品id。
(8)广告信息表(lr_guanggao):该表是用于存放该商城系统子页广告的管理信息表,其中包括广告id、广告名称、广告图片、添加时间、排序、广告类型、链接值、广告位置。
具体数据表如下:
表4.1 管理员信息表
字段
id
name
uname
pwd
qx
addtime
del
类型
int
varchar
varchar
varchar
tinyint
int
tinyint
4.2 会员信息表
11
可为空
否
否
否
否
否
是
是
描述
编号
登陆账号
昵称
登陆密码
权限
添加时间
状态
广东东软学院本科毕业设计(论文)
字段
id
name
uname
pwd
addtime
jifen
photo
tel
qq_id
sex
del
openid
source
类型
varchar
varchar
varchar
varchar
Varchar
Varchar
Varchar
char
varchar
varchar
tinyint
tinyint
varchar
varchar
可为空
否
否
否
否
是
是
是
是
否
否
是
是
是
否
描述
编号
登陆账号
昵称
登陆密码
添加时间
积分
头像
手机
邮箱
性别
状态
授权ID
第三方平台
4.3 产品信息表
字段
id
shop_id
brand_id
name
类型
varchar
varchar
varchar
varchar
可为空
否
否
否
否
描述
编号
店铺编号
品牌编号
名称
12
广东东软学院本科毕业设计(论文)
intro
pro_number
price
price_yh
price_jf
address
photo_x
photo_d
photo_string
content
addtime
updatetime
sort
renqi
shiyong
num
type
del
del_time
pro_buff
cid
varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
Varchar
int
int
tinyint
tinyint
int
varchar
int
否
否
是
是
是
是
是
是
是
是
是
是
是
是
否
是
是
是
是
是
是
广告语
产品编号
价格
优惠价格
赠送积分
联系地址
小图
大图
图片组
商品详情
添加时间
更新时间
排序
人气
购买数
数量
是否推荐
删除状态
删除时间
产品属性
分类id
13
广东东软学院本科毕业设计(论文)
company
is_show
is_down
is_hot
is_sale
start_time
end_time
pro_type
char
tinyint
tinyint
tinyint
tinyint
int
int
tinyint
是
是
是
是
否
是
是
是
单位
是否新品
下架状态
是否热卖
是否折扣
抢购开始时间
抢购结束时间
产品类型
4.4 品牌信息表
字段
id
name
photo
type
addtime
shop_id
类型
int
varchar
varchar
tinyint
int
int
可为空
否
否
否
是
是
是
描述
编号
名称
图片
是否推荐
添加时间
店铺id
4.5 订单信息表
字段
id
order_sn
类型
varchar
varchar
可为空
否
是
描述
订单id
订单编号
14
广东东软学院本科毕业设计(论文)
pay_sn
shop_id
uid
price
amount
addtime
del
type
price_h
status
vid
receiver
tel
address_xq
code
post
remark
post_remark
product_num
trade_no
kuaidi_name
varchar
varchar
varchar
Varchar
Varchar
Varchar
tinyint
enum
decimal
tinyint
int
varchar
char
varchar
int
int
varchar
varchar
int
varchar
varchar
是
是
是
是
是
是
是
是
是
是
是
否
是
否
是
是
否
否
是
是
是
支付单号
商家ID
用户ID
价格
优惠后价格
购买时间
删除状态
支付方式
真实支付金额
订单状态
优惠券ID
收货人
联系方式
地址详情
邮编
快递id
买家留言
邮费信息
商品数量
微信交易单号
快递名称
15
广东东软学院本科毕业设计(论文)
kuaidi_num
back
back_remark
back_addtime
order_type
varchar
enum
varchar
int
tinyint
是
否
否
否
是
运单号
是否有退款
退款原因
申请退款时间
订单类型
4.6 分类信息表
字段
id
tid
name
sort
addtime
concent
bz_1
bz_2
bz_3
bz_4
bz_5
类型
int
int
varchar
int
int
varchar
Varchar
varchar
varchar
varchar
varchar
可为空
否
否
否
否
否
否
是
否
否
是
否
描述
编号
父级编号
分类名称
排序
添加时间
分类描述
缩略图
备注字段
图标
备用字段
推荐缩略图
4.7 优惠券信息表
字段 类型 可为空 描述
16
广东东软学院本科毕业设计(论文)
id
shop_id
title
full_money
amount
start_time
end_time
point
count
receive_num
addtime
type
del
proid
int
int
varchar
decimal
decimal
int
int
int
int
int
int
tinyint
tinyint
text
否
否
否
否
否
是
是
是
是
是
是
是
是
是
编号
店铺编号
优惠券名称
满多少钱
减多少钱
开始时间
结束时间
所需积分
发行数量
领取数量
添加时间
优惠券类型
删除状态
产品编号
4.8 广告信息表
字段
id
name
photo
addtime
sort
type
类型
int
varchar
varchar
int
int
enum
可为空
否
否
否
否
否
是
描述
编号
广告名称
图片
添加时间
排序
广告类型
17
广东东软学院本科毕业设计(论文)
action
position
varchar
tinyint
是
否
链接值
广告位置
18
广东东软学院本科毕业设计(论文)
第5章 系统设计及实现
5.1 首页模块
此模块是用户在进入小程序后见到的第一个画面。里面包括有广告商投放到小程序的广告和一些推荐的产品。整体界面如图5-1所示。
图 5-1小程序首页整体布局
首先要说明此模块的广告滑动功能。本功能主要是运用了小程序中的动画功能来实现相关图片的轮流替换。具体代码如下展示。
data: {
imgUrls: [],
indicatorDots: true,
autoplay: true,
interval: 5000,
duration: 1000,
circular: true,
productData: [],
proCat:[],
page: 2,
index: 2,
brand:[],
// 滑动
19
广东东软学院本科毕业设计(论文)
imgUrl: [],
kbs:[],
lastcat:[],
course:[]
},
以上存储了该页面需要用到的属性,在下面代码中可以调用。
var that = this;
t({
url: rl + '/Api/Index/index',
method:'post',
data: {},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
var ggtop = ;
var prolist = t;
("图片地址为---------------------");
(ggtop);
//oductData(data);
a({
imgUrls:ggtop,
productData:prolist,
});
//endInitData
},
fail:function(e){
ast({
title: '网络异常!',
duration: 2000
});
},
以上的代码中,首先向后台端请求数据,这里代码请求的数据不只有图片一种,由于是第一个界面,还需要把推荐商品的数据也请求到,存储到Data里面,以用于商品的展示用。
5.2商品详情模块
当用户对某个商品感兴趣需要点击查看其详情时就需要用到。它会用于展示商品的详细属性,向用户介绍商品的外观与特性。是商城类小程序与用户交互最多的界面。整体布局效果如下图5-2所示。
20
广东东软学院本科毕业设计(论文)
5-2商品详情页面整体布局
具体代码如下,同样,也是通过请求后台端的api,将对应的属性请求到本地并存储于data当中,并且将数据展示出来。
loadProductDetail:function(){
var that = this;
t({
url: rl + '/Api/Product/index',
method:'post',
data: {
pro_id: tId,
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
//--init data
var status = ;
if(status==1) {
var pro = ;
var content=t;
//oductData(data);
e('content', 'html', content, that, 3);
a({
21
广东东软学院本科毕业设计(论文)
itemData:pro,
bannerItem:_arr,
commodityAttr:ityAttr,
attrValueList:lueList,
});
} else {
ast({
title:,
duration:2000,
});
}
},
error:function(e){
ast({
title:'网络异常!',
duration:2000,
});
},
});
},
当用户往下滑动时,可以看到图文详情,这里详细的介绍了商品的信息,如图5-3所示。
5-3商品图文详情
该模块的功能时展示商品详情用的,参照淘宝程序中,详情页大多数是由图片构成,所以,这里的图文详情也采取这样的策略。具体代码如下。
22
广东东软学院本科毕业设计(论文)
除此以外,产品参数也是采用了同样的原理,就不再重复展示。
最后点击加入购物车功能是用户购买的关键,在商品详情页的左下角有对应的按钮,在下面这张图5-4里面给出了加入购物车按钮所对应的样式图。
5.4加入购物车按钮
在通过鼠标对购物车按钮进行点击的时候,小程序端同样会向后台端发送请求数据,不过请求的页面具体执行的SQL语句是将本小程序端用户ID加上对应的商品ID,具体购买多少与买的ID是哪个则取决于用户点击。当语句执行完毕之后,用户在后面的购物车功能里就可以看到自己加入的商品。
addShopCart:function(e){
var that = this;
t({
url: rl + '/Api/Shopping/add',
method:'post',
data: {
uid: ,
pid: tId,
num: ,
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
// //--init data
var data = ;
if( == 1){
var ptype = ;
if(ptype == 'buynow'){
ctTo({
url: '../order/pay?cartId='+_id
});
return;
}else{
ast({
23
广东东软学院本科毕业设计(论文)
title: '加入购物车成功',
icon: 'success',
duration: 2000
});
}
}else{
ast({
title: ,
duration: 2000
});
}
},
fail: function() {
// fail
ast({
title: '网络异常!',
duration: 2000
});
}
});
},
最后,由于本小程序只是用于毕业设计用,故最后付款即立即购买功能与客服功能无法实现,只做了一个样式,没有绑定到对应的函数。
5.3商品分类模块
该模块是用来实现把商品按照类别分类好的功能,一共由一级分类与二级分类组成。具体样式如图5-5商品分类整体样式所示。
24
广东东软学院本科毕业设计(论文)
5-5商品分类整体样式
我将一级分类按照类别分别加上一个用于区分他们的属性currType,例如我把手机即第一个类别是2,这样程序就能准确的知道用户点击的一级分类的具体分类是哪一个,以便后台调取相应的数据。具体代码如下。
tapType: function (e){
var that = this;
const currType = ;
a({
currType: currType
});
(currType);
t({
url: rl + '/Api/Category/getcat',
method:'post',
data: {cat_id:currType},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
var status = ;
if(status==1) {
var catList = t;
a({
25
广东东软学院本科毕业设计(论文)
typeTree:catList,
});
} else {
ast({
title:,
duration:2000,
});
}
},
error:function(e){
ast({
title:'网络异常!',
duration:2000,
});
}
});
},
而二级分类的实现则是通过上面获得的typeId在后台中找到对应的数据表,将数据表中的商品分类展示出来的。具体代码如下。
getTypeTree (currType) {
const me = this, _data = ;
if(!_ee[currType]){
request({
url: ypeTree,
data: {typeId: +currType},
success: function (res) {
_ee[currType] = ;
a({
typeTree: _ee
});
}
});
}
}
最后,当用户点击二级分类中的某个特定类别后,页面将会跳转到对应类别的页面中。具体代码如下所示。
url="../listdetail/listdetail?cat_id={{}}&title={{}}" wx:key="typeId" class="item"> 26 广东东软学院本科毕业设计(论文)
效果如图5-6所示。
5-6分类具体样式
5.4 购物车模块
该模块则是用户在最后确认购物前需要用到的模块。这里会记录用户点击加入购物车之后的商品,并展示给用户看,用户可以采取加购、减购、删除商品的操作。具体样式如图5-7所示。
27
广东东软学院本科毕业设计(论文)
5-7购物车整体样式
而加减商品数量的代码类似,这里就只展示减少商品的代码。因为存在这0个商品这样的逻辑性错误,还需要额外加入一个条件,就是要当当前商品数量是大于1的时候才允许减少商品数量。具体代码如下。
bindMinus: function(e) {
var that = this;
var index = parseInt();
var num = [index].num;
// 如果只有1件了,就不允许再减了
if (num > 1) {
num --;
}
(num);
var cart_id = ;
t({
url: rl + '/Api/Shopping/up_cart',
method:'post',
data: {
user_id: ,
num:num,
cart_id:cart_id
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
28
广东东软学院本科毕业设计(论文)
success: function (res) {
var status = ;
if(status==1){
// 只有大于一件的时候,才能normal状态,否则disable状态
var minusStatus = num <= 1 ? 'disabled' : 'normal';
// 购物车数据
var carts = ;
carts[index].num = num;
// 按钮可用状态
var minusStatuses = tatuses;
minusStatuses[index] = minusStatus;
// 将数值与状态写回
a({
minusStatuses: minusStatuses
});
();
}else{
ast({
title: '操作失败!',
duration: 2000
});
}
},
fail: function() {
// fail
ast({
title: '网络异常!',
duration: 2000
});
}
});
},
删除商品的代码如下,具体实现方式是通过点击对应的商品,在获取到ID以后,在后台端删除购物车中对应的商品。
removeShopCard:function(e){
var that = this;
var cardId = ;
dal({
title: '提示',
content: '你确认移除吗',
success: function(res) {
m && t({
29
广东东软学院本科毕业设计(论文)
url: rl + '/Api/Shopping/delete',
method:'post',
data: {
cart_id: cardId,
},
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: function (res) {
var data = ;
if( == 1){
oductData();
}else{
ast({
title: '操作失败!',
duration: 2000
});
}
},
});
},
fail: function() {
ast({
title: '网络异常!',
duration: 2000
});
}
});
},
以上就是本小程序重要功能的具体实现方法以及代码和截图的展示,在完成对应功能的开发后需要对样式文件即WXML以及WXSS文件进行编写与调整,这些调整都比较偏向于主观判断以及个人审美,就不再在此处进行过多的展示。
30
广东东软学院本科毕业设计(论文)
第6章 项目测试
在完成系统的设计工作之后,那么就需要针对系统进行测试,只有测试合格之后才算系统正式完成。对于测试工作而言,主要的目的就是针对系统的BUG进行寻找,然后对BUG进行处理,逐步完善系统的功能以及结构,这样项目在交付的时候才不会出现问题。对于系统的测试工作而言,主要包括两项测试工作,第一项工作就是功能测试工作,第二项工作就是自动化测试工作,对于前者而言,一般都会选择黑盒测试法,主要测试的就是系统的每一个功能能够实现正常的运行。
6.1 测试过程
(1)首先需要做的就是详细的分析本文系统,通过一种分模块思想,针对具体的测试策略进行明确,同时针对测试工作的内容进行制定。本商城系统是基于微信平台开发的微信小程序商城以及商城后台管理的多功能商城系统,针对本文系统实施黑盒测试,针对每一个功能进行检查,看功能是否能够实现正常的运行。
(2)开始进行黑盒测试,首先需要做的就是对系统开发环境还有运行环境进行搭建,接下来通过需求分析来作为一个基本测试点进行测试用例的编写。
(3)通过测试用例当中的文档对所存在的缺陷进行记录,同时通过一种报告的形式提交找到的系统缺陷。
(4)针对所存在的缺陷进行查看,将源头找到,同时罗列出处理这些BUG的方案。
(5)针对测试用例进行二次检测,没有任何问题之后就代表这一次的项目测试工作完成了。
6.2 测试环境描述
在对本文系统进行测试的时候,所采用的配置情况:
数据库:MySQL5.7
计算机系统:Window7
计算机CPU详情:Intel(R)Core(TM)i5-4210UCPU@1.70GHz
计算机内存:8G
31
广东东软学院本科毕业设计(论文)
6.3 测试用例执行情况
表6-1测试用例项目表
需 求 功能 名
称
产品详情
测试用例名
称
产品详情测试
执行说明
测试在后台的产品详情在客户端是否正常显示
测试在点击不同的一、二级分类时能否正确显示
执行情况
良好
是否通过
是
分类管理 分类测试 良好 是
类别显示 具体类别测试 测试在点击不同的良好
二级分类时能否正确跳转到对应页面
测试在购物车中加减商品数量时是否能正确按照条件加减
良好
是
购物车商品增减 购买数量测试 是
用户数据获取 用户数据获取测试 测试在小程序打开登陆后能否在“我的”的页面正确显示用户资料
良好 是
部分测试结果如图6-1所示
6-1 产品详情测试
如图6-1所示,在不同的商品中,能正确显示对应的商品详情。
32
广东东软学院本科毕业设计(论文)
6-2分类测试
如图6-2所示,在点击不同一级分类后,能正确显示对应的二级分类详情。
33
广东东软学院本科毕业设计(论文)
6-3具体类别测试
如图6-3所示,在点击具体类别后,系统能够按照点击的类别跳转到对应的页面显示有的商品。
6-4 购买数量减少测试
34
广东东软学院本科毕业设计(论文)
6-5 购买数量增加测试
如图6-4与图6-5所示,购物车中,点击商品增加与减少都能正确显示,同时在商品数量只有1时也不会出现购买商品为0这样的错误。
6-6用户数据获取测试
如图6-6用户数据获取测试所示,当用户登陆小程序之后,能够正确的显示用户的信息。
6.4 测试评估及改进
对于这一次的功能测试工作而言,首先会针对系统各项功能的运行情况进行测试,其次还会针对后台管理系统所对应的质量进行测试。主要的目的就是查看系统每一项功能以及后台管理系统是否能够正常的运行,并且满足系统功35
广东东软学院本科毕业设计(论文)
能所需,在测试的过程一旦发现BUG,那么要马上进行处理,从而实现项目的优化。
对于测试工作而言,由于系统功能较多,所以需要针对各项功能进行一一排查,在测试的时候,针对一个功能至少都进行了三次的测试,因此能够看得出来,本次测试工作的结果具有可信度。进行测试的时候,也找出很多问题,能够看得出来整个系统的开发工作还存在不足,首先在功能性优化方法,更多的是针对界面的一个优化;其次功能性缺陷也有一些,在测试的时候发现一些页面没有办法实现跳转,还有一些按钮并没有实现应有的功能,后续针对这些BUG进行了处理,并对系统进行了二次优化处理,能够看得出来,本次系统的开发工作尽管存在一些不足,但是系统的完整度完成较好,基本功能都可以实现,后续还会进行不断优化。
36
广东东软学院本科毕业设计(论文)
第7章 总结
写到这里就表示本次系统的开发工作基本结束,完成的设计结果大体上能够满足预期要去。由于技术水平有限,再加上实现不够充裕,造成系统不是那么完善,但是基本功能都可以实现。所以对于本系统而言,大部分功能都得到了实现,可是也存在着一些不足,这不但是由于技术水平不足导致的,也包括经验上的欠缺,这是需要以后去弥补的,在以后的工作需要对实践能力进行积累。另外通过这次系统开发工作,让我意识到面对这样一个大型系统的开发时,首先需要做的是通过模块化思想对系统结构进行构建,实现系统功能的一个模块化,同时还要确定好每个模块当中所需要包括哪些功能,将整体框架构建出来之后,设计思路就会特别清晰,开发工作也会具有更高的效率;如果没有确定系统结构,而是直接进行开发,那么效率并不会高,而且一旦出错很容易造成系统的二次开发,这些就是我在系统开发工作当中总结出来的经验。
37
广东东软学院本科毕业设计(论文)
参 考 文 献
[1]李昱杉.基于微信小程序的“跳一跳”小游戏设计[J].电子制作,2019(18):42-45.
[2]王维,沈长娇,高伊腾.微信点餐小程序的设计与实现[J].电脑编程技巧与维护,2019(09):70-72
[3]罗卫,王学磊,徐劲,朱琳,陈杰.基于互联网微信小程序的基层部队远程医疗系统的研制[J].中国医疗设备,2019,34(10):90-93.
[4]邢榕珊,匡芳君.微信小程序设计[J].计算机时代,2018(08):9-12.
[5]汪美.基于微信小程序的签到平台的研究与设计[J].软件,2019,40(08):70-72.
[6]吴海,彭雪昶.贵州农经网微信小程序电商平台设计[J].信息通信,2019(08):135-136.
[7]潘浩.基于微信小程序的智能配送系统的设计与实现[J].微型电脑应用,2019,35(07):31-33.
[8]张智林,阴毅.基于微信小程序的O2O模式校园快递的设计与实现[J].电子技术与软件工程,2019(03):34.
[9]张翠.新媒体环境下微信小程序对用户社交行为的影响[J].西部广播电视,2019(08):26.
[10] 刘玉佳. 微信“小程序”开发的系统实现及前景分析[J]. 信息通信,2017(01):260-261.
[11] 谢新洲,安静. 微信的传播特征及其社会影响[J]. 中国传媒科技,2013(11):21-23.
38
广东东软学院本科毕业设计(论文)
致 谢
光阴似箭,时间过得飞快,完成了这次毕业设计后很快就要离开大学校园了,回想这三年的时光就像回忆起昨天一样,早上的早课,晚上的社团活动,这些都是自己珍贵的回忆,包括这次毕业设计,我也是花了很多心思投入到里面,因为它是我大学里面最后一次实践作业了,在这过程中我要感谢我的指导老师,其实这次毕业设计并不是那么的容易,过程也并不是我当初想的那么轻松,期间我遇到了很多技术问题,很多代码运行报错却找不到原因,因此我每次想老师请教老师都会很耐心的给我解答难题,不局限在实现了论文的功能难点,还就这个知识点扩充开来让我真正的掌握这个原理,从中我学到了很多;还有就是论文的内容和格式非常的严格,我的第一次初稿和第二次初稿的格式和内容都有不当的地方,老师都特意找我一一指导我,在他的耐心指引下我才可以高效的完成了高质量的论文,因此再次要感谢我的指导老师。
同时我还要感谢班级和宿舍的同学们,我的朋友们,在毕业设计的过程中他们给了我很多鼓励,也陪伴我一起完成毕业设计这项相对艰巨的任务。在我遇到了难题的时候也有很多同学,朋友主动过来帮我调试代码,寻找报错的原因,教我一步步操作,没有了他们,我可能还在原地徘徊不前,因此谢谢你们的帮助。
最后我更要感谢学院,在四年里我在这里真的经历了很多,也学会了很多,不仅仅是课程知识,更是学会了如何做一个接受过高等教育的社会人,通过这次毕业设计,也让以前懒惰的我提高了积极性,进取心,锻炼了即将实习的我,日后我一定好好学习努力工作,争取做一个从学院出去的社会人才回报我的母校,为学院争光。
39
本文发布于:2024-01-31 10:31:14,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666827427875.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |