包车预约App - 用小白接口快速开发App

包车预约App

假设现在需要开发一个用于包车预约的App,提供给某些小区的居民进行免登录预约订座。本文将说明如何结合使用小白接口进行快速搭建。

知识点

知识点|说明
---|---
使用的数据|元数据、计数器、集合数据
涉及的接口|应用计数器 - 获取计数器应用计数器 - 设定计数器应用计数器 - 更新计数器应用集合数据 - 添加元素应该元数据 - 获取元数据应用集合数据 - 获取集合列表

需求原型



温馨提示:以上数据,纯属虚构。
主要界面及功能说明如下:

  • 包车预约首页:选择路线后和出发日期后,显示当天的包车时刻表。
  • 订座页面:进入订座页面后,可输入手机号和姓名,便可完成订座操作。
  • 订座成功页:订座成功后,提示相关信息。

下面将分别进行说明,讲解。

包车预约首页

首先,先来简单分析下前面的数据。总共有三块数据,分别是:

包车路线(应用元数据)

对于包车路线,在这里是一个下拉框,可以选择出发地点与目的地。由于较为简单,这里使用元数据来直接存放。并且由于是全局的,并需要支持游客访问,因此需要使用应用元数据。

登录小白管理后台,添加以下应用元数据。



即所添加的元数据是:

{
"list": [
{
"line_name": "天河 到 增城",
"line_set_key": "tianhe_to_zhenceng",
"status": 1
},
{
"line_name": "增城 到 天河",
"line_set_key": "zhenceng_to_tainhe",
"status": 1
}
]
}

在这里,配置了两条路径,分别是:“天河 到 增城”和“增城 到 天河”,line_set_key表示下面时刻表的集合名称,status表示状态,1为有效,0为暂停运营。后续需要增加路线或者调整路线时,可在这通过后台进行修改。

成功创建后,可以看到:



出发日期(App日期控件)

出发日期不需要小白接口来存放数据,直接使用App本地的日期控件即可,日期只需要精确到天。

时刻表(应用集合数据+应用天计数器)

下面,重点说一下如果组装时刻表的数据。

首先,依然使用管理后台将班次的信息进行录入到应用集合数据。例如,对于需求原形图的第一条数据,可以这样录入:



所所添加的集合元素数据是:
{
"time": "09:00",
"type": "豪华大巴",
"price": "18",
"max_num": "55",
"car_no": "粤A 8888"
}


其中,time为发车时间;type为车型;price为票价;max_num为最大核定载客数;car_no为车牌号。值得注意的是,为了方便进行排序显示,这里我们使用了发车的整点时间作为权重,以便可以在客户端顺序显示。例如,09:00发车的权重为9,12:00发车的权重为12。

其他班次可类似依次进行录入添加,最终添加完毕后,后台效果如下:



至此,大部分的数据都是可以在小白管理后台进行录入配置的。客户端需要做的事情很少。只需要调用应用集合数据 - 获取集合列表接口获取上面的数据即可。如,获取某条线路下的时刻表,可调用接口:

http://api.okayapi.com/?s=App.Main_Set.GetList&key=tianhe_to_zhenceng&sort=3&app_key=16BD4337FB1D355902E0502AFCBFD4DF&sign=ABF7D4CBDFD0A57E823A9760D22637FA
成功情况下,会返回:

```
{
"ret": "200",
"data": {
"err_code": "0",
"err_msg": "",
"items": {
"0": {
"id": "2",
"key": "tianhe_to_zhenceng",
"data": {
"time": "09:00",
"type": "豪华大巴",
"price": "18",
"max_num": "55",
"car_no": "粤A 8888"
},
"keyword": "",
"weight": "9",
"add_time": "2017-10-14 23:45:16",
"update_time": ""
},

... ...

```
温馨提示:您也可以在浏览器直接访问此小白接口查看此数据。
接下来,重点说明如何获取动态的剩余票数。

很明显,剩余票数是每天都会重置的,因此很适合使用计数器来统计。客户端在获取到时刻表后,需要进行两步。

  • 第一步:获取每个班次的天计数器,以便获得剩余票数。
  • 第二步:若天计数器未存在,则进行设定初始化。

对于第一步,可调用应用计数器 - 获取计数器接口。为了区分不同的班次,剩余票数的计数器名称为:tianhe_to_zhenceng + 下载线 + 集合元素id。例如,第一班次的天计数器为:tianhe_to_zhenceng_2。则待请求的接口链接为:

http://api.okayapi.com/?s=App.Main_Counter.Get&name=tianhe_to_zhenceng_2&type=day

如果看到返回的是:
{
"ret": "200",
"data": {
"err_code": "1",
"err_msg": "计数器不存在",
"value": "0"
},
"msg": ""
}


则再进行第二步,调用应用计数器 - 设定计数器,根据最大核定载客数设置最多可购买的票数。即待请求的接口链接为:
http://api.okayapi.com/?s=App.Main_Counter.Setup&name=tianhe_to_zhenceng_2&type=day&min=0&max=55

再次重新请求“获取计数器”接口,便可得到已经预定的票数。将计数器的最大值减去当前的值,即可得到剩余票数。

温馨提示:剩余票数 = 计数器的最大值 - 计数器当前值
若剩余票数为0,则表示已售罄。如果还有剩余票数,则可以进入订座页面 ——

订座页面

订座页面需要再次显示用户所选择的班次、包车路线和出发日期,以便乘客进行核对确认。确认无误后,需要乘客输入姓名和手机号,以便联系。当用户点击“确认无误,马上订座”按钮后,需要调用两个接口,分别是:


对于更新剩余票数,请求的接口链接为:
http://api.okayapi.com/?s=App.Main_Counter.Update&name=tianhe_to_zhenceng_2&type=day
成功请求后,会返回类似 :
{
"ret": "200",
"data": {
"err_code": "0",
"err_msg": "",
"before_value": "0",
"after_value": "1",
"add_value": "1",
"value": "1"
},
"msg": ""
}


对于预约乘客的联系信息,集合的名称可以是:tianhe_to_zhenceng + 下划线 + 班次元素ID + 下划线 + 出发日期。集合元素的添加,这里不再赘述。

订座成功后,还可以在管理后台,快速查看每天计数器的纪录,以及对应的可视化图表。效果类似:



订座成功页

最后,是我们的订座成功页。这里大部分是App的交互,基本上不需要再与小白接口服务端进行通信。其中,座位号,客户可根据一定的规则生成。

彩蛋:如果获取顶部的广告图

留心的读者会发现,在App的顶部有一张很大的广告图,并且底部还有客服电话。对于这些全局的信息,我们也可以使用应用元数据进行轻松配置。例如,在小白管理后台录入添加:



然后,就可以在App客户端进行获取了!

为方便管理数据,还可以在小白后台添加快捷菜单哦。



小结

可以发现,结合小白接口,即使在缺少后端开发人员支持的情况下,客户端开发同学也可以快速搭建自己的App。是不是觉得很有趣?赶紧来试下吧~
如果还没开通,可点击这里免费开通
2017-12-07 23:47 添加评论 分享
已邀请:

要回复问题请先登录注册

退出全屏模式 全屏模式 回复