基于微信小程序的Flask订餐系统的设计与实现Word文档下载推荐.docx
- 文档编号:19124811
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:43
- 大小:2.52MB
基于微信小程序的Flask订餐系统的设计与实现Word文档下载推荐.docx
《基于微信小程序的Flask订餐系统的设计与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于微信小程序的Flask订餐系统的设计与实现Word文档下载推荐.docx(43页珍藏版)》请在冰豆网上搜索。
其中外卖app的发展就是一个很好的例子。
互联网餐饮外卖以其食品种类齐全,方便快捷,成为现代大部分人生活中重要的组成部分,而且激发了餐饮外卖行业的创业与就业[1]。
外卖平台虽然流量大,但是增加了餐厅经营难度,平台抽佣较多,使得店家成本高,用户数据基本绑定在第三方,使用户留存成难题。
据了解某个大型外卖平台目前的佣金约为26%。
如此高的外卖佣金意味着他们的收入将大大减少。
但微信小程序没有佣金,所以当它们被用于外卖时,商家自然可以降低成本,提高利润。
这使得企业和商家不得不向小程序跳槽。
腾讯于2017年推出的微信小程序是一款依托于微信运行的手机应用。
据调查显示,截止到2016年12月微信全球共计8.89亿月活用户,正是这巨大的用户信息量带动了信息消费1742.5亿元,同时也带动了微信小程序的发展[2]。
自小程序诞生以来,各个行业都有不少企业和商家选择并且发展了小程序,其中还包括很多外卖行业的企业和商家。
微信用户只需要在微信的搜索功能里直接搜索或扫描二维码即可。
微信小程序具备四大特性,分别是无需下载、触手可及、用完即走和无需卸载,这让它成为了免去客户端的轻型应用程序。
这种不需要下载安装即可使用的应用,它真正实现了互联网中“触手可及”的梦想。
毫无疑问的是,“外卖点餐+小程序”符合当前我国发展经济模式,这种结合无论是学生,还是成年人甚至是老年人都带来极大的便利。
传统的人工点餐降低了人们的就餐体验以及出错率比较高,而利用微信小程序实现的二维码点餐系统,更加能给客户带来更优质的体验感[3]。
因为它拥有轻服务的小程序技术,用户无需下载应用,点开微信即可使用,也不用耗费时间人力去到店点餐,这对所有用户来说是非常方便的。
因此,将个外卖点餐与小程序结合是完全适合当下社会的需求,本系统的开发具有以下意义:
从商家层面来说,本设计能够帮助商家结合微信庞大的流量群体,整合线下销售服务和互联网,拓展出视野更加宽阔的线上下线一体化市场,通过微信线上的用户群体,线下服务客户,可以拉近自己与用户的距离,达成交易。
同时,它可以为企业节省人力和运营费用;
从开发者角度来看,小程序开发门槛相对较低,难度小于APP,既能够满足简单的基础应用,又适合生活服务类线下商铺以及非刚需低频应用的转换;
从用户层面来看,本设计响应小程序发展趋势,可以节约使用时间成本和手机内存空间,改善现代人生活。
1.2国内外发展现状
1.2.1外卖点餐发展现状
长期以来,网上订餐的方式在国外得到了广泛的应用,不仅节省了时间,而且为餐饮管理提供了一种更加简单有效的方式。
美国率先提出网上订购模式。
对于餐饮业来说,发达国家的发展速度和需求远远高于不发达国家。
毕竟,发达国家的人时间观念很强,对服务的需求也很高。
更重要的是,他们可以不断找到更先进的管理方法和手段,并将其发挥到极致,尤其是信息技术。
顾客的消费水平在逐渐提高,餐饮行业的竞争相当激烈[4]。
据调查,国外网上订购大多是通过互联网开办类似超市的网上餐饮,再与专业物流配送公司合作,因此他们的订购体系广为传播,得到了群众的广泛认可和高度赞赏。
近年来,中国餐饮业发展迅猛,据调查统计2017年我国的外卖市场规模突破2000亿元,我国网上外卖用户规模达到3.43亿人,这数据信息足以表明我国的餐饮市场潜力巨大[5]。
当今大部分人选择以订餐的方式来解决自己的用餐问题,这从而诞生了O2O外卖平台,它不仅能够满足消费者的需求而且也顺应了国家与社会经济发展趋势[6]。
商店可以根据自己的条件和环境要求选择适合他们的营销策略。
只有这样,他们才能从激烈的市场竞争中崭露头角。
在当今的大数据时代,了解如何使用当今快速增长的网络以及掌握如何使用微信可以为您带来巨大的商机。
在中国,在线食品订购已基本遍布整个中国外卖市场。
例如,美团和饿了么这两个阵营占领了中国的大部分市场,并且已经出现了无数具有在线食品订购系统的公司。
1.2.2微信小程序发展现状
时代是不断向前发展的,同时科学技术也越来越成熟。
轻型应用程序在2017年开始变得炙手可热。
原因是推出了拥有近10亿用户的微信小程序。
根本原因是技术的发展,应用程序市场模型的缺陷以及用户探索应用程序的意愿下降。
随着小程序的出现,市场迫切需要开发人员以较低的成本开发应用程序并分发应用程序,以便用户可以更有效地发现应用程序并使用新的应用程序载体。
微信小程序不但给用户带来了极大的方便,无需考虑适应性和分发,还免去了传统app需要下载的烦琐,即用即来,关闭即走,不会占用用户设备过多的内存[7]。
它的功能恰好满足了市场的需求。
于是,微信小程序成为2018年最热销的网点,无数的企业家,开发商和投资机构进入,共同创造了小程序的早期生态。
移动互联网时代也加入了逐渐兴起的“轻服务”。
经济的高速发展,让人们不得不加快生活节奏,时间效益成为了现代人考虑事情的要点之一。
那么“轻服务”就是一种便捷高效的方式,为他人节约时间的服务。
当下最稀有的莫过于时间,最好的服务不仅仅是有温度的,而且也必须是“轻”的[8]。
微信小程序无需下载即可使用。
它们也与“轻服务”的概念相吻合。
目前,微信的开放环境已经创建了大量的第三方公司。
微信订餐从在线订餐中脱颖而出,于是微信订餐的发展直突飞猛进,必将成为未来外卖订购的主流趋势。
通过微信点餐系统,群众更加方便快捷,商店与顾客之间的交流更加畅通,同时商店可以更好地为顾客服务。
大学生是美团、饿了么等外卖平台的主要消费群体,但由于需下载以及内存的占用,学生尤其高度支持并赞赏微信订餐[9]。
这是一种全新的外卖订购模型,它突破了传统模型。
综上所述,外卖点餐与微信小程序的联合是历史之必然。
根据日常需求搜索或查找附近的小程序,始终可以找到满足需要的小程序。
由于小程序的出现,传统的电子商务和零售将重生。
目前小程序所展现出来的势头只是星星之火,未来可以燎原,潜力无限。
本系统开发的点餐微信小程序,能给外卖行业注入新血液,减少了高峰期排队点餐和就餐的等待时间,节约了用户时间,能给消费者客户带来更高效更快捷订餐服务[10]。
只需要拥有一个微信就能使用,快捷高效。
第二章开发综述
2.1Python编程语言
Python的创始人是荷兰的吉多·
范罗苏姆,是一种大范围使用的计算机编程语言,是一种解释型脚本、面向对象的动态类型语言,吉多·
范罗苏姆一开始是用于编写自动化脚本的。
但是日新月异升级的版本以及新的语言语法功能的加入,Python逐渐完善并且它越来越多地被用于独立的大型项目开发中。
因为Python语言具有三大特性,分别是简洁性、易读性和可扩展性,国外越来越多的研究机构使用Python进行科学计算,甚至一些著名的大学使用Python来教授编程课程。
Python在设计上坚持着有条有理,一目了然的风格,使Python成为一种易于阅读和易于维护的编程语言,所以被大量用户认可。
在编程语言排行榜内位列第三,也是时下最热门的编程语言之一。
在计算机语言中Python发展速度不可小觑,可以说是最适合零基础人士入门学习的计算机语言之一[11],广泛应用于企业级Web应用开发和移动应用开发。
Python一开始就被设计为有可扩展的特性。
并不是全部的特性和功能都集中到语言核心中。
程序员可以方便地使用C、C++、Cython来编写扩充模块,因为它提供了丰富的API和工具。
其次,Python还具有可嵌入性,如果其他程序需要脚本语言,那么Python也可以被集成到它们之内。
因此,越来越多人还把Python作为一种“胶水语言”(gluelanguage)使用。
2.2Flask框架
Python中四大主流MVC框架目前有Flask、Django、Tornado以及Twisted。
MVC分层有助于管理复杂的应用程序,可以在不依赖业务逻辑的情况下专注于视图设计[12]。
其中Flask是一种非常强大的框架,它问世于上面提到的三个框架之后,这让它具有了其他框架的一些特性。
以Werkzeug为WSGI工具集,简单来说就是request和response。
模板引擎则采用Jinja2。
Flask,可以用一个字来形容,那就是“轻”。
并且它是一个可以定制的框架,相比其他框架更加灵活,使用方便,它微小的特性更适用于我们开发一些小项目,因此被称之为“微框架”。
同时它具有可扩展性,Flask在操作上并不会束缚我们,它可以让开发者有更多的自由选择权利,例如可以选择用什么数据库插件去存储他们的数据。
总结Flask有以下几点特点:
1)整个系统采用统一语言开发,以Werkzeug为WSGI工具集,jinja2为模板引擎;
开发人员可以完全专注于业务逻辑,前端和后端的分离便于开发和后期维护。
2)自由灵活、可扩展性极强,基本所有功能都需要第三方插件框架。
3)因为是由框架处理操作,所以稳定性和安全性极高。
总之,Flask就是提供一个平台给开发者,开发者可以不断地安装插件来完善自己的项目。
2.3MySQL数据库
MySQL是被开发者用的最多,也是被大众所认同的关系型数据库。
由于MySQL是开源的,因此我们可以免费使用。
MySQL的优点在于:
可以创建不同的数据表,并将它们联系起来。
在有秩序的表中查找数据,可以大大提高我们查找数据的效率,而并不是在查找一堆杂乱的数据。
目前大部分的中小型企业及许多的互联网公司都选用MySQL来作为数据库,MySQL具有极高的性能,对于应付百万级的数据,还是相当轻松的。
因为它能在成千上万条的数据中支持同时处理,就连电商巨头阿里巴巴也是选择MySQL作为数据库,足以见到其强大之处。
MySQL使用的也是标准的SQL数据语言形式,只有少部分地方会SQL语法有不一样的地方[13]。
大部分的编程语言都能被MySQL支持,例如C、C++、Python、Java,同时也支持应用于许多系统上,如微软的Windows系统和开源的Linux系统以及苹果的Mac系统。
2.4微信小程序
2.4.1小程序简介
小程序的问世,让世界的人为之惊叹。
它相当于一座桥梁,能出色地将用户与服务连接起来,能在微信内快速被使用和传播。
一般网页使用HTML和CSS来编写,但是小程序主要使用WXML与WXSS。
它主要的开发语言是JavaScript。
1、微信小程序中的JavaScript跟网页里的JavaScript是非常类似的,唯一不同的是微信小程序具备了一些内置的API方法,这些封装好的方法我们在开发过程中是可以直接拿来调用的。
2、WXML是基于XML语法开发的。
结合组件和事件系统建立页面,可以改动相应的标签和处理事件逻辑。
3、WXSS继承了CSS大部分的特点,它就是一个样式语言,可以用来修饰WXML里面的组件。
2.4.2小程序框架
小程序框架系统的开发可以分为两部分,分别是视图层(View)和逻辑层(AppService),而JavaScript则是在两者之间提供数据传输和实践系统。
技术框架图如下图2-1所示。
图21技术框架图
逻辑层专门用来处理逻辑,接收视图层的请求以及返回参数。
例如请求数据和接口调用等。
视图层则是对页面进行渲染的。
App是小程序的核心部分,由app.js、app.json、app.wxss三种类型文件构成。
分别起到处理小程序全局逻辑、小程序全局页面设置、小程序全局页面公共视图层样式的作用。
而Page一般存在四种基础的文件类型,分别是JS当前页面逻辑文件、.WXML页面描述文件、.WXSS样式表文件、.JSON配置文件构成。
2.4.3小程序API
API就是开放的一些应用程序编程接口。
现在很多网站为了拥有更多的访问量以及用户,都会将自己的资源开放给开发者调用。
微信研发团队也不例外,供给了开发者大量丰富的原生API。
简单来说就是微信开发者封装了很多接口函数,开发者能够很方便的去调用这些函数并且开发者并不需要去关心这些代码具体是怎么实现的。
例如获取用户基本信息、数据存储以及转发分享等功能。
这极大的减少了我们开发者的时间与精力。
2.5本章小结
本章主要介绍了开发此订餐小程序之前所涉及到的技术以及工具,从而希望读者能通过文字更加深入了解到这些技术和工具的来源、拥有哪些主要功能,为接下来的开发做好充足的准备
第三章需求分析与设计
3.1需求分析
3.1.1外卖市场需求分析
餐饮行业作为中国服务性第三支柱产业,它在人们的生活中一直扮演着无可替代的角色。
改革开放以来,我国的经济发展突飞猛进以及百姓的人均GDP有显著的提高,所以餐饮行业的发展得以呈现出朝气蓬勃的发展趋势。
但是在这激烈的餐饮行业竞争内我们必须要有新鲜血液的注入,需要有一种模式来带领餐饮行业的持续发展,并且满足消费者日益变化的需求,是餐饮业面临的紧迫问题。
国家经济的快速发展给餐饮行业带来了无限潜力,人们外出就餐的可能性大大地提高,消费者自己做饭的机会越来越少,选择外出就餐的人也越来越多。
但是随着互联网的发展和智能手机的出现,消费者不仅可以通过手机订餐就能吃到自己想要的食物,而且不用以到店点餐的方式去花太多的时间和精力。
在餐饮业中外卖已经普遍得到消费者们的认可,因此越来越多的餐饮企业和小企业除了吸引到店消费的顾客以外,还将推出送货服务,作为消费者更方便的辅助营销手段[14]。
从以前的到店点餐可以附带一些小卡片,到至今的互联网订购平台,外卖行业势如破竹,外卖正以意想不到的速度逐渐渗透到我们生活中的方方面面。
据统计,有60%以上的外卖营收占据着大部分餐馆的日常主营业务中。
甚至有的商家干脆取消到店点餐的服务,在家里或工厂里做饭,专门从事配送服务,这样不仅节省了成本,而且扩大了市场。
致使这个行业逐渐发展成为今天的O2O平台。
2020年毫无疑问是一个不平凡的年,一场疫情打破了我们正常生活的节奏。
在此国家号召人们,少外出,少聚餐,也同时号召人们尽量不要在餐饮店就餐,可以实行打包带走或者点外卖的方式来避免人流量过多的频繁交流。
众志成城,抗击疫情,是我们每一个人的职责所在,不外出就是对国家作出最大了最大的贡献。
在此情况下,不出门买菜以及不想自己动手做饭的人,外卖订餐便是作为消费者们一个不二的选择。
基于生活消费的本质,在线外卖服务已经与生活相关服务相结合。
一方面拓展服务入口,另一方面与生活消费服务相结合,构建生活服务生态系统。
从经济方面来讲,拉动了餐饮消费的提高;
从人民群众方面来讲,一是让商家能与消费者有更好的交流,二是更方便消费者节省不必要花费的时间和经精力,尤其是对上班族。
3.1.2小程序市场需求分析
2017年1月9日前,APP曾主宰着手机程序市场,但在此之后,小程序问世,因登录之后不用安装,所以App被压制,相反小程序成为了手机程序界的新领头羊。
微信小程序自出现以来就在社会各个行业碰撞出火花,小程序登录在逐渐的成长和完善,就为了给大家提供更轻松自在的服务。
虽然它们很小,但对大众媒体,特别是应用程序,影响深远。
在全国人大第十二次会议上,李克强总理在政府工作报告首次提出了“互联网+”行动计划,即互联网将与社会各部门相结合的经济发展的新方向,来带动国民经济的发展[15]。
此后,大部分餐饮店以“互联网+外卖”为盈利目标,手机里也因此出现很多外卖App,例如美团、饿了么、XX糯米等在移动互联网市场上极速发展。
但由于创业者、开发者甚至是用户都将局限于“以应用为中心”的思想,所以App面临遭遇瓶颈期。
就在此时微信拥有庞大的流量群,并且微信小程序相对于移动APP更加方便快捷,无需下载,更加符合现今社会追求“轻服务”的理念。
小程序的使用日益丰富,甚至成为消费者们必备的软件,在互联网发展势头强劲的背景下,凭借“社交化”和“去中心化”方面的创新优势,外卖小程序将会对传统App引发新一轮竞争博弈[16],他的发展必将为这类应用的停滞不前的发展注入新的活力。
3.1.3系统功能需求
外卖系统需要有一个合理的后端处理对策,一是为了能给商家带来用户管理、财务管理和菜品的正常录入,库存的及时更新,以及把评论区展现给用户,给消费者带来更好的体验感。
二是防止用户账号密码以及地址信息泄露,造成不必要的麻烦。
“外卖管理系统”后端主要功能有“账号管理”、“美餐管理”、“会员管理”以及“财务管理”。
小程序前端主要功能有“个人信息管理功能”、“添加购物车”、“分享和评论功能”。
本微信小程序订餐系统包含一下几个功能模块需求
服务器端:
1、用户模块
1)管理员注册、登录、退出登录。
2)管理员间可以互相查看访问记录、编辑信息以及增删账号操作。
2、美食模块
1)美食的添加删除、分类查找。
2)美食的信息编辑以及库存更新。
3、会员模块
1)用户信息查看。
2)用户订单和评论查看。
4、财务模块
1)订单列表查看。
2)财务流水统计。
小程序前端:
1、首页
1)菜品展示以及搜索功能。
2)分享和添加购物车功能。
2、购物车
1)用户购物车菜品的增删操作。
2)用户结算功能。
3、我的信息
1)我的订单查看。
2)地址管理。
3)评价查看。
3.2系统总体设计
3.2.1系统开发结构设计
MVC模式是一种软件架构模式,也是一种分层架构模式,一般把软件模式分为三部分,模型(Model)+视图(View)+控制器(Controller)。
1、视图层(View)是最外面的一层,视图呈现给用户,代表着用户交互页面。
它可以将用户的请求传递到后端,也就是控制器层(Controller),同时也可以获得模型层(Model)传递过来的参数,并实时更新页面,当然也包括一些DOM事件或者AJAX请求操作(发布事件),都是放在视图层来完成。
2、模型层(Model)是最里面的一层,它封装着数据并且用于和数据库交互。
模型层可以直接访问数据。
模型层并不依靠“视图层”和“控制器层”,所以说模型层是和它们“分离”的,页面的展示和操作完全与它无关。
3、控制器(Controller)是中间的一层,它负责处理视图层发送过来的请求,然后根据需要去调用数据层Model中的方法来获取数据并且传递给视图层。
MVC三层各司其职,简单来说,当有一层作出改变时,另外两层都是接连变化的,是相辅相成的,但又互不干扰。
所以维护性极高,当我们修改数据的时候或许只需要修改某一层就足够了,为开发者维护和调试代码节省了很多时间。
而在本订餐系统中,View层则是前端,前端用的是PythonFlask中的jinja2模板引擎。
Model层则是一个个对应数据表字段的实体类,以及一些property装饰器。
Controller层则是用Flask中的路由注册,注册路由的过程就是建立URL和Python视图函数或函数映射的过程并且建立一一对应的映射关系,并且这些路由函数是可以设置映射地址的,客户端可以通过地址去访问每一个Controller类。
3.2.2系统架构设计
本微信小程序订餐系统的体系结构是由客户端(前端)和服务端(后端)构成的,客户端是为使用本订餐系统的用户提供的。
本订餐系统的全部功能几都是由客户端、服务端和数据库交互的结果。
本微信小程序订餐系统的总体架构如下图3-1。
图3-1总体架构图
3.2.3系统功能架构
根据3.1.3系统的功能需求分析,作出微信小程序订餐系统功能模块如下图3-2所示:
图3-2"
微信小程序订餐系统"
功能
3.3本章小结
本章主要介绍了订餐小程序系统的总体设计,通过本章希望能让读者了解到订餐小程序系统是如何设计的、拥有哪些主要功能,以及页面所对应的功能与逻辑,从而让读者能通过文字,初步了解订餐小程序系统是如何使用以及使用逻辑。
第四章系统运行所需环境及数据库设计
4.1系统环境配置
Python环境的安装及其配置
在进行Python应用开发之前需要安装Python环境,Python目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 微信小 程序 Flask 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)