https://chrome.google.com/webstore/detail/wgz-girlfriend-gift-1/mchlplplfedcfibfhhmcghpannekeamd
目前该插件已设置为仅邀请账号可下载 :)

前段时间第一次接触到 Tabby Cat 的时候,感悟到Google Chrome其实可以有很多平凡但有趣的玩法。此时的我正在同时学习Golang和玩弄新购入的NAS,就想到了这个idea,自己开发一个插件,在chrome的newtab页面上,实现苹果的memories类似的功能。

代码:
API服务、schedule处理、文件扫描&上传到OSS (使用golang实现): https://github.com/Lichmaker/girlfriend-gift-1.0
Chrome 插件本体: https://github.com/Lichmaker/girlfriend-gift-1.0-chrome

整套运行下来的流程是这样子的:

  • 手机自动同步照片到NAS/不定期手动备份相机中照片到NAS中
  • 人工筛选一些能看到照片到指定的文件夹
  • NAS中golang程序自动扫描指定文件夹,上传到OSS中,组成pool
  • 每天根据规则从pool中抽取照片形成schedule
  • chrome插件通过API读取schedule,展示照片

除了“人工筛选一些能看到照片到指定的文件夹”,其他都是全自动化。 毕竟不是全部照片都是能看的(指拍糊了)。

Google 插件的开发真的是很意外,我原本以为会有很多复杂的规定(因为谷歌真的很严格),最终代码量只有几百行,而且因为JavaScript太久没有写了,所以90%的代码量还是我复制粘贴回来的。最终没有花多少时间,反而是应用商店的审核真的很久。

Golang 开发中也没什么难点,做2个cli程序定时执行,然后做一个简单的web服务对外提供一个api就完事儿了。
为了自动化,必须在NAS上运行程序。
因此最麻烦的事情跨平台编译,因为我这台NAS是最低端的,配置很低系统很垃圾,所以没办法在其安装docker或者golang,只能是在mac上做跨平台编译,把二进制文件丢到NAS中执行。
由于自己过于菜🐔,这期间恶补了很多知识,才把跨平台编译搞定,花了有一段时间,才在NAS上成功执行。

最终效果如下:
gif

回忆总是令人陶醉,每天打开newtab之后都能想起一段美好时光 😄

祝朱宝🐷生日快乐