基于微信公众平台的食堂订餐系统研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8 期 2 0 1 7 年4 月
无 线 互 联 科 技
Wi r el e s s I n t e r r l e t T e C h no 1 o
No. 8
wk.baidu.com
基于微信公众平台的食 堂订餐系统研究
姬 翔
( 国家新 闻 出版 广 电总局 二 九 三 台, 河 南 郑 州 4 5 1 1 6 2 )
量、 稳定 等 优 点。 3 系统 设 计 3 . 1 基于微 信 公众 平 台的交互 式 A P P 开发 原 理 以本订餐系统的架构为例, 公众平台服务器在整个系统
中起到连 接用户终端 与订餐系统服务器 的媒介作用。 用户 发起的订餐请求会首先发往微信公众平台服务器, 服务器对
1 订餐 问题概述 随着生活工作节奏的加快 , 单位食堂逐渐成 为职工工作 餐 的主要解 决途径 。 但由于存在职 工请假休 息等情况 , 食堂 就餐人员不易固定, 为避免浪费、 厉行节约, 多数单位普遍采 取提前订餐制度, 通过在食堂设置订餐牌来解决订餐问题。 但在实际操作过程 中发现 , 该种 订餐形式必须由职工亲自去 食堂更 改订餐信息 , 不仅浪费职工大量时间, 也不利于厨师 对 用 餐人 数 进 行 统计 , 为 有 效 解 决 这一 问题 , 本 文作 者 开发 了基 于微 信 公众 平 台 的食堂 订餐 系 统 。 2 设计 思 路 目前食堂订餐存在几个不方便 因素, 首先 , 订餐牌一般 设立于食 堂内, 职工在更 改订餐需求时 需要奔赴 食堂才能 操作 , 很是不便 , 若是 因出差 等原因不在单位 内则 更为麻 烦; 其次, 厨师在控制饭量 多少时需要知道用餐总人数, 而 订餐牌只能提供用餐人员列表 , 还需人工进行统计总数; 再 次, 由于厨师加工餐食一般需要一个半小时, 所 以订餐操作 般应该在饭前~个半小时之前进行, 但 由于订餐牌不具备 限时订餐功能 , 若订餐操作过 晚就可 能造 成餐食不够或过
一
剩。
理想的订餐工具应该 是可 以2 4 d , 时 随身携 带, 所 以手 机是一个 理想 的操作平 台, 编 写一款 具有远 程通信功能 的 手机AP P 便 可满足需求, 但手机AP P 具有几个致命缺点, 一 是兼容性 差, 目前手机操作系统类型及版本多种多样, 一款 AP P 要实现 跨平台得进行多次移植, 工作量极大; 二是食堂 订餐 操作需要进行传输及处理 的内容极为简单, 仅仅是用户 姓名和订餐 内容, 若 专门编写AP P 来完成此类操作属于 “ 杀 鸡用牛刀” , 不仅费时费力而且AP P 也显得过于臃肿。 通过对 多种技术方案进行 比较 , 发现基于微信公众平台 的交互式AP P 最适合此类业务。 该AP P 基于微信聊天界面, 通过手机微信就能发送订餐消息, 订餐系统后台服务器接收 到订餐消息时便 可修改用户订餐状态。 基于微信公众平台的 交互式AP P 除满足订餐的基本功能外还 具有跨 平 台以及轻
摘 要 : 目 前大多数单位 在实施订餐 制度时还 采 用订餐牌 等老方法, 由于无法远 程订餐 , 使得订餐 效率极低。为解决该问 题, 文章通过提 出解决思路 , 选取合 理的技 术方案, 编写符合 需求的软件逻 辑, 一步步实现 了 基于微信公众平 台的食 堂订 餐 系统。 关键词 : 微信公众平 台开发 ; 远程订餐 ; P HP ; MYS Q L
文本进行XML 格式封 装后发往开发者部署的订餐系统服务
器。 服务器对信息进行处理后回复XML 格式 的结果信息给 微信公众平台服务器 , 平台对XML 格式内容进行核验和解析 后回复文本信息给用户终端 , 从而达 到智能交互的目的。 需 要注意的是开发者 回复的XML 参数信息必须符合公众平 台 要求的格式, 否则公众平台将忽略掉该条消息, 导致用户无 法 收 到 回复信 息 。 微信公众平台与开发者的服务器在通信前, 开发者需在 公众平台后台管理页面配置接 口信息, 配置内容包括填写开 发者服务器地址 ( U RL ) , T o k e n  ̄ l E n c o d i n g A E S Ke y , 其中 UR L 是开发者用来接 收微信消息和事件的接 口uR L , 本例 中即为订餐系统服务脚本地址。 T o k e n 可 由开发者可 以任意 填 写, 用作生成签名, 验证通信安全性 , 防止第三方请求恶 意访 问。 E n c o d i n g A E S K e y  ̄开发者手动填写或随机 生成 , 用作对消息体进行加解密的密钥, 防止信息在传输环节被窃 取。 整 个交互的主要逻辑运行在开发者服务器上, 所以整个 订餐系统的逻辑部分 开发主要针对开发者服务器部分, 本文 也将主要介绍该部分 的设计与实现 。 3 . 2订餐服务脚本 的设计架构 订餐服务 器上运行有P HP 脚本 以及MYS Q L 数据库 , P HP 脚本负 责与 公众 平 台的通信 以及 具体 的业务逻 辑 , MYS Q L 数据库负责用户订餐数据 的存储。 所有订餐服务脚 本f 以下简称为脚本) 均 由P HP 语言编写。 脚本主要分为几个 功能部分, 具体是: XML 格式消息处理部分, 信息处理部分, 业务处理部分, 以及数据库部分。 下面将详细介绍各部分 的 具体 功能与实现。 3 . 2 . 1 X M L 格式消息处理 XML 格式 消息的处理主要 分为XML 格式 的解 析与组 装, 由于平台发送来的消息为XML 格式, 不能像数组类 型的 数据格式那样直接根据Ke y 访 问v a l u e , 所 以需要通过P H P 的 自带函数x ml p a r s e i n t o s t r u c t O 将数据转为数据格式 。 同 时, 在脚 本处理完数据返 回平 台时也需要将数组 数据组装 为xML 格式, 这里通 过Xml C o n s t r u c t 0 函数实现。 3 . 2 . 2信 息处理 部 分 XML 格式解析后用户的消息将会转为数组传 递给信息 处 理 部分 , 用 户在 微信 客户 端 操作 订餐 系 统通 过 发 送 文本 信 息实现, 所 以订餐系统需要通 过用户发送的文本 内容判断用 户的目的。 由于每个用户个人习惯不尽相同, 不同用户表达 同 意思发送的文本具有差异性, 但机器本身无法理解人类语 言, 所以需要约定不同文本内容所表示的操作请求。 用户在