记12306货运系统“抢订空车”插件的编写--订车流程梳理

10 篇文章 0 订阅

--订车流程梳理

         接了这个活,才知道原来12306网站还有这功能;整个网站还是挺复杂的嘛。整个订车过程跟平时买客运火车票很类似,相当于是各物流公司为自己的货物“抢票”,然后才有资格用货运列车来运送自己的货。

         首先来梳理一下整个订车过程:

1、  在12306网站主页点击“货运服务”。

2、  在页面左下角选择物流公司对应铁路局的网站。

图‑1

3、  选“常客户登陆”登入对应网站系统。登录时需要输入验证码。

图‑2

4、  选择“预约”功能

图‑3

5、  点“在线预约”打开预约页面,填入未来数月内需要预约运输的货物的基本信息、收发货信息等,然后保存并提报审核,审核通过之后即可作为一条预约信息。这一步的大概意思是为方便铁路部门调配货运列车,这一步审核通过才说明存在满足运输需求的列车班次,是下一步订空车(抢票)的前提。

图‑4

6、  预约保存并提报审核成功之后,就可以进行下一步了:在左侧菜单中点击“订车”。

7、  在“输入查询关键字”一栏输入关键字或直接点击输入框,可列出符合条件的预约信息。

图‑5

8、  点击其中一条信息,则对应的预约信息自动填入下面的表格中。

9、  对相关信息进行调整之后,点击“保存”,则下方的“未报空车查询结果”列表中会多出一条对应的记录。

图‑6

10、选中该记录并“提报”,如果信息无误,即可完成一次空车的预订,接下来就是等待铁路部门的审批了。

 

        在以上步骤中,除去登录步骤,第5步的预约是可以提前做好的。只要计划充分,甚至可以提前预约后面三个月的计划。所以,每次“抢订”的时候,6—10步是关键的步骤,也是比较耗时的,尤其是第10步提报之前,第7—9步的获取预约信息、保存空车信息这两步其实耗费了很多不必要的时间。因此要加快抢订速度,插件要做的就是要加快这两步的速度,那么就让我们来看一下网站的源代码,来分析一下在这些步骤中,相关代码的大致流程吧。

        通过查看源码,可以看到在图-5对应的界面中,页面中间偏右的部分其实是一个iframe;用户点击页面上部的菜单栏时,通过为iframe指定不同的url,来进入不同的功能子页面(主要是后面的参数classId不同。图-5对应的子页面的url为站点根路径下的:“/gateway/hydzsw/Dzsw/action/NavigationAction_redirect?classId=684”。当然这只是一个跳转地址,我们在浏览器新窗口中打开该链接,就会发现页面跳转到了另一个地址:“/gateway/hydzsw/Dzsw/action/ZcrbjhAction_initAdd?currentPosition=%E9%A2%84%E7%BA%A6%26nbsp%3B%3E%3E%26nbsp%3B%E8%AE%A2%E7%A9%BA%E8%BD%A6”,如下图所示:

图‑7

        查看此页面代码,就可以找出抢订空车所需的所有核心代码了。我们来捋一捋整个订车过程中涉及到的代码:

1.        【输入查询关键字】,该输入框是autocomplete的,其数据url为"/gateway/hydzsw/Dzsw/action/ZcrbjhAction_getYsxq" ,得到数据后格式化并填充到候选列表中供用户选择。

2.        【点击一项候选结果】,则调用resultFunc(item)及createZyz(PZYCFH)方法,将默认数据填入订空车的表单中,其中装车日期、货区货位、到货短信通知、收货人电话这几项可能需要用户调整。

 

3.        【点击保存】,进行停限装校验“/gateway/hydzsw/Dzsw/action/TbInformationRestrictionAction_checkOrder”,事实上,只要ajax请求成功,无论校验成功与否都会进入下一步。

4.        【保存订车信息】,调用save()函数,序列化订车信息表单并提交Ajax:"/gateway/hydzsw/Dzsw/action/ZcrbjhAction_add" ,然后调用clearForm();刷新整个页面,此时“未报空车查询结果”列表中出现目前提交过的空车新消息,其中最总要的信息是每一行隐藏域中的uuid值。

5.        【提报】,调用 commitAction(); 显示提示注意事项,勾选“同意”按钮之后,调用 showSubmitBtn();显示最终的提报按钮,点击之后调用submitFun();函数,通过Ajax “/gateway/hydzsw/Dzsw/action/ZcrbjhAction_operateZcrbjh”,最重要的参数是uuids,其值为当前提报的所有空车信息的uuid,由逗号拼接。

        至此,一个完整的订空车的过程就完成了;天色已晚,改日再续……

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值