程序员抢复联4首映票的正确方式

咸鱼

是的,复联4国内定档了,全球最早,我们也当家做主了,争取到了不给外国友人剧透的机会。那么问题又来了,北美已经开启了预售,在Fandango上,前6小时就打破了一直由《星球大战7:原力觉醒》保持的首日24小时预售最高票房纪录,国内的反应却略显迟钝,我从早到晚刷呀刷呀,始终刷不出购票页面。

    众所周知,复联4全程使用IMAX摄影机拍摄,观影最佳体验即是新一代激光imax系统,但放眼全中国,似乎就四五家,再差一点也得是普通imax,最次也必须是Dolby Cinema,剩下的烂幕你敢去看就是条咸鱼。

    僧多肉少,那么这个时候,程序员必须要站出来了,得给自己做个提醒程序,第一时间获得开票信息,抢票付款就完了。

    于是我就做了一个开票提醒系统,下面把设计过程介绍一下

1、找一个开票信息的信息源

    既然万达Imax和杜比影院全国最佳,那自然是从万达的应用入手,我的方法也比较简单,一台安卓机,装个抓包精灵,再安装一个万达电影App,首页载入信息必然是个JSON数据,如果里面有“复仇者联盟”关键词,那自然就是开票了,如果没有,就还没有开票。

    通过抓包可以看到,很顺利的拿到了首页JSON数据,Post地址是:https://gateway-api-prd-mx.wandafilm.com/batch_request.api 。另外有一些特殊的Http头信息。

抓包1

抓包2

那么我们再用代码模拟一遍试试看,经过测试,也能顺利拿到结果

代码1

2、功能服务设计

    下面就要设计具体的功能,并考虑一个完整的闭环服务,使得功能能完整落地下来,具体包括

1)功能设计

  • 用户登录网站后,可以在绑定手机号和邮箱后,快速订阅开票通知,也可以随时关闭订阅
  • 系统配置一个轮询服务,每分钟轮询开票状态,如果开票了,则更新数据库中的状态数据
  • 系统再配置一个发送短信和邮件的轮询服务,检测到开票状态,则每分钟给100个用户发短信和邮件通知。

2)申请短信和邮件通道

    在SendCloud处申请了邮件和短信通道,用于发送通知。
短信模板

3、最终功能界面

    好啦,设计一定要有始有终,我也把上述的设计给完整的发布出来了,给大家免费使用,相关界面如下:

界面1

界面2

    收到通知的效果如下:

效果1

效果2

哈哈到这里就可以安心去睡觉啦,也需要订阅的同学们,可以通过 chuma.cn/AE 这个地址直接进入,也可以微信扫描下方二维码进入,也可以点击阅读原文前往。

扫码


下面是近期文章的推荐阅读

猜你喜欢

转载自www.cnblogs.com/chuma/p/10657689.html