需求 思路 二维码实际上就是以一种图片的方式写的一串字符. 这串字符可以是一个网址. 既然这个二维码图片已经发给别人了, 你不可以跑到别人的电脑或者手机里面去删掉图片, 那么"一次性二维码"是怎么实现的呢? 二维码图片不变, 那么二维码对应的网址A不变. 你访问网址A就是访问一个服务器. 这个服务器可以让来访问网址A的人都跳转到一个新的网址B. 我们定义网址B才是真正有实际意义的网址. 让服务器只允许第一次访问网址A的人跳转到网址B, 以后再来访问网址A, 跳转都失效. 这样就实现了 "一次性二维码". 举例, 实际有意义的网址, 是 https://google.com 我们搭建一个服务器, https://1way.eu.org 我们让 https://1way.eu.org/HcAx62 跳转到 https://google.com 而且只跳转一次. 我们以 https://1way.eu.org/HcAx62 生成一个二维码. 有人扫了这个二维码, 那么他会访问 https://1way.eu.org/HcAx62 , 系统让他跳转到 https://google.com , 然后系统记录这个 https://1way.eu.org/HcAx62 失效. 再有人扫了这个二维码, 那么他同样会访问 https://1way.eu.org/HcAx62 , 但是系统告诉他这个资源失效了. 实践 worker.js 增加一个配置项 snapchat_mode, 默认关闭. 在跳转原链之前, 将这条记录删除. 那么下次再来查, 就找不到记录了. 配合二维码编码解码工具, 转换一次性二维码的全流程 ======== Text. Text.