写在前面

在停更快半年的时间里,我干了一些人生大事,比如今天这篇文章的主题:结婚。
所以我并没有放弃这个公众号,感谢在后台以及微信上催我更新的读者小伙伴。

定个小目标:520领证!

在我求婚成功之后(这是另外一个故事了),摆在我和卢老师面前是一个很实际的问题:啥时候领证?

虽然结婚领证是我们两个人的事情,但如果日子选的不好,在双方家长那里也没办法交代,于是我们在本时代最先进的操作系统上打开了老黄历app。黄历上对每一天适合干啥不适合干啥都做了详细的罗列(离谱),我们的目标就是在“宜婚嫁”的日子里挑一个顺眼的数字。

这事也没什么纠结的,在最临近的五月初步敲定了几个日子:5.18(我要發)、5.19(我要长长久久)、5.20。
日子定好后,去了解了下深圳的预约婚姻登记规则:用广东省统一预约服务(官网 or 小程序),至少提前一天预约,可预约 15 天内的号源,每天早上 8:30 放号

广东民政局官网

粤省事小程序

提前演练

伟人说:不打无准备之仗。于是我分别去官网和小程序上体验了一下预约流程,整体操作下来需要 5~7 分钟,比较恶心的是每次重新预约时所有信息都要手动再填一遍。这么简单的功能,居然不去实现,真是无力吐槽 Orz...

也罢,官方不实现,那我来实现(之前这类事已经干了不少了,比如朋友圈图片评论、网站自动登录等)。

工欲善其事

上文提到预约登记有官网小程序两个渠道,小程序本就没有什么发力空间,所以我只能从那个丑陋无比的 PC 端官网下手。

居然还在网站上明目张胆地写着“建议使用IE浏览器访问”,广东民政厅的开发团队难道不知道 IE浏览器已经被时代抛弃了吗?

知己知彼百战不殆,于是我简单看了下这个网站的源码,得出来以下结论:

  • 从注释可推出,这个网站已经存在 20 年左右了

  • 技术栈以 vanilla JS 为主,部分使用 jQuery

  • 开发者的英语水平不太行(所有变量都用拼音命名)

有了这些结论,心里也有底了。
爬山的时候,需要确定好明确的目标,才能制定出接近目标的最短路径,做任何事都是一样的。而此时我的目标则是:在预约登记结婚时,让程序帮我做好所有确定的事情,比如填写基本信息、点击按钮等,这样我就比别人快了很多,也有更大的机率选到想要的日子。

做一个 Chrome 插件无疑是个最好的选择。

必先利其器

Chrome 插件的实现还是蛮简单的,这里不展开讲(感兴趣的可以看看我之前的文章以及对应的项目源码)。
总体的思路是通过指定域名注入的 content_script 让插件和网页之间完成通信:插件负责动作的指令发起,content_script 负责动作的具体实现。

在 Chrome 插件的 popup.js 中,可以通过浏览器提供的 chrome.tab 接口拿到当前窗口的 url,所以也不需要从插件的页面上手动触发信息的填充指令了,实现了一进页面就自动触发的功能,不过为了防止实操时的意外情况,我还是放了两个按钮上去,分别对应预约流程中的两个表单。

鼓捣了一会,成了。「把确定的都写成代码」之后,和我俩相关的所有信息都变成了一大坨变量。

翻车了Orz

插件做好之后,测试了十来次,每次都能在五秒左右约到号,心想:稳了。

过了几天,随便点了点,就约到了五月十八的号,第二天又顺利约到了五月十九的号,心想:稳得一批。

到了第三天(可以预约520了),我胸有成竹地打开了民政厅的网站,三秒后,我就意识到可能要出问题了——因为来抢这一天号的人非常非常非常多,导致整个网站处于打不开的状态,真的是芭比Q了。我只能手机电脑一起刷,刷了一个小时后,页面加载出来了,号也没了
我突然大彻大悟:他们前端都做得那么烂,后端能好到哪去?

柳暗花明又一村

又过了一天,早上卢老师突然告诉我 521 也能约(这一天是周六,按道理民政局是不上班的,没想到深圳专门在这一天开放了早上半天的预约额度)!
我以迅雷不及掩耳盗铃之势打开了电脑,页面还停留在昨天打开的预约官网,点击刷新后,发现网站可以顺畅打开,接下来在大约五秒的时间里眼瞅着插件帮忙做好了所有的操作,手起刀落,预约成功

我重新进入网站,发现已经没号了,这么说来居然让我抢到了最后一个号,心里暗爽。

后记

事情就是这么个事情,我也顺利在 521 这一天从妙龄男青年摇身一变成了已婚男人。

为了感谢能看到这里的各位,我就简简单单爆个照吧

过几天我会把插件的代码稍微整理下后开源到 Github 上,感兴趣的话可以持续关注一下。

关注后星标

为了结婚领证,我做了个「一键结婚」插件相关推荐

  1. 来来来,做几道「送命题」

    最近又和朋友讨论到学生思维对做产品到底有什么伤害,我忽然觉得可以用一系列学生时代几乎碰不到的题目来解释-- 对于这份试卷,如何用尽可能少的时间拿到60分? 给这道题提出三种以上的解法,给解法做优劣排序 ...

  2. UCLA李婧翌:女性最不需要做的就是「怀疑自己」| 妇女节特辑

    她力量 近年来,"她"力量正在科学家群体中快速升温. 在一年一度的妇女节到来之际,智源社区选取了五位颇具代表性的女性科学家,进行了深度访谈.在她们中,有人选择食物图像识别,对选择的 ...

  3. 婚检、五金、求婚、领证的基本常识

    婚检.五金.求婚.领证的基本常识 前言 本来还想用[程序员讲婚庆]作为开头,但是一想,我也不清楚婚庆具体流程,写得不专业,就不用这个名头了. 前天了解了婚庆公司<[程序员讲婚庆]找婚庆公司的渠道 ...

  4. 2020年有寓意的领证日期_2020年下半年领证寓意好日子,下半年适合领证的时间

    每个人终其一生所奋斗的,不过就是一个温暖的家,一个温馨的家罢了.在找到自己的灵魂伴侣后,选一个很好的日子与她结婚,在一定程度上是可以让自己的家变得更温暖的.下面就随本文一起来看看2020年下半年领证寓 ...

  5. 2020年有寓意的领证日期_2020年有意义谐音的领证日子 容易记住的领证日期

    2020年有意义谐音的领证日子 容易记住的领证日期 结婚领证都希望选一个好日子,我们一起来看看2020年有哪些适合领证的好日子吧~ mua 2月2日 星期日 "20200202", ...

  6. 2020年有寓意的领证日期_2020年有寓意的领证日期

    2020年是一个结婚的好年份,在这一年有许许多多的好日子非常适合新人领取结婚证,还显得特别的吉利,关键还有助于婚姻的美满,今天小编来和大家分享的,就是在这一年中有哪些是有特殊寓意的领证好日子,让我们一 ...

  7. 2020年有寓意的领证日期_2020领证吉日,这些特殊寓意的好日子不能错过

    2020年是一个结婚的好年份,在这一年有许许多多的好日子非常适合新人领取结婚证,还显得特别的吉利,关键还有助于婚姻的美满,今天小编来和大家分享的,就是在这一年中有哪些是有特殊寓意的领证好日子,让我们一 ...

  8. 2020年有寓意的领证日期_2020有寓意的领证日期是什么时候?什么时候领证吉利?...

    2020是一个结婚的好年份,在这一年有很多好的吉日,也有很多好的有寓意的日期,因此结婚领证的人数也是会有特别多的.对于新人呢来说,结婚领证都是需要提前的知道日期的,这样才能更好的打算,才能提前的预订结 ...

  9. 2020年有寓意的领证日期_2020有寓意的领证日期 2020热门领证日期

    如今,年轻人相比于传统的黄道吉日挑选,更重视于领证当天的日期寓意,例如"520"."521"等,那么,2020有寓意的领证日期是甚么呢?2020热门领证日期又是 ...

最新文章

  1. html中section与div,如何在html中的section标签内包含div标签
  2. laravel 是怎么做到运行 composer dump-autoload 不清空 classmap 映射关系的呢?
  3. 有没有测试人心里的软件,心理测评,认识自己的有效工具:(二)你做的可能是假的心理测试...
  4. python如何给定取值范围_python怎么限定函数自变量取值范围
  5. K8S精华问答 | CentOS下如何配置主机互信?
  6. js判断中文字符串长度和js截取中文字符串
  7. vue页面回显数据_解决vue表单回显数据无法修改的问题
  8. 图的遍历之深度优先搜索和广度优先搜索
  9. php实现小偷程序,PHP小偷程序的设计与实现示例
  10. 计算机英语(王艺)译文(unit6-unit12)
  11. 【读书笔记】金字塔原理-目录
  12. 古风排版 python
  13. MongoDB 之滴滴、摩拜都在用的索引-educoder上面的题目以及笔记
  14. 支付宝即时到帐接口php,支付宝即时到帐接口
  15. Resnet网络介绍
  16. ACM779-兰州烧饼
  17. 产品可用性原则:网页设计点睛秘笈
  18. 解决谷歌、qq、edge、360、火狐浏览器打不开Axure原型图问题
  19. InDesign 教程如何制作明信片?
  20. 计算机制图符号制作,基本流程图的制作-通过在线制图工具绘制

热门文章

  1. 抖抖代码-爬取企查查企业信息
  2. 收藏转载樱花飘落代码
  3. 1月第4周安全回顾 移动安全受关注 黑客威胁公共设施
  4. TP5集成支付宝h5支付接口
  5. 2022金九银十Android大厂面试题来袭,面试字节跳动被问Android屏幕适配方案
  6. 史上最全报表教程,还不快收藏!
  7. 免费分享一个最完美的英语学习素材 Englishpod
  8. 使用easypoi导入导出excel,SSM和SpringBoot通用代码
  9. Android获取设备内存数据信息
  10. 哪款mac写python_新款Mac Pro有几个圈圈?写几行Python数一下