06 · 开发 · 弱网与离线
冷库里没网的那一下,不能变成两笔收货
移动端工程师让手机和手持在弱网、扫码枪和手套下做完任务,离线不能变成两笔账。枪和打印机是否能用,由兼容性测试证明。
移动端工程师对设备、网络和手负责
同一张到达或收货任务在后台是表格,在现场是弱网、戴手套和单手。移动端工程师的特点是把这些约束当成功能,而不是上线前再适配。断网时按钮是禁用还是把请求留在本地。留在本地就必须有请求号,恢复网络后只提交一次。没有请求号的自动重试,是移动端最常见的双记来源。枪的键模式、打印机出纸,由兼容性测试工程师用验收设备证明;本岗实现的是队列和离线可见。
他不另写一套业务规则。数量能不能入账,以服务端为准。手机上可以先记下操作者的意图,但不能在本地把状态显示成已完成并让下一环节继续。离线状态要可见:这张单在手机里,还没到服务器。班次交接时,未上传队列必须能被下一班看见数量和单号,但不能被另一台设备重复生成新的请求。队列属于单据,不属于某台手持终端。
安装、升级和账号
仓库的设备往往不能随意装应用商店版本。移动端工程师要给出可分发的包、版本号和回退方式。升级不能清空尚未提交的本地队列。账号登录要适应共用设备:上一班退出后,下一班不能看见未完成单据的内容,但服务端的单据还在。他把这些写进版本说明,培训讲师才不会用「卸载重装」当万能答案。卸载会丢掉队列里那笔尚未确认的收货。
电梯里断网的收货
某仓的手持终端从月台回办公室要进电梯,电梯里没有无线。旧版本在超时后自动再发,仓管出电梯看到两个成功提示,库存加了两次。移动端工程师改成:提交时生成请求号并写入本地队列,界面显示待上传;超时不自动新建请求;出电梯后队列只重放同一号;服务端返回已存在则把本地标成完成。他拿着设备走了两次电梯,第一次拔掉天线,第二次恢复,库存只增加一次。
手套点按沿用原型的结论,他在终端上复测,不在自己的手机上用细手指代替。手持终端的企业证书和时钟他也检查。证书过期会让整个队列停在待上传,人只看到转圈。时钟不准会让离线提交的时间晚于服务器,日结对不上班次。这两项写进设备巡检。共用设备退出登录时,本地队列要提示还有几单未上传,并允许用原账号回连补传。提示不能挡住下班,但必须让下一班知道这些单还没到服务器。冷库终端自动降亮度之后,待上传的黄条还要看得见。看不见的队列会被当成已经成功。他把关键状态做成系统通知,不只做页面里的一行小字。漫游中断时队列同样只重放同一请求号,不在本页把设备矩阵写成第二套测试。企业证书到期日写进巡检日历,提前一周告警,不在早高峰才发现整仓转圈。时钟校准失败时,这台终端禁止提交,只允许查看队列,避免对不上班次的单据继续往上送。