APP下载

基于微信小程序的二维码点餐系统设计研究

2019-09-10范国婷任乐琦周灵辉

赤峰学院学报·自然科学版 2019年12期
关键词:微信小程序二维码

范国婷 任乐琦 周灵辉

摘 要:随着人们对服务便利性的要求越来越高,微信小程序发展的火爆,以软件工程为指导,采用微信小程序的MINA框架,设计了基于微信小程序的二维码点餐系统.对系统从买家和卖家两方面进行了功能分析,实现了二维码点餐、商家菜品管理和订单管理等功能.该系统由于是基于微信小程序开发的,大大释放了人们手机的内存,提高了餐馆点餐的效率,便利了人们的生活.

关键词:微信小程序;二维码;点餐系统

中图分类号:TP391.4  文献标识码:A  文章编号:1673-260X(2019)12-0059-04

0 引言

微信小程序发布至今,越来越多的应用都开发了各自微信小程序版本.这不仅由于微信的客户群众多,还因为微信小程序本身“微、小、轻”,不需要下载安装APP即可使用,这种便捷很大程度上赢得了用户的青睐.此外,微信小程序的MINA框架能大大提高程序开发效率,使得开发者集中精力去进行程序的功能实现,能在短时间内就开发出功能完善的程序.随着互联网应用的普及,人们越来越习慣信息化操作的便利服务,而传统的人工点餐不仅降低了人们的就餐体验,还容易出错.点餐系统在节约人力资源的同时,还能大大降低点餐的错误率.而利用微信小程序实现的二维码点餐系统,相对于传统的点餐,更加便利和安全,能给用户更优质的就餐体验.本文以软件工程理论为指导,利用MINA框架,结合JavaScript,实现了一个基于二维码技术的点餐系统.

1 相关技术

文中用到的一些技术介绍如下.

1.2 二维码技术

二维码是由二维平面上的许多明暗相间的矩形方阵按照特定的规律组成的几何图形.而这些数据能根据特定的编码标准解析成二进制信息便于计算机理解.APP的扫一扫功能扫描二维码,对二维码进行图像采集,再由专门的算法对二维码的内容进行解码,最后跳转进入系统界面.现今二维码主要是以行排式和矩阵式进行信息存放,本系统采用的是具有代表性的矩阵式二维码:QR码.

QR码(Quick Response Code)是由正方形模块构成的大正方形阵列,包含功能图形和编码区域,它对每个区域都有严格的定义.寻像图形、定位图形、分隔符和校正图形构成了QR码的功能图形,用来进行符号定位和特征识别.而编码区域则是用来进行数据编码.

QR码的左上角、右上角和左下角均为位置查找图形,它们构成了寻像图形,标识了QR码的具体位置.定位图形则分别位于第六行和第六列,两个寻像模块之间;帮助判断和计算模块间隔.分隔符是位于寻像图形与编码模块之间的宽度为1个单位的白色区域,便于查找QR码.校正图形是由三个正方形嵌套构成,黑色正方形外套33白色正方形,最后再套一个55的黑色正方形,它对每行二维码信息进行分割,帮助判定图像的失真程度.

1.2 MINA框架

MINA框架分为两部分:逻辑层(App Service)和视图层(View),并提供了自己的视图层描述语言WXML和WXSS以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者专注于数据与逻辑上的页面逻辑编译和前端的实现.

MINA框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步,当逻辑层的数据被修改时,视图层就会做相应的更新.

在视图层,WXML是MINA框架设计的一套标签语言,类似于HTML,它结合基础组件、事件系统,可以构建出页面的结构.

2 系统设计

2.1 系统流程设计

基于微信小程序的二维码点餐系统除了通过MINA框架使用微信客户端提供的各种基础功能,对上层提供JavaScript API外,还采用了Spring Boot框架实现微服务,建造独立的微服务功能单元,实现对不同的模块进行不同的管理操作.顾客可以扫描二维码访问菜品列表、添加菜品至购物车、查看购物车、下单、加单、查看自己的订单信息、取消订单,结账等.餐馆可以对菜品进行管理,可以给菜品分类,还可以管理订单、查询订单、取消订单等.

2.2 系统功能设计

系统中的用户角色可以分为两大类:顾客和餐馆,面向顾客的功能模块主要包括扫码选桌、选菜下单、订单支付和会员中心.面向餐馆的功能模块主要有菜品管理、订单管理、桌号管理和系统设置.二维码点餐系统功能模块结构图如图3所示.

2.2.1 菜品管理

菜品管理模块提供电子菜单功能,餐馆通过该模块对菜品进行管理.本模块主要功能包括菜品类别管理,添加菜品信息,更改菜品信息,删除菜品以及查找菜品.

(1)菜品类别管理:为方便顾客根据菜品类别选择菜品,菜品类别管理模块使得餐馆能对自家的菜品进行分类,后期配上推荐算法还可以向顾客提供个性化的菜单.在类别管理模块对菜品总的类别进行管理,可添加修改和删除某一类别.在对菜品分类时,可以对已经上架的菜品进行分类,同一菜品可以放在不同类别下,但某一类别下必须要有三种不同菜品以上才可以分为一类.

(2)添加菜品:餐馆可以向菜单列表里添加新的菜品,设置菜品基本信息,这些基本信息包括菜品名、菜品简介和菜品图片,同时设置菜品价格和口味选项,另外设置该菜品的数量.

(3)更改菜品信息:更改菜品基本信息,更换菜品图片,对菜品的价格进行调整,对菜品口味进行修改,对限量进行调整.当菜品当天售罄时,菜品可售数量边为0,菜品状态即为已售罄状态.

(4)删除菜品:对某些不再提供的菜品执行删除操作,菜品即被下架.

(5)查找菜品:对菜单列表中已经存在的菜品,可以执行查询操作,利用关键字进行查询,查找已经上架的菜品,查看其菜品相应详细信息.

2.2.2 订单管理

餐馆可以对所有的订单进行管理,包括查询订单、修改订单、删除订单.

(1)查询订单:根据关键字进行搜索,查找相关订单,点开订单后,可以看到订单的详细信息.可以根据桌号进行查询,也可以通过扫描不同桌号对应的二维码进行查询.餐馆通过查询订单可以看到订单的详细信息,包括:桌号、已点菜品、已上菜品、未上菜品、用餐人数等.

(2)修改订单:只向餐馆提供有限的修改操作,如后厨是否开始配菜,修改已上菜品.可以对桌号进行预定,当其他人再次扫描该二维码时,会提示该桌已被预订.

(3)删改订单:对已失效或无用的订单可以删除.

2.2.3 桌号管理

桌号管理模块设置成功后会根据相应信息生成每个桌台对应的二维码,包括二维码对应管理、查桌功能.

二维码对应管理可以对系统中的二维码信息进行更改、管理和设置.不同的二维码对应不同的桌号,方便服务人员上菜,节约成本,提高效率.

查桌功能可以根据录入需要的座位数,查询到系统中目前符合条件的座位号,以方便餐馆接纳客人.

2.2.4 系统设置

该模块包括后台系统账号管理餐厅基本信息设置,账号管理功能主要是注册修改账号的相关信息.基本信息设置包括餐厅的详细信息,如餐厅的名称、详细地理位置、联系方式等.

2.2.5 扫码选桌

顾客通过微信的扫一扫功能,扫描已经设置桌号的二维码即可进入对应桌号.

2.2.6 选菜下单

顾客通过该功能浏览菜品列表对菜品进行选择后下单,列表中的菜品按菜品分类进行展示,顾客可先选择类别,然后对选择对应类别列表中的菜品.选中后的菜品被加入购物车,也可将其从购物车中移出.在购物车中可以对已选菜品进行删除和数量修改操作.顾客选好菜品后,即可创建订单,系统将用户提交的订单发送到后台.

(1)创建订单:顾客在选菜操作完成后,选择用餐人数,此时可以看到总的已选菜品和桌号,还可以在备注栏里添加相关备注,然后创建订单.

(2)查询订单:顧客可以查询到自己的订单详情,可以看到自己订单的所有信息,包括用餐人数、已点菜品、已上菜品、后厨是否开始配菜等订单章台信息.

(3)取消订单:当订单状态显示后厨还未开始配菜时,顾客可以取消自己的订单.

2.2.7 订单支付

对提交后的订单可以调用微信支付接口完成订单支付工作.

2.2.8 会员中心

该模块为注册为餐馆会员的用户提供服务,包括会员基本信息业务,会员卡业务,积分业务,优惠券业务等,还集成了会员的普通订单和预约订单信息.此外,此模块后续还可以根据餐厅功能的增加而进行功能扩充.

3 数据库设计

在对二维码点餐系统的流程和功能设计基础上,对实现过程要用到的数据进行建模,画出E-R图,然后根据E-R图设计出该系统的数据库表单.

3.1 实体-联系图

数据库设计时软件开发过程中的关键,二维码点餐系统的E-R图如图5所示.

3.2 数据库表单设计

通过对系统各功能模块的分析,可以将系统数据库分为:会员表、菜品表、订单主表、订单详情表、桌号表以及餐馆信息表.为减少篇幅,这里仅对几个比较重要的表单进行简单介绍.

3.2.1 菜品表单

顾客通过查看菜品列表对菜品进行选购,餐馆可以对菜品表进行管理.

3.2.2 餐馆信息表单

3.2.3 订单详情表单

订单详情表如下表3所示:

4 系统实现

本二维码点餐系统利用微信小程序MINA框架结合JavaScript技术实现系统基本功能.基于微信小程序的点餐系统通过微信扫一扫功能扫描二维码,调用微信扫码摄像API接口,获取被扫描二维码的值,进入餐馆的菜品列表页面,进行菜品选购、下单等操作.这里对系统主要实现的功能介绍如下.

1.扫码选桌,通过扫描桌面上的二维码进入桌号进行选菜下单.图1给出了其中一个桌号对应的二维码,图2显示了扫码后进入的功能页面,可以选择点单、结账以及会员中心功能,点击后即进入相关操作页面.

2.菜品选择,图3显示了相关菜品,在该页面选择需要的菜品.

3.下单支付,图4显示了要提交的订单包含菜品,在该页面提交订单后显示具体订单信息,确认无误后点击支付.

4.会员中心,图5显示了会员中心的主要功能,注册为会员的顾客可以在此页面查看自己的相关会员信息.

5.购物车功能,该页面提供购物车相关操作,对已经选择的菜品进行数量修改或删除操作.

5 结论与展望

文中设计实现的系统界面简洁易操作,提供了基础的扫码选菜下单功能,还另外实现了会员信息管理功能.可以使微信用户方便自主地利用微信即可完成点餐操作,为用户提供了极大便利提升了顾客用餐体验.也节约了餐馆的相关成本,未来随着越来越多的餐饮企业开始与互联网接轨,扫码点餐将成为一种趋势,届时可能还会与物联网接轨,实现高度自动化点餐配菜,走向万物互联的时代.

参考文献:

〔1〕闫小坤.微信小程序开发详解[M].北京:清华大学出版社,2017.

〔2〕James Bucanek. Learn Objective-C for Java Developers. Apress. 2009(2): 140-143.

〔3〕范国婷,曹飞虎,王秀友,杨颖.基于Java Web的进销存管理系统设计[J].廊坊师范学院学报(自然科学版),2018,18(04):43-46.

〔4〕胡向颖.基于Android的餐厅点餐系统的设计与实现[D].青岛科技大学,2018.

〔5〕李南楠.基于噢易机房oss系统的高校机房系统维护研究[J].赤峰学院学报(自然科学版),2019,35(07):70-72.

猜你喜欢

微信小程序二维码
图书馆微信小程序的应用现状及前景分析
基于CNKI的微信小程序研究文献计量分析
二维码
信息技术与专业课程融合路径探索
从互联网生态看微信小程序的发展
微信小程序面面观
当图书馆遇上微信小程序
银联发布二维码支付标准
银联发布二维码支付标准
二维码,别想一扫了之