使用引导:① 新建内容页并添加文字/图片/视频/音频 → ② 在「后台管理」中填写外网访问地址 → ③ 下载二维码 → ④ 打印张贴,手机扫码即可打开内容页。

我的内容页

暂无内容页,点击右上角「新建内容页」创建第一个活码。

内容

样式

Logo 仅应用于 PNG(自动使用最高容错率 H),下载 SVG 时不包含 Logo。

预览

输入内容后自动生成预览

批量生成(每行一条,最多 100 条)

批量生成使用「生成」页中的尺寸、容错率、颜色与边距设置,输出 PNG 打包为 ZIP 下载(不含 Logo)。

识别二维码

拖拽图片到这里,或点击选择图片

支持 PNG / JPG 等常见格式,可识别图中多个二维码

历史记录

暂无历史记录

统计口径:访客每次打开扫码内容页计 1 次(含密码页通过后的访问)。

扫码趋势(全部活码合计)

设备分布(合计)

设备归类 / 客户端归类(合计)

设备(安卓/iPhone/PC/其他)

客户端(微信/浏览器/其他)

扫码小时分布(0–23 时合计)

扫码地域分布(IP 归属地,离线解析)

省份

城市

活码明细

加载中…

留言列表

加载中…

素材列表

加载中…

开放 API

其它产品可通过 API Key 调用本系统全部功能(活码 CRUD、二维码图、素材、批量、统计、留言)。 在线接口文档(Swagger):/api/docs —— 文档公开可读,所有接口必须携带 X-API-Key 请求头才能调用成功。

一步创建活码示例(媒体块用 url: 让服务器自动抓取入库):

curl -X POST https://sksound.cn/api/v1/pages \
  -H "X-API-Key: 你的Key" -H "Content-Type: application/json" \
  -d '{"title":"产品说明书","theme":"light","qr_caption":"产品说明书","qr_caption_size":28,
       "external_id":"ORDER-1001",
       "blocks":[{"type":"text","content":"产品介绍文字"},
                 {"type":"image","src":"url:https://example.com/a.jpg"}]}'

API Keys

完整密钥仅在创建时显示一次,请立即复制保存;之后只显示前 8 位。每个 Key 按分钟滑窗限流(可调)。

加载中…

Webhooks(事件推送)

事件会以 POST JSON 异步推送到订阅 URL,请求头带 X-QR-Signature(HMAC-SHA256 签名,密钥可自定义); 失败自动重试 3 次(1s/2s/4s 退避),不阻塞扫码响应。事件类型:scan(扫码)/ message(留言/表单)/ code.expiring(有效期前 3 天预警)/ code.limit_reached(扫码次数触顶)。列表中可查看每个 Webhook 的最近推送状态并发送测试推送。

加载中…

外网访问地址(public_base_url)

二维码里只存一个网址,内容保存在这台服务器上。手机扫码后要能通过互联网访问到这个网址才能打开内容页, 所以请填写你的公网地址(如 http://xxx.eicp.net:8899https://mydomain.com)。 配置方法见 README「外网访问配置」章节。留空则使用当前浏览器地址(仅局域网可用)。

后台登录密码

修改管理后台的登录密码(用户名固定为 admin)。要求 8~64 位,不含空格和中文。 修改即时生效;生效后浏览器缓存的旧凭据会失效,下次操作会弹出登录框要求重新输入,属正常现象。

智能在线客服(AI)配置

配置后,活码可开启「智能在线客服」,访客可就页面文字内容向智能机器人提问。使用 OpenAI 兼容接口(如 DeepSeek)。 API Key 保存后不会完整回显。

用户管理

admin 拥有全部权限;editor 可管理活码但不可访问设置、改密与用户管理。至少保留一个 admin 账号。

加载中…