基于微信小程序的商城设计毕业论文.docx

上传人:李司机 文档编号:1614214 上传时间:2022-12-11 格式:DOCX 页数:20 大小:142.92KB
返回 下载 相关 举报
基于微信小程序的商城设计毕业论文.docx_第1页
第1页 / 共20页
基于微信小程序的商城设计毕业论文.docx_第2页
第2页 / 共20页
基于微信小程序的商城设计毕业论文.docx_第3页
第3页 / 共20页
基于微信小程序的商城设计毕业论文.docx_第4页
第4页 / 共20页
基于微信小程序的商城设计毕业论文.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《基于微信小程序的商城设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于微信小程序的商城设计毕业论文.docx(20页珍藏版)》请在三一办公上搜索。

1、基于微信小程序的商城设计毕业论文摘要随着“互联网+”的大潮兴起,平台型应用再受热捧。其中,微信小程序凭借其强大的用户基础及其应用时的便捷而深受欢迎。在此基础上,以小程序为载体的社群电商,将具有相同兴趣的社群成员组织在一起,推广与之需求高度匹配的产品或服务,轻松实现流量变现。因此,结合以上优势设计并实现基于JaVaWeb的小程序商城,具有一定的研究意义和商业价值,符合我国互联网精准化营销和个性化服务的趋势。本系统主要由微信小程序客户端、服务器、数据管理端构成,前端代码基于LayUi,封装工具类,使用的是H-UiAdmin。客户端的页面实现通过网络与服务器RESTAPl接口通信获取MySQL数据。

2、本人重点参与网上购物系统客户端、服务器以及数据库的设计、开发、测试工作。在系统的设计与实现过程中,对客户端的代码进行全局的MVC模式设计控制,采用template模板增加代码的复用性,并创建客户端用户的token管理机制进行用户身份验证与权限分级。本文重点阐述小程序商城客户端的商品信息展示、商品分类、购物车、下单支付,个人信息管理及数据库设计六大模块的设计和实现过程。采用了JaVaWeb和SPringbOot框架作为后台开发,HTML+JS+CSS和微信Web开发工具作为前端开发,遵守微信的开发规范,完成了小程序商城的基本功能,系统运行流畅,可以正常使用。关键词:电商;JavaWeb;小程序商

3、城;购物;ABSTRACTWiththeriseofInternet,platform-basedapplicationsarebecomingmorepopular.Amongthem,WeChatMiniProgramwithitsstronguserbaseanditsapplicationwhenconvenientandpopular.Onthebasisofthis,thecommunitye-commercewiththesmallprogramasthecarrier,willhavethesameinterestcommunitymemberstoorganizetogeth

4、er,promotestheproductortheservicewhichishighlymatchedwithitsdemand,realizestheflowrealizationeasily.Therefore,combiningtheaboveadvantagestodesignandimplementtheMiniProgramsMalibasedonJavaWebhascertainresearchsignificanceandcommercialvalue,whichisinlinewiththetrendofprecisionmarketingandpersonalizeds

5、erviceoftheInternetinChina.ThesystemismainlycomposedofWeChatMiniProgramclient,server,datamanagement,front-endcodebasedonLayui,encapsulatingtoolclass,usingH-uiAdmin.TheclientspageimplementationacquiresMySQLdatabycommunicatingwiththeserverRESTAPIinterfacethroughthenetwork.Ifocusontheonlineshoppingsyst

6、emclient*serveranddatabasedesign,development,testingwork.Inthedesignandimplementationofthesystem,theclientscodeiscontrolledbytheglobalMVCpatterndesign,thetemplatetemplateisusedtoincreasethereusabilityofthecode,andtheclientstokenmanagementmechanismiscreatedforuserauthenticationandpermissionclassifica

7、tion.Thispaperfocusesonthedesignandimplementationofthesixmodulesofthesmallprogrammallclientscommodityinformationdisplay,commodityclassification,shoppingcart,orderpayment,personalinformationmanagementanddatabasedesign.UsingJavaWebandSSMframeworkasbackgrounddevelopment,HTMLJSCSSandWeChatwebdevelopment

8、toolasfront-enddevelopmentSend,abidebythedevelopmentspecificationsofWeChat,completedthebasicfunctionsofMiniProgramsMalhthesystemrunssmoothly,canbeusednormally.Keywords:E-commerce;JavaWeb;MiniProgramsMall;Shopping;目录引言错误!未定义书签。第一章系统的分析错误!未定义书签。1.1 可行性分析错误!未定义书签。1.2 需求分析错误!未定义书签。1.3 系统环境开发错误!未定义书签。第二章

9、系统的总体设计错误!未定义书签。1.1 .1工具及关键技术的介绍错误!未定义书签。1.2 .2Vue技术介绍错误!未定义书签。1.135 PRINGBOoT介绍错误!未定义书签。2.2 系统流程错误!未定义书签。2.3 系统模块设计错误!未定义书签。23.1 有了系统流程描述和流程图错误!未定义书签。第三章数据库的设计错误!未定义书签。23.2 据库设计原则错误!未定义书签。23.3 据库实体设计错误!未定义书签。23.4 据库结构设计错误!未定义书签。第四章程序模块的界面设计错误!未定义书签。4.1 用户注册错误!未定义书签。4.2 输入的用户注册信息保存到数据库错误!未定义书签。4.3 用

10、户列表错误!未定义书签。4.4 购物车模块错误!未定义书签。4.5 下订单模块错误!未定义书签。第五章系统调试与测试错误!未定义书签。5.1测试分析错误!未定义书签。结论错误!未定义书签。参考文献错误!未定义书签。致谢错误!未定义书签。第一章系统的分析1.1 可行性分析1. 技术可行性:“外卖系统”是基于B/S架构,采用MVC的设计模式,VUE开发技术,java编程语言,Springboot技术和MySqI数据进行开发实现。2. 在B/S架构下,实务处理逻辑模块从客户机分类出来,客户机通过浏览器可以对服务器发出数据请求,由服务器与数据库打交道完成事务处理工作后将数据库传回客户端进行显示。3.

11、MVC设计模式,应用程序的输入、处理和输出被强行分开,其三个核心部件:模型、试图和控制器都各自处理自己的任务。由于视图层和业务层的分离,更改视图层代码时不用重新编译模型和控制器代码,使其可以移植和复用以及功能的扩展。4. MYSQL数据库:作为以重关联数据库,MySQL将数据保存在不同的表中,增加存取的速度,提高操作的灵活性。并且MYSQL采用最最常用标准化进行数据库的访问,简化开发流程。并且mysql是开源比较成熟的数据库,在数据的安全性方面技术已经比较稳定。5. MyBatiS它是一个代码开放式的框架,它比较好用,而且可以把JaVa对象持久化于数据库当中,它把很多JDBC的那些复杂性代码抽

12、离出来,然后经过自身内部的封装和改造把原有的代码复杂性简单化了,还提供了一个让人很好使用而且很简单的API借口给我们调用,这样我们就很容易的与数据库方面交互。1.2 需求分析软件开发中,需求分析是必不可少的,它有助于了解客户需求,对软件的功能由初步的构思。综合市场中已有的外卖软件,我对外卖系统进行了初步需求分析。系统的核心功能是订单管理、物流信息管理、配送管理。1.2.1 系统描述本系统包括两个基本部分:一是前台用户的操作程序,用户在前端可以浏览网页,查看相关信息。通过注册可以形成一个有密码与之匹配的账号,用户可以使用该账户登陆系统。在登陆的情况下可以开始点餐。1.2.2 权限在记账系统中,权

13、限的主体分为了用户和管理员,用户可以通过登陆操作记账操作。而系统管理员可以用户进行管理,进行权限的分配,也可以修改用户的信息,如下图:ID用户名手机号创建时间新增角色名称丽备注授权系统管理adminiorootren.ren.1361234567管理员列表查看新增修改删除角色管理查看图1.2.2.1管理员列表示意图1.2.3 用例识别在角色的基础上,可以识别出与权限相关的用例,从而得到系统的用例模型,如图;lill13系统环境开发该系统采用B/S架构,使用VUe作为前端框架,后台数据实现使用MYSQL软件环境WindoWS7数据库MYSQL-NaViCatPremium15编程软件一IDEA系

14、统的总体设计2.1 开发工具及关键技术的介绍记账系统基于B/S结构,采用MVC设计模式,java编程语言,SPRINGBOOT.VUE和mysql数据库。以ideaIDE最为开发工具,内置TOmCat9.0为服务器进行开发实现的。2.1.1 B/S结构概述B/S结构概述BS(BrOWSer/Server)结构即浏览器和服务器结构。它是随着Intemet技术的兴起,对C/S结构的一种变化或者改进的结构。在B/S结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端BrOWSer实现,但是主要事务逻辑在服务器端SerVer实现,形成所谓三层结构。相对于C/S结构属于“胖”客户端,需要在使用

15、者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在在服务器端。因此B/S结构的系统只需要安装通用的浏览器即可对服务器进行访问。系统升级或维护时也只需更新服务器端软件,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量。与C/S结构比较B/S架构软件具有以下优势:1维护和升级方式简单。目前,软件系统的改进和升级越来越频繁B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,而B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器根本不需

16、要做任何的维护。无论用户的规模有多大,有多少,分支机构都不会增加任何维护升级的工作量所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接专网即可实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的惊人的。因此维护和升级革命的方式是“瘦”客户机“胖”服务器。2应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端SerVer上网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器SerVer端完全通WWW浏览器实现,极

17、少部分事务逻辑在前端BrOWSer实现所有的客户端只有浏览器网络管理人员,只需要做硬件维护。但是应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.1.2 Vue技术介绍Vue(读音/vju:/,类似于VieW)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,VUe被设计为可以自底向上逐层应用。VUe的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,VUe也完全能够为复杂的单页应用提供驱动。1、VueJs可以说是MVVM架构的最佳实践,是

18、一个JaVaSCriPtMVVM库,是一套构建用户界面的渐进式框架。专注于MVVM中的VieWMOdeI,不仅做至1了数据双向绑定,而且也是一款相对比较轻量级的JS库,API简洁2、因为VUe的双向数据绑定特性以及技术的成形,实现了项目的热加载,改完页面代码能立即在浏览器方面显示效果,提高开发效率3、Vuejs是采用Object.defineProperty的gettersetter,并结合观察者模式来实现数据绑定的。当把一个普通JaVaSCriPt对象传给VUe实例来作为它的data选项时,VUe将遍历它的属性,用Objeet.defineProPerty将它们转为getter/Setter

19、。用户看不到getter/Setter,但是在内部它们让VUe追踪依赖,在属性被访问和修改时通知变化。2.1.35 pringboot介绍2.1.36 SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJOhnSon在其著作Expert0ne-0n-0neJ2EEDevelopmentandDesign。SPring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是SPring不仅仅局限于服务器端开发,任何JaVa应用都能在简单性、可测试性和松耦合性等方面从SP

20、ring中获益。1、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性编程;2、通过依赖注入(口1)和面向接口实现松耦合;3、基于切面(AOP)和惯例进行声明式编程;4、通过切面和模版减少样式代码;2、SPringBoot四个主要特性1、SpringBootStarter:他将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或Gradle构建中;2、自动配置:SPringBoot的自动配置特性利用了SPring4对条件化配置的支持,合理地推测应用所需的bean并自动化配

21、置他们;3、命令行接口:(Command-Iine-interface,CLI):SPringBOOt的CLl发挥了GroOVy编程语言的优势,并结合自动配置进一步简化SPring应用的开发;4、Actuatir:它为SPringBOot应用的所有特性构建一个小型的应用程序。但首先,我们快速了解每项特性,更好的体验他们如何简化Spring编程模型。2.2 系统流程在第一章的用例图中,已经定义了系统角色及用例模型。作为一个完整的记账软件,有必要知道整个系统运行流程这有利于我们明确系统开发任务和功能模块。用户后登陆网站,新建自己的账户和开支类别,然后开始记账,每个账户都能对账,这样保证的数据的准确

22、性和明晰性用户当然也可以修改自己的信息包括密码,最后用户可以退出系统。2.3 系统模块设计2.3.1 有了系统流程描述和流程图根据流程图将系统划分为以下模块:表2.3.1.1系统功能模块设计表aI系统功能镣块应计杼号功能模块类别功能模块L前台操作端注册登录,个人心思管理2账户管理3开支类别管理4对账5记账及转账6后台笆理端用户管理7公告R默认F支管理2.3.2 后台管理模块它与前台用户的个人信息管理功能模块是不同的。这里管理的是所有的注册用户信息,是真正意义上的用户管理模块表2.3.2.1用户公里功能模块2-7用户管理功能模玳序号功能列表功能明细1管理员登录杵理物人用户名和谓旧r系统进行验证2

23、后台蛤证管理a进行功能模块笆理时,都要验证4杏者用户信息杏看用户信息1删J除用户删除用户数据库的设计记账系统是以MSQL5.5建立起来的,在对本系统个子模块功能分析的基础上设计了数据库的表及表之间的关系图,并根据关系图实现了数据库添加、查找、修改、删除、浏览等基本操作。3.1 数据库设计原则1 .在完成数据存储的基础上,基本表的个数要尽量少。2 .确保各个表之间对应关系的同时,主键的个数要尽量少。键是表间连接的工具主键越少,表间的连接就越简单。3 .字段个数越少越好。所有基本表的设计均应尽量符合第三范式,减少数据冗余,数据库是在表的基础上创建完成的,所有对象的属性都以元组的形式在表中表示。程序

24、员必须对数据库的数据进行必要的维护。在开发设计数据库时应考虑数据库的使用过程中可能出现的问题,设计数据库有一定的数据恢复功能使数据库在被使用过程中对用户的影响降到最低的程度,维护的花费降到最低。数据库系统要求具有以下方面的特点:1 .结构合理,所建立的数据冗余度小,独立性强。2 .2.增加、修改、查询和统计快速而准确,保密性和可靠性好。3 .有一定的数据恢复功能,便于后期的维护。3.2 数据库实体设计在对“外卖系统”各个功能分析的基础上,可以确定数据库应该包含以下实体管理员信息实体(admin)1 .通过账号和密码登录系统后台,可以修改自己信息,包括密码2 .可以对用户进行查看和删除操作3 .

25、可以修改默认的收支类别。用户信息实体(USer)1、通过注册成为网站会员2、登录后可以修改自己信息3、可以开始进行记账。3.3 数据库结构设计外卖系统采用MSQL数据库进行系统设计和开发,分类信息表、商品信息表,如下图。start.dstrlmt11enddistriit11配送Shopjxkodecimal7shopnumint11知量zhopjmg八rchr150商品世址shopcateint2S5庙品英别字段宏引外蜓融及靠选项汪径SQLHE宣长度不公null注1100中手号Catejamevarchar320O克品存名类型1号点不是null度拟腱江轻Qmt1序号ShOPNW讣叩Hchar

26、商品各texttest商品洋鲂程序模块的界面设计程序注册及登录个人信息管理功能模块:任何系统功能的实现都离不开角色的参与,为了便于系统的管理,需要对不同用户赋予不同的权限和功能,因此需要对用户进行管理,设计了个人信息管理模块由于本系统采用了MVC设计模式下面将用MVC的三层结构说明个人信息管理模块的功能。4.1用户注册用户在进行注册的过程中,输入用户名移开鼠标,文本框失去焦点后会触发OnblUr方法,此时系统会提取输入的用户名与数据库用户表中已存在的用户名进行比对,若数据库用户表中已经存在输入的用户名,将提示不能注册若不存在输入的用户名“可以注册”的提示。该操作主要的代码如下PoStMaPPi

27、ng(sysIOgin)publicMapStringzObject)login(RequestBodySysLoginFormform)throwsException/booleancaptcha=SysCaptchaService.validate(form.getUuid()zform.getCaptcha();if(!captcha)returnR.error(验证码不正确”);)*/用户信息SysUserEntityuser=sysUserService.queryByUserName(form.getUsername();账号不存在、密码错误if(user=null11!user.

28、getPassword().equals(newSha256Hash(form.getPassword()zuser.getSalt().toHex()returnR.error(账号或密码不正确);)账号锁定*if(user.getStatus()=0)returnR.error(账号已被锁定,请联系管理员”);*/生成token,并保存到数据库Rr=SysUserTokenService.createToken(user.getUserld();returnr;*WeChatV10:14会员中心0Q积分接板登录.谴断梗小箱5登录-我们不会公布您的这些信后我的汇优秀至资金成为三请发票O图4.

29、Ll管理员登录示意图4.2 输入的用户注册信息保存到数据库用户输入注册信息后,在第二层逻辑访问层将使用java语言使用的SaVeo方法将输入的用户信息封装到对象user中,然后调用包下SySUSerEntityJaVa中的对象SySUSerEntity的add()方法,同时连接数据库,通过对象的方式添加到数据库中,代码如下:*保存用户SySLOg(保存用户U)PoStMaPPing(/save”)/*RequiresPermissions(sys:user:save)*/publicRsave(RequestBodySysUserEntityuser)*ValidatorUtils.valid

30、ateEntity(user,AddGroupxIass);*/*user.setCreatellserld(getllserld();*/SysUserService.saveUser(user);returnR.ok();4.3 用户列表将注册用户信息保存到管理账户中,可直接观察到目前注册的账户数目,主要代码如下*用户列表*/RequestMapping(nZlistn)/*()RequiresPermissions(,moduleszdatatotaklist*)*/publicRlist(RequestParamMapparams)PageUtilspage=dataTotalServ

31、ice.queryPage(params);returnR.ok().put(,pagen,page);)4.4 购物车模块用户对菜单点击订购后就会添加到购物车中,在购物车中有删除某个已选菜单、继续采购、修改菜单数量、下订单功能。购物车界面设计4.5 下订单模块下订单模块选购菜单结束后,点击“去下订单”,就跳转到下订单界面,其中必须填写收货人信息、详细地址、联系电话、付款方式信息。+m*WeChsc10ta51009二分类G)上装痛髓价区电装夕陞秒杀内霹会询输入搜索关键同QH的图案毛衣M49I已T毛衣耻4IE2爆效苦心QJw也物隼U1-2和一痹沿只4.5订单查询模块订单查询模块用户成功提交订单

32、后,在订单查询中可对菜单查看,可以根据订单的处理状态查看,用户也可以将管理员未做过任何处理的订单删除。第五章系统调试与测试重点测试目标和测试计划,对项目测试用例,并分析测试结果是否达到系统预期,如未达到提出改进措施。测试项目目标根据测试范围的不同,如吞吐率、访问时间等等,分析项目模块,指标功能实现,边界条件是否实现等等,测试用例根据测试目标来进行设计(表5.1)功馋溶试5.1测试分析1、部分数据未能自动生成图表数据2、程序中反映出现字符乱码现象功能恻优测试编号GSOOL功能描述龈电统计功能LRL用例目的测试账收统计是否存在而糖条仲进入用户翌录界面泅试操作飨号榆A/动作期里的输畀响应嘿际情况是否

33、正确错误褊号1输入住的月份展示H体触据展示具体霰据正确2输入不存在的月份系统提小谓眄错误系统提小该月份没有敷理正确3程人春倒足饰展示具体数据展示具悻数据正确4输入不存在的年阶系统提示密码铺说蔡统提示该年份没有效锹正确结论在经过几个月努力后,在老师指导下,我对Web开发有了系统的深入的理解,同时对开发技术有了进一步的经验,本系统用例比较成熟的Web开发框架设计,实现B/S结构,具有相当的实用性。我所设计实现的微信小程序只是实现了最基本的几个功能,由于毕业设计时间较短,所以该系统还有很多不足之处:比如整个界面的排版及美观、系统的整体维护、功能完善、等一些问题,这些都有待进一步改善。本次设计,不仅在

34、理论上和实践中有所认知,而且在专业水平上有了明显的提高,也让我快速成长起来,当你有目标的时候,你的先思考,然后在想解决办法。虽然这个系统有很多需要完善的地方,但我会以这次开发为基础一点点的在成长起来,让以后新的作品一个比个好,希望以后的工作或者学习中一步步的完善,超越自我,最后再次感谢我的老师,时是因为你们才让我的毕业设计成功完成,从而让我得到了不小的收获。参考文献田贾树文,杨婷婷.Android系统研究几软件导刊,2014,13(03):8.(英)萨默维尔著,程成,陈霞译.软件工程(原书第9版)北京:机械工业出版社,2011-4.李春葆,金晶,曾平编著.数据库原理与应用:基于SQLSereV

35、er2005.北京:清华大学出版社,2008.李海波主编.新编会计学原理-基础会计(第15版)M.上海:立信会计出版社,2011-3:32-66.5吴强.大话设计模式M.北京:企业管理出版社,20105.6BruceEckelJAVA编程思想M.机械工业出版社,2007-6-L郑玲.计算机专业毕.业设计指导M.清华大学出版社,2007.8.孙卫琴Java面向对象编程M.电子工业出版社.2016-7-1.98-114.9王秋丽.我国财务软件的现状及发展趋势J.山西经济管理干部学院学报,201240(1):43-45.10马克艾伦维斯.数据结构与算法分析:JaVa语言描述M.机械工业出版社,201

36、6-3-1.69-73.11郭霖.第一行代码M.人们邮电出版社,2014-7-1.83-94.12李刚JaVa疯狂讲义M.电子工业出版社,2016.10.67-85.13周志明.深入理解Java虚拟机:JVM高级特性与最佳实践M.机械工业出版社,2013-5-1.25-37.致谢至此,经过这段项目的实践,学习整理分析后,完成了这篇论文。首先,在此感谢我的导师,是他们让我有了更加严谨的治学态度和孜孜不倦的学习精神,以及待人接物和蔼可亲的处事风格让我们在轻松愉悦的环境下完成了自己的毕业设计,她在几个月不仅给我提供了大量的资料,而且在技术上也给了我很大帮助,不仅让我掌握了一些基本的研究方式方法还让我明白了很多待人接物的处世之道,论文从无到有到选题完成每一步都是教师指导下完成的,倾注了导师大量心血在此表示诚挚的感谢。其次,还要感谢我的母校的培养,实我变得坚强、成熟起来。忠心感谢在百忙之中评阅论文和参加答疑的各位教师!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号