一、前言
大家好,我是一名大二的学生,很荣幸可以参与本次比赛,这也是我第三次参加AppCube(App Engine)平台相关的比赛了,第一次是懵懂地跟着文档操作,仿佛发现新世界,找到一种实现想法的低成本、低代码的方式;第二次是略微熟络,在原有赛题的基础上进行一些优化,增加一些功能点;这一次是在完成基础赛题之后,对赛题做进一步的探索,寻找更多的有价值的可优化点,并且学着把实现的过程记录成文档形式,可以说这是一个从初识、相知到相爱的过程。针对本次的赛题我也有一些自己的优化考虑以及实现形式,那么接下来就开始吧hhh。
二、赛题优化点解析
本次比赛的赛题是“啤酒供需数字化管理系统”,通过该系统可以高效实现啤酒预约、管理、配送一体化流程,该系统流程可以简单描述为:管理人员上架啤酒信息-->用户进入展示页面选择性下单-->管理人员出库处理-->物流人员接单处理-->物流人员关单处理-->用户评价订单。 也可以简单地用流程图表示:
官方给出的文档虽然有故意留下的bug,但熟悉平台的标准页面模型绑定、使用等操作就可以轻松排错,文档的内容十分详尽,把原理和实操都讲了一遍,在文档的加持下,只要有耐心做,很容易就可以完成系统的开发。但是如果仅满足于基本开发就太浪费App Engine提供的资源了,所以接下来我会基于demo去讲一些关于赛题的优化点。
首先是流程方面的优化,在应用中我将两种取货方式分成两个流程,如果是自提的订单,在管理人员出库之后,该订单状态将修改为“待自提”,该订单不会流向物流方,之后用户在完成自提之后可以自行完成自提,该订单状态将修改为“已自提”,该订单流程结束;如果是送货上门的订单将会经过管理人员、物流方最终到达用户手中。
应用方面:预约用户这边,(在完成权限配置之后)用户扫码就可以进入啤酒展示页面:
1)信息显示方面,增加了“库存”这一字段的显示,该字段初始值由管理人员在添加啤酒信息时写入,在订单状态变化时该值会进行相应的变动,以实现库存量动态变化。在用户点击”购物车”按钮后,会对该啤酒的库存量进行校验(JS代码如下),如果是大于零则成功进入下单页面,否则弹出提示框。
同时我还在啤酒选择页面增加了一个“查询订单”按钮,这考虑到如果所有啤酒库存都为0,那么用户就无法进入下单页面,自然也无法跳转到查询页面,所以在这里加上一个查询的入口;
2)用户填写信息下单的页面,通过体验demo,我们可以发现demo中的重置按钮点击之后会把啤酒信息也重置,但该字段只能通过啤酒信息展示页面去获取到,用户必须退回前一个页面重新下单,此时重置就变得无意义了,所以我在这里做了优化,改成在点击重置按钮后对除啤酒信息之外的其他信息进行置空处理;
3)查询订单页面
a.这里吐槽一下demo的查询功能,在demo中如果手机号为空点击搜索按钮,会显示数据库中的所有订单信息,造成信息泄露。所以我在按钮中加入校验代码,确保该输入为有效输入。
b.用户还可以根据订单状态对订单进行查询(可选)
c.在用户输入准确的手机号之后,如果存在订单信息,展示的时候每一个订单下方都会带有四个按钮,详情按钮功能跟demo一致这里不再赘述,取消按钮中新增了恢复库存的操作,主要是考虑到该订单暂未出库,并且被取消,理应恢复啤酒的库存量,代码片段如下:
其他两个分别为完成自提以及评价订单:
先讲这个完成自提,该按钮的功能即是上面提到的流程优化中的用户自行完成自提操作,该操作只能对<待自提>的订单使用,完成自提后会对该啤酒的成交量进行修改(加上本次预定的数量),该订单即是完成状态,流程结束。修改成交量代码如下:
再讲评价订单,该按钮为用户提供对已完成订单(包括已签收与已自提)中的啤酒进行评价的入口,在确认该订单为已完成状态后会跳转到评价页面,在这里会显示该订单的各项信息,在最后会有一个输入框用于获取用户对该啤酒的评分,需要注意的是每个订单只提供一次评价,之后进入评价页面无法进行修改,在用户确认评价后,会对该啤酒的评分进行调整,评分等于(累计评价分/被评次数),具体实现见代码:
4)管理人员处理订单页面,在这里对删除按钮进行了处理,规定只可删除<已取消>的订单,如果所有状态的订单管理人员都随便可以删除,那么很容易造成流程的错乱,如果管理人员一不小心点了删除,那就出大问题了;
5)提醒服务,利用测试的短信模块建立服务编排来实现消息的发送机制,在订单出库、物流方接单、关单时会向用户发送通知信息,实现起来很简单,只需要拖一个sms模块进去服务编排设置相应参数就行了,效果如下:
三、总结
总的来说,这是一次很独特的开发之旅,在过程中更加深入地挖掘到平台的耀眼功能,每一次参加App Engine平台的比赛都会有不一样的收获,相比于之前的照着做,现在已经变成在完成基础赛题的前提下,尽力发掘赛题的优化点并给予相应的补充,从依葫芦画瓢慢慢的变成一个自己独立设计功能点,强化了自己的逻辑性以及代码编写能力。希望后续能有机会再次借助平台完成应用,也祝平台越办越好!
附:作品录屏
咦 我这里可以看.. 我用腾讯视频重新上传看看
... 查看全部