我的内容页
暂无内容页,点击右上角「新建内容页」创建第一个活码。
内容
样式
Logo 仅应用于 PNG(自动使用最高容错率 H),下载 SVG 时不包含 Logo。
预览
批量生成(每行一条,最多 100 条)
批量生成使用「生成」页中的尺寸、容错率、颜色与边距设置,输出 PNG 打包为 ZIP 下载(不含 Logo)。
批量活码(每行一个,最多 100 个)
每行格式:标题|正文|链接URL(可选),例如:产品A|这是产品A的介绍文字|https://example.com/a。
也可直接上传 CSV 文件(UTF-8 编码,列:标题,正文,链接)。
ZIP 内含每个活码的二维码 PNG(文件名:序号+标题)和 manifest.csv(标题、活码ID、URL)。
识别二维码
拖拽图片到这里,或点击选择图片
支持 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 按分钟滑窗限流(可调)。
新 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:8899 或 https://mydomain.com)。
配置方法见 README「外网访问配置」章节。留空则使用当前浏览器地址(仅局域网可用)。
后台登录密码
修改管理后台的登录密码(用户名固定为 admin)。要求 8~64 位,不含空格和中文。
修改即时生效;生效后浏览器缓存的旧凭据会失效,下次操作会弹出登录框要求重新输入,属正常现象。
智能在线客服(AI)配置
配置后,活码可开启「智能在线客服」,访客可就页面文字内容向智能机器人提问。使用 OpenAI 兼容接口(如 DeepSeek)。 API Key 保存后不会完整回显。
用户管理
admin 拥有全部权限;editor 可管理活码但不可访问设置、改密与用户管理。至少保留一个 admin 账号。
加载中…