12306 信息同步到 iPhone 日历并提前提醒

7,585 阅读1分钟

该服务已上线: http://49.232.159.245:8080/?u=邮箱地址&p=客户端授权码

源码地址

效果

  1. 在 12306 上买完票之后,会在iPhone 日历上展示关键信息
  2. 可以配置在发车前多少小时提醒自己

背景

每个月都需要在 12306 app 上提前订多张往返“北京<->天津”的票,但在 12306 app 上查看订单,排序竟然是按照购买日期买票的顺序,没有按照发车日期进行排序,查找起来特别费劲。

思路

iPhone 订阅日历功能 -> 请求自己写的服务 -> 模拟登录邮箱 -> 获取最近30天 的 12306 邮件 -> 解析邮件内容得到车次信息 -> 返回 ics 日历格式的内容 -> 订阅日历成功 -> 手机日历视图上展示订票信息。

使用

  1. 步骤

设置->密码与账户(iOS14: 邮件->账户)->添加账户->其他->添加已订阅的日历 -> 服务器地址(ip+ 参数)-> 下一步 -> 完成

  1. 服务器地址: http://49.232.159.245:8080/?u=邮箱地址&p=客户端授权码

    1. u(必填): 12306 绑定的邮箱地址

      在 12306 app 中的个人资料中可以查看

    2. u(必填): 客户端授权码

      如何找到 客户端授权码 ?

      QQ邮箱为例:登录邮箱 -> 设置 -> 账户 -> POP3/SMTP服务 -> 开启 POP3 服务 -> 点击:生成授权码

    3. h(选填):默认提前 1 小时提醒,如果提前2小时,增加参数&h=2

      比如:http://49.232.159.245:8080/?u=邮箱地址&p=客户端授权码?h=2

  2. 效果