API 文档

w.fugui.us 短网址服务 API 接口说明
Base URL: https://w.fugui.us

POST /api/shorten

生成短网址。无需登录即可使用,传入 token 可关联到用户。

请求参数(JSON Body)

参数类型必填说明
urlstring必填目标长链接,可省略协议
slugstring可选自定义后缀,留空自动生成
# 基础用法(匿名)
curl -X POST https://w.fugui.us/api/shorten \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.example.com"}'

# 自定义后缀
curl -X POST https://w.fugui.us/api/shorten \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.example.com", "slug": "my.link"}'

# 关联到用户(需先登录获取 token)
curl -X POST https://w.fugui.us/api/shorten \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"url": "https://www.example.com"}'

响应示例

{
  "short_url": "https://w.fugui.us/my.link",
  "original_url": "https://www.example.com/",
  "slug": "my.link"
}

POST /api/auth/login

登录获取 token,用于后续 API 鉴权。

参数类型必填说明
usernamestring必填用户名
passwordstring必填密码
curl -X POST https://w.fugui.us/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username": "xxx", "password": "xxx"}'

响应示例

{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "username": "xxx"
}

POST /api/auth/register

注册新用户。

参数类型必填说明
usernamestring必填2-20位,支持字母数字中文下划线
passwordstring必填至少4位
curl -X POST https://w.fugui.us/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username": "xxx", "password": "xxx"}'
{"message": "注册成功"}

GET /api/links

获取当前用户的短链接列表。需 Authorization 头

参数类型说明
pagenumber页码,默认 1
limitnumber每页条数,默认 20,最大 100
qstring搜索关键词(匹配后缀或目标网址)
curl "https://w.fugui.us/api/links?page=1&limit=20" \
  -H "Authorization: Bearer <token>"
{
  "links": [
    {
      "slug": "my.link",
      "original_url": "https://www.example.com/",
      "clicks": 42,
      "created_at": "2026-06-29 19:11:50"
    }
  ],
  "total": 1,
  "page": 1,
  "total_pages": 1
}

DELETE /api/links/{slug}

删除指定的短链接。需 Authorization 头

curl -X DELETE "https://w.fugui.us/api/links/my.link" \
  -H "Authorization: Bearer <token>"
{"message": "已删除"}

GET /api/stats

全站统计(公开)。

curl https://w.fugui.us/api/stats
{
  "total_links": 100,
  "total_clicks": 5000,
  "active_links": 30
}

GET /api/user/stats

当前用户的统计。需 Authorization 头

curl https://w.fugui.us/api/user/stats \
  -H "Authorization: Bearer <token>"
{
  "total_links": 5,
  "total_clicks": 120,
  "active_links": 3
}