技术 2025/12/07 14:25

记一次咕咕咕——旅行车票记录

冷知识,机芯是懒狗与鸽子杂交而来的(滑稽)
从上大学开始经常要光顾火车站,就开始有收集车票的习惯了。收集没到一年,纸质票改为了报销凭证,再到今年的彻底取消纸质报销凭证,再加上蓝色磁票放置时间久了之后,字的颜色会褪去的问题,想找到一个可以留下这些回忆的方式吧,于是便开始了相关的动作。

存纸质票 / 报销凭证

期间还是攒了一部分吧,记得没错的话好像是 40 多张蓝票,2 张红票。最开始买的是类似于大影集的收纳册来收集,但因为收纳不方便 + 学校抽了风一样的年年挪寝室,买了一个相对来说较小的皮甲收纳,每页(面)能放三张票。

尝试引入到单页

毕业整理行李,发现刚入学报到时的那张票,不仅车已经取消了好久,而且字也马上看不清了。于是紧急用 iOS 自带的备忘录的扫描功能,抢救性的扫描了一部分。

但终究不是长久之计,于是便开始尝试放到站里,以单页的形式引入。

V1
V1

蓝票的样式也有,红票的样式也有。甚至当时为了可以给个后端,将车票数据将接口的形式通过 Ajax 来获取。但搞着搞着,发现需要自己填入的字段太多了,不仅是基本的乘车信息,而且还有各种票号之类的数据,容易泄露隐私不说,录入起来还特别磨人,票面优惠信息有的打票机带圆圈,有的不带圆圈,还有始发改签啊等等,再加上哈局和沈局不同票面的广告词也是不一样的,而且再加上以后会坐其他路局的车(今年坐了上局的桶、抢铁的蓝僵尸),维护起来就更加麻烦,便直接写死成一个 JSON 然后咕以永治。

{"tickets" : [
    {
        "train" : "K40",
        "start" : ["鸡 西", "Jixi"],
        "end" : ["长 春", "Changchun"],
        "time" : ["2019", "09", "03", "17:33"],
        "seat" : ["新空调硬座", "??", "???", ""],
        "price" : ["105.0", "网", "noround"],
        "status": [true, false, false],
        "check" : "",
        "color" : "blue",
        "ctm" : ["密山售", "61622", "HA"]
    },{
        "train" : "T261",
        "start" : ["长 春", "Changchun"],
        "end" : ["鸡 西", "Jixi"],
        "time" : ["2019", "09", "29", "23:56"],
        "seat" : ["新空调硬座", "??", "???", ""],
        "price" : ["105.0", "网", "noround"],
        "status": [true, false, false],
        "check" : "",
        "color" : "blue",
        "ctm" : ["长春售", "54116", "SHEN"]
    },
    ...
]}

成果也是分享了出来。当时阿森 @森木志 说很喜欢我的这个样式,问我能不能拿去用。被阿森拿去用之后,让我写的这样式又有了一个新的玩法吧。

阿森的爱情故事
阿森的爱情故事

做成插件

今年从南方回来之后,就想着着手把插件给实现了。当时饼画的确实是有点大,再加上自认为现在有了 GPT 之后,难度应该会降低许多。于是,大概的插件特征如下:

  1. 总页,显示所有火车票和登机牌
  2. 合集,将同属于同一个事件下的车票、登机牌聚合显示
  3. 绑定,与现有的文章关联绑定,文末列出被引用的火车票与登机牌,可以绑定单票或合集,同时可以从总页和合集处跳转至绑定的相应文章

饼确实很大,但没急着去实现功能,首先是想着【能在前台展示效果好的情况下,再推动功能的开发】。

再加上看到了 @孤斗 做的这个,看起来很高级的样子,于是当时想学习一下是怎么实现的,让自己做一下参考,可惜看起来作者并不喜欢自己的站被调试,于是便作罢。

孤斗
孤斗

于是便开始开工,寻找参照基础。首先是想到了各家手机的出行助手,不仅负一屏卡片信息直观且不啰嗦,而且各家的灵动岛类似物,也很助我参考大概展示形式,展示在文章里作为一个 Tag 来索引。收集了之后,还是觉得 MIUI12 的出行助手是好看的。于是二话不说,直接开仿。

有点那味道了(非真实数据)
有点那味道了(非真实数据)

可惜,弄完之后,发现了两大痛点:

  1. 信息密度低、版面占用大的问题不但没解决,而且变本加厉
  2. 地图。国外服务商提供的地图不敢用,国内服务商提供的地图有额度

于是,就又咕咕咕了。

车票票、航旅纵横(麻烦结广告费)

在 B 站的评论区里,有人推荐用车票票这个软件来记录。但只可惜只支持 iOS 端。

车票票
车票票

虽然每张车票录入的时候也是有大量字段提供,但是能使用 12306 账号来导入车次。之前的仅凭借票面的信息,甚至都填不满(比如说火车票没用终到时间,只有始发时间),而且总旅途时长也是完全不可参考的(纸质票没有终到信息,而且很多车已经停运了,无从查起)。而且也是有同步的,索性就直接用这个。

至于飞机票,虽说自己在 iOS 和 AppGalley 上都花了 1 元买了航旅纵横 Pro,但是可能是因为账号不是老账号的原因,存储是有容量上限的。但鉴于我也应该坐不了几次飞机(第一次坐飞机是今年的事),可能这些额度,也够用?

铁路电子客票

10 月全面转用电子客票后,12306 上有个转发电子发票到邮箱的功能。发到邮箱之后,忽然意识到,这些车票,都是可以直接进邮箱的票夹里的。

全部汇集在票夹
全部汇集在票夹

而且还有一些简略的标记,并且还能下载到原件,确实是一个更好的保存途径。而且电子发票占用空间也不大,应该吃不满邮箱的空间。

至此,咕咕咕,于斯合题。

已有 0 条评论 (旧评论在前)
  1. 暂无评论 / 0 Comment
添加新评论 (Markdown Supported)
(ノ°ο°)ノ