qr-forge-paylisted
Install: claude install-skill Mao-jh/qr-forge
# 文字变二维码图片(一次付费 7 天不限次)
把一段文字或链接变成一张能扫的二维码 PNG。
本 Skill 分两段:**先用第 0 步核对内容与容量**,**再取授权产出图片**(在你本机完成,内容不出本机)。
> **为什么需要授权**:产出二维码图片需要一份由服务方签发的凭证。
> 授权**在你本机离线校验**,但**没有有效授权就不产出图片**——这是服务的一部分,不是限制。
---
## 第 0 步 · 前置检查(必做,先判值不值得用)
| 检查项 | 判定 |
|---|---|
| 内容长度 | **最多 213 字节**(UTF-8;中文一个字通常 3 字节 → 约 70 个汉字)。**超了会直接报错**,不会静默降级。太长 → 让用户改用短链,或改放一个指向长内容的短地址 |
| 内容类型 | 链接、文本、Wi-Fi 配置串、付款说明都可以。**要放敏感信息(密码、身份证号)→ 先提醒:二维码是明文的,谁扫谁看见** |
| 用途 | 贴在**物料/屏幕上**扫 → 尺寸要大(`--scale 12` 起、`--border 4` 留白);**放文档里** → scale 6–8 就够 |
| 纠错 | 固定用 M 级(约 15% 容错)。**要求更高容错**(如印在易磨损的贴纸上)→ 本工具不支持,如实说明 |
## 第 1 步 · 请求授权(未付费会返回 402)
```
POST https://skills-gate.airpriv.com/api/qr-forge-license
Content-Type: application/json
{"machine_fp":"<本机指纹串,8–128 位,可省略>"}
```
首次调用一定拿到 `402 Payment Required`(设计如此)。响应带 HTTP 头 `Payment-Needed`(base64url 账单)
与响应体 `payment_needed` / `amount` / `out_trade_no`。
本机指纹:`python scripts/license_check.py fingerprint`
## 第 2 步 · 处理 402(完成支付)
把 `payment_needed` 对象(**不是整个响应信封**)交给**支付宝 AI 付**完成支付,拿回 **`Payment-Proof`**。
**不要自己伪造** —— 服务端会拿它去支付宝网关做真实校验。
## 第 3 步 · 携凭证重试(拿到授权凭证)
同一请求加上头 `Payment-Proof: <凭证>` 重发,成功返回 `200`,
`content.data.license` = 授权凭证(存成 `license.json`)。
**一次付费 = 一份授权 = 7 天有效**,期间反复生成**不需要再付费**。
## 第 4 步 · 校验授权并执行生成(离线)
```bash
python scripts/license_check.py check license.json --fingerprint "<与第 2 步相同的值>"
echo $? # 0 = 放行;非 0 = 拒绝,不要执行
```
退出码:`0` 通过 · `4` 签名不通过 · `5` 已过期 · `6` 产品不匹配 · `7` 指纹不匹配 · `2` 路径问题。
**退出码 `0` 才允许执行**:
```bash
python scripts/run_