基于智能定位的微信小程序点餐系统的设计与实现.doc
《基于智能定位的微信小程序点餐系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于智能定位的微信小程序点餐系统的设计与实现.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要随着5G网络的发展,当前移动互联网已经渗透到人们生活的方方面面。为了解决人民群总在高峰时期用餐的不便,设计了基于智能定位的微信小程序点餐系统。在微信开发者工具环境下进行了一系列的开发过程。完成了系统整体架构以及各功能模块的设计与实现,并对此进行了功能测试。结果表明该系统能够解决人们等待用餐浪费时间的问题,具备根据自身位置智能推送附近的餐馆,并且用最便捷,最简单易用的方式,满足用户最核心的需求。关键词:智能定位;微信小程序;点餐系统 AbstractWith the development of 5G networks, the current mobile Internet has pe
2、netrated into all aspects of peoples lives. In order to solve the inconvenience of peoples meals during peak hours, a WeChat mini-program ordering system based on intelligent positioning was designed. A series of development processes were carried out under the WeChat developer tool environment. Com
3、pleted the systems overall architecture and the design and implementation of each functional module, and conducted functional tests on this. The results show that the system can solve the problem of people wasting time waiting for meals, has the ability to intelligently push nearby restaurants accor
4、ding to their location, and meets the core needs of users in the most convenient and simple way.Key words: Smart Positioning;WeChat Mini Program;Ordering System目 录第一章 绪论11.1 系统开发背景目的及意义11.2 论文主要研究内容3第二章 系统相关技术介绍32.1 开发语言32.2 系统整体架构3第三章 系统功能介绍53.1 需求分析53.2 系统操作流程53.3 系统特色5第四章 系统各功能模块设计104.1 功能模块设计104
5、.2 数据库设计13第五章 系统功能实现215.1 手机号绑定模块详细实现215.2 定位模块详细实现215.3 商家页面模块详细实现21第六章 系统功能测试23第七章 总结与展望237.1总结237.2 展望24参 考 文 献25致 谢27广东东软学院本科生毕业设计(论文)第一章 绪论1.1 系统开发背景目的及意义随着现代全球互联网信息化与通信技术的日益发展,手机成为了现代人们生活中最必不可少的工具之一,而微信的出现又再次冲击了人们传统使用手机打电话发短信的使用方式Error! Reference source not found.。目前,微信小程序越来越走进人们的生活当中,小程序以它的轻量
6、化免下载的独特优势俘获了大批用户,用麻雀虽小但却五脏俱全来形容它最为合适不过,它有自己独特的特性,它不同于其他的应用需要到特定的软件中心或者官网首页去下载安装应用,而它是依附于微信这个主体下面的属于微信下面的附属功能,但是如果单拎出来看它又是一个格局很大的软件应用中心,任何用户大到企业小到个人商户都可以开发属于自己的专属的小程序应用,它可以是任何类型的软件满足不同行业的个性化定制,并且用户粘性非常高,而且小程序本身的种类也是涉及多种多样全方面各行业,应用极广具有很大发展潜力Error! Reference source not found.。根据腾讯公布2019年第四季度及全年财报显示,微信及
7、WeChat的合并月活跃用户数达11.65亿,同比增长6.1%,而QQ用户则同比下降7.5%,同时小程序的日均交易笔数同比增长超过一倍,交易总额超过8000亿元Error! Reference source not found.。由此可见微信用户基数的庞大,QQ作为腾讯旗下最重要的产品其市场也逐渐的被自己的新起之秀微信所吞并市场,正因有着如此庞大的用户群体微信小程序的前景与发展空间更是无可限量,从其巨额的交易总额我们就可以看出。小程序发布至今,可以说在我们国内小程序已经渗透到了我们生活中的方方面面,大到企业,小到个体商户都去选择开发一款属于自己的小程序来抢占市场,小程序的种类也是千变万化,越来
8、越多的传统app也都开发了自己的小程序版本,有的人可能会想他们不是原本已经有自己的传统的手机应用了吗为什么还要再去费劲在微信里面开发小程序版本呢Error! Reference source not found.。这里我总结出了三点开发小程序的目的与意义。(1)商家企业看中了微信的用户量,根据微信官方公布的数据显示2018年微信活跃用户规模达8.29亿,占整体网民比例达到95%,2019年用户量持续增长到了11.5亿月活跃账户数,这是一个很庞大的数字微信对于我们来说可以算是一个国民级别的应用,而这些对商家来说都是源源不断的机会,因此谁也不会放弃这么一块大的肥猪肉;(2)微信小程序自身的优点无需
9、下载点开即用,商家除了看中微信庞大的客户量以外,更重要的是看中微信小程序自己本身的前景,微信小程序给普通用户最直观的感受就是轻便,免安装,简洁,小程序的小是核心,不同于以往传统手机app应用,需要先到手机应用中心搜索出自己想要的app然后下载再安装,整个过程来说繁琐且复杂对于有些老年人并不友好,而小程序则不一样,只需要在微信界面下拉就可以看见顶部又一最近使用的小程序常驻在顶部,点击更多进入类似于手机应用商城的小程序列表,里面可以直接搜索你想要的小程序或者显示附近的小程序和我的小程序,小程序也分为两种一种就是传统厂商app的小程序版第二种就是个体小企业商家自行开发的小程序,传统app移植的都有个
10、特点就是功能很全面几乎和普通的app功能一致体验起来是一样的,第二种就是小企业小商家自行开发的功能针对性较强,这种更加体现出了小程序的“微,小,轻”的特点5。(3)商业策略,有巨大的用户作为支持,社交利器,对于传播更加有利,轻便免安装几乎不占没存可以快速开关,便于场景的连接,实现了线下线上相结合的经营模式,客人既可以在线下门店扫码点餐购物也可以线上购物订餐,这将扩大客人消费场景通过微信小程序码为入口,线下扫码,微信搜索,公众号推送,好友推荐,历史记录和附近门店等各种渠道进入小程序。1.2 论文主要研究内容目前微信小程序越来越走进人们的生活当中,小程序以它的轻量化免下载的独特优势俘获了大批用户,
11、并且用户粘性非常高,而且小程序本身的种类也是涉及多种多样全方面各行业,微信小程序的用户定位用户群体涉及普罗大众,应用极广具有很大发展潜力Error! Reference source not found.。因为本次项目准备开发的是校园外卖点单小程序因为这此开发的需求几乎就很明确了,根据KANO模型定义了三个层次的顾客需求基本需求,期望需求和兴奋需求。第一点基本需求对于本次项目来说很明确就是需要点餐,第二期望需求,简单来说就是用户与产品的的互动,如果想要实现这块需要做大批问卷调查,调查用户对于这块软件需要的期望功能,再加以实现。此次选择了基于智能定位的微信小程序点餐系统就是因为近年来移动互联网的
12、兴盛以及看中了微信独一无二的优点庞大的用户量;丰富的组件和API;应用场景丰富;增加获取用户的渠道同一主体的小程序的公众号可以相互关联,相互跳转;更短的开发周期,开发成本也仅为APP的三分之一;免费引流,微信小程序还会自动显示五公里内的所有场景小程序,方便被周围的用户找到并使用,可以大大增加商家的曝光度,免费获取用户。形成双赢局面同时获得商家和用户的青睐Error! Reference source not found.。本次课题目的在于对微信小程序开发实战,对于之前有web前端开发经验来说,小程序的开发相比于web网页开发既有相似之处也有不同的地方,与传统web不同,小程序框架提供了自己的视
13、图层描述语言,并在视图层与逻辑层之间提供了数据传输和事件系统。在传统web里面结构目录为HTML微信小程序则为WXML,样式CSS则改为WXSS,;逻辑则都为Javascript,传统web没有配置目录而微信小程序则多出一项为json文件,由此可以看出传统web是三层结构,而本次开发的小程序为四层结构,多出一层配置json。在所用的语言方面微信小程序有着自己的一套标准,但是其内核还是我们经常所使用的前端的三大件HTML,CSS和JavaScript差不多,万变不离其宗。首先我们看HTML与WXML的差异,可以说HTML更偏向于电脑网页的布局更加适用于文章的展示,而WXML更倾向于Android
14、开发,WXML与Android开发界面中的XML描述文件更加相像,偏向于程序界面的构建。而WXSS与CSS的话两者几乎就是没有区别两者可以直接混用。在JS文件上面微信小程序有它专门独特的小程序API接口具体详情在微信小程序官方文档里面都有列出来,其余的在开发的时候使用几乎没有太大的区别。这么看起来开发微信小程序好像跟开发web网页通用大部分知识,实则并非如此,微信小程序的开发更加的要求程序员具备要开发出一完整应用的意识,而不是跟开web网页那样只需要照顾到网页页面的结构构建。后端方面将会使用Java编写后端api,主要使用了SpringBoot框架开发工具用到eclipse,使用SpringB
15、ooot的优点就是不再需要开发者去定义样板化的配置,它并不是什么新的框架而是它默认配置了很多框架的使用方式同时整合了所有的框架在里面。用到这个无非就是因为它方便简单好用,可以让我们不用担心框架之间的兼容性问题,适用版本等各种突发状况,只要想使用任何东西,只要添加一个配置就可以实现,因此非常适合用来构建微服务。数据库的话采用的就是MYSQL作为后台数据库。而本论文的重点就是智能定位,经过查阅微信小程序官方文档发现,API的返回值又经度和纬度所以我们就需要用到的就是wx.getLocation()这可以使我们获得经纬度逆地址解析出地址的信息,也就是我们还需要通过经纬度找到为相对应的地图然后才能转化
16、出所在地的地名Error! Reference source not found.。这里我们还需要去到腾讯地图开放平台注册,注册完以后进入WebServiceAPI就可以看到逆地址解析,接着就可以直接使用腾讯给我们开放的接口直接用GET请求获取地址的详细信息。第二章 系统相关技术介绍2.1 开发语言本次项目开发的是微信小程序,因此需要用到的技术有前端三大件,也就是HTML语言,CSS,JavaScript,而在我们微信小程序里面WXML就是小程序的HTML语言,它是仅用于微信小程序开发工具里面的用来构建出页面结构用的。而WXSS对应的则是CSS层叠样式表,它是用来描述WXML组件样式,决定组件
17、如何显示的。JavaScript则是动态脚本语言,可以用来对页面特定元素进行操作实现一定得功能与效果,并且由于node.js的开发也可以用于后台服务器端。还需要用到的是服务器语言做后台的开发,以及数据库语言用到的数据库是MySQL。除此之外还需要掌握小程序基础组件的使用已经各种各样的特色API接口,小程序开发框架提供了非常丰富的原生API可以供开发者获取用的信息,支付,获取地址这些都需要掌握。2.2 系统整体架构本系统的运行架构运行如下,首先微信小程序因为其不同于其他语言不能直接连接操作你后台的数据库,它是必须要有服务端才行,也就是我们只能用微信的wx.request对http发起网络请求访问
18、,我们需要安装php编写MYSQL数据库,购买腾讯云的服务器,如果是我们以学习为目的的话就不用去备案域名,可以直接在微信小程序开发者工具勾选中不检验合法域名,web-view(业务域名),TLS版本以及HTTPS证书这一选项即可。在这里我们这里先说明一下小程序自身的框架,这将会对对我们理解本系统的架构有所帮助,这个框架是微信小程序官方团队提供的MINA框架,MINA框架分为两部分一是View视图层二是App Service逻辑层,view视图层可以不单单是唯一的它也可以是多个的,而App Service逻辑层只能有一个,逻辑层是用来处理逻辑,接口的调用以及数据请求,视图层跟逻辑层分别在两个线程
19、里运行。View视图层用的是WebView渲染,而App Service逻辑层用的是JSCore跑的。View视图层和App Service逻辑层之间的关系就是通过系统层的JSBridage进行通信,App Service逻辑层把数据传给View视图层,当用户点击视图层做出变动时,View视图层再把触发的变化传送给App Service逻辑层进行消化处理。框架的核心就是有一个响应式的数据绑定系统,意思就是当开发者在App Service逻辑层做出变化时View视图层就会做出相应的变化与逻辑层保持一致Error! Reference source not found.。图2-1 框架图第三章 系
20、统功能介绍3.1 需求分析首先在我们要介绍系统功能之前我们要先做一个用户的需求分析,我个人对于需求分析的理解就是在我们开发者去开发一个应用必须得是要去给到用户真实去长期使用的一个应用,这就需要我们去摸清楚用户的想法,要去了解用户想要的是什么,让开发者自己代入到用户的身份去思考摸索揭露用户的真实需求而不是单单就开发出能用级别的应用而是要考虑去做到好用易用,这里我们再结合微信小程序自身的特点就是虽然它麻雀虽小但是其五脏俱全,它可以是任何类型的,它是小型的,轻便的,但是又是功能齐全的一个存在。在功能实用性上我们需要考虑它能去帮我们实现一个怎么样的功能,提供一个怎么样的服务,就必须得好用还得考虑功能可
21、行性的问题,在保留必要的功能的前提下去除传统app上所冗余的不必要的功能,其次就是另外一点非刚需就是在实现必要的功能以后要去做一个怎么样的简洁美观的界面,这是给用户的第一感觉这与功能性需求同样重要而且其工作量以及实现的难度也不比它小。这里我们必须要明白开发智能定位点餐小程序的目的,制作线上餐饮店就是为了商家可以更加自由个性化的扩宽自己的业务,可以获得更大的客流量,同样在服务商家的同时也使用户用餐变得更加便利,扫码点单,定时送外卖,定位周边有什么店,门店买单,在众多店家中收藏自己喜爱的,以便下次可以快速点单等等。经过对系统的需求分析需要实现的就是系统界面简洁易用,操作简单,完全采用空间式的格局,
22、让菜单,讯息等数据的录入工作更简洁。微信小程序的架构与其他语言的略有不同,它不可以直接操作数据库,后台只能发送request请求,将请求与本地服务器的JavaScript脚本进行交换,再经过JavaScript脚本来操作数据库,pc端再将数据返回显示在页面上。3.2 系统操作流程首先小程序通过tabbar分为三大主页,首页,订单,我的。用户进入小程序以后就是通过腾讯地图api接口获取用户的定位,然后会推送附近的商家给用户,用户点击进入商家后会顶部显示出商家的店铺名称详细的店铺资料,店铺的评分月销的数量以及配送所需要的时间还有店家发布的公告,再往下走中部就是分为三个部分菜品界面包括菜品的介绍,价
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 智能 定位 微信小 程序 系统 设计 实现
限制150内