把一堆兑换码变成一张 Markdown 图片,每人打开领一条

发布于

送 App Store / 活动码时,常见两种尴尬:

1. 直接贴一长串码 → 前面的人秒光,后面的人只能干瞪眼,还容易被脚本扫
2. 私信一个个发 → 累,还不好统计

做了个小工具 **兑图**:粘贴一堆兑换码,生成一个图片链接。别人打开这张图,就从池子里领一条没用过的;同一个 IP 只会领到一条,刷新还是自己那条。码发完了显示「都兑换完了」。

## 怎么用

1. 打开 [https://duitu.zhis.eu](https://duitu.zhis.eu)
2. 粘贴兑换码(一行一条)
3. 复制生成的图片 URL ,丢进帖子 / README / 群里,例如:

![图片链接](https://duitu.zhis.eu/i/3829eae66b9d2b2475304692.svg)

```markdown
![](https://duitu.zhis.eu/i/3829eae66b9d2b2475304692.svg)
```

## 规则(简版)

- 每个 IP 对同一链接只领 1 条
- 同 IP 再访问:显示当初领到的码,不浪费新码
- 池空了:显示「都兑换完了」
- 全部领完后默认保留 7 天领取记录,然后自动清理;清理后原链接仍显示领完(不是 404)
- 默认只接受 App Store 风格 `XXXX-XXXX-XXXX`(服务端校验)

图片是很小的 SVG(大概几百字节),跑在 Cloudflare Workers + Durable Objects 上,无注册。

## 开源 & 自托管

[https://github.com/galenzhao/duitu](https://github.com/galenzhao/duitu)
`wrangler deploy` 就能自己搭一份。格式校验、领完保留天数都用环境变量配。

## 已知限制

- 同一公司 / 咖啡厅 Wi‑Fi 共用出口 IP 时,会共用一次领取额度
- 部分客户端(如 Discord)可能按 URL 强缓存图片,后面的人可能仍看到第一次的图;浏览器直开一般没问题
- GitHub 等对 SVG 嵌入可能有限制

---

原文链接:[点击查看](https://www.v2ex.com/t/1229432)

评论(1)

楼里的批量扫码有点离谱啊,放出来的测试码短短 2 分钟就被秒光了,然而大家光顾着薅羊毛却没人留言讨论……

· 0 个赞