极简网页计数器,支持 PV / UV 双模式统计。Go + SQLite 驱动,轻量、高效、隐私友好。
<!-- 1. 引入脚本 -->
<script async src="//suanzi.cakepanit.com/js/suanzi.min.js"></script>
<!-- 2. 放置容器 -->
<span id="suanzi_container_site_pv">
本站总访问量 <span id="suanzi_value_site_pv"></span> 次
</span>
没有复杂的配置,没有隐藏的收费。两行代码,即刻拥有。
两行代码,1 分钟搞定。无需注册,无需配置,无需后端。
站点总访问量、独立访客数、单页面阅读量,灵活选择。
不收集个人隐私,不追踪用户行为,仅做基础的计数统计。
Referer 域名校验 + 内网 IP 过滤 + UV 每日去重。
Go + SQLite 驱动,轻量高效,单机轻松应对高并发。
无隐藏费用,无流量限制,社区维护,放心使用。
简单四步,从页面加载到数据展示。
浏览器加载 suanzi.min.js,自动生成用户 UUID 并存入 Cookie(有效期 1 年)。
调用 POST /api/count 接口,携带 domain、uuid 和需要的统计类型。
Go 服务接收请求,查询 SQLite 数据库,UV 每日去重,PV 自动联动 site_pv。
前端接收响应,将计数值回填到对应的 span 标签,带格式化千位分隔符。
统一的 POST /api/count 接口,根据 types 参数返回不同统计数据。
// 请求 — 站点级别统计
POST /api/count
Content-Type: application/json
{
"domain": "example.com",
"uuid": "xxx-xxx-xxx",
"types": ["site_pv", "site_uv"]
}
// 响应
{
"counts": {
"site_pv": 1234,
"site_uv": 567
}
}
// 请求 — 页面级别统计(自动联动 site_pv)
POST /api/count
Content-Type: application/json
{
"domain": "example.com",
"uuid": "xxx-xxx-xxx",
"path": "/article/123",
"types": ["page_pv"]
}
// 响应
{
"counts": {
"page_pv": 89
}
}
安全机制:Referer 域名校验 — 请求来源必须与 domain 参数一致。 内网过滤 — 自动忽略 127.0.0.1、localhost 及 10.x / 172.16-31.x / 192.168.x 网段。 UV 去重 — 同一用户每天只计 1 次 UV。