【武汉第一人民医院】挂号简述

508 阅读3分钟

武汉第一人民医院挂号简述

前言

最近我亲戚家的小孩子,说要去医院的儿科挂个专家号,但是一直预约人数太多了,就一直没号,但是健康的问题,怎么能忽视呢。
于是,就有了这篇文章。
开始还以为涉及加解密的签名算法,后来是我想多了,就是普通几个不变的参数,定时请求就行了。
下一期
惠游武汉抢票小程序主要的生成sign算法js分享

第一步

获取当前用户的cookie

因为是小程序的,所以要有openid,但是这个就很有趣 ,只要定时请求/PalmMicroSY3/toPage.html 这个页面,然后从响应头里面就可以获取到最新的cookie

这个地址,只要打开抓包软件,然后登录小程序就可以看到这条请求记录 value是当前用户的openid值,后面两个参数是固定的,至于最后一个时间戳,可定可变(不影响获取的cookie信息) 获取的cookie信息

第二步

获取当前医生排版信息

找个当前科室的其他可挂号的医生,参数不变,没有时间戳,签名什么的,只要更改doctorCode值(你需要挂号医生的编号)只要定时请求/PalmMicroSY3/registration/schedules,post请求,后面跟上需要挂号的时间(当然是医生排版时间)然后解析响应报文,就可以看到有没有可预约排版信息了,响应报文这个值LeaveNum代表剩余号,0就是没号了,

获取当前医生排版信息 对了,如果cookie失效了,会报错: “msg“: “获取医生排班异常!“

第三步

预下单------锁号成功

第二步的响应报文有支付金额,可预约的时间,可预约时间段的id值,然后拼接到这个里面,进行get请求就可以了(当然请求头参数都是要有的) /PalmMicroSY3/reservegh,其实这一步只要锁号成功了,也就行了, 但是时间只有8分钟有效期。
涉及参数太多,就不贴代码了,更改ptimeinterval(预约时间段),scheduleId(第二步可排版医生时间节点对象里面的值),PartTimeId(第二步可排版医生时间节点对象里面的值),registerDate(预约日期)。

第四步

预下单------平台下单成功

为了防止锁单是假的,不生效,接着就有了平台下单/PalmMicroSY3/pay 也就是这一步,get请求拼接参数,将第三步响应报文内容,sourceOrderId和tradeOrderNo 拼接到后面替参数就可以了。

第五步

下单成功-----通知

下单成功了,当然是要及时通知我们,要不然过了8分钟有效期,岂不是浪费一个号,我这里用的pushplus ,下单和锁单成功,都通知我们一下就可以了。

**需要注意的是 : 锁号了以后,在小程序个人订单里面没有待付款订单,要随便选个可挂号的医生,去挂号,然后页面就会弹窗,存在未支付订单,点击支付旧订单,就会跳转支付页面,支付完应该就挂号成功了 **

结果通知