3.3.1 短网址
短链接 (ShortLink)
短链接是 dwz-server 的核心实体,代表一次「长 URL → 短码」的映射。
字段
| 字段 | 说明 |
|---|---|
id |
内部数字 ID(通过 ID 生成器产生) |
code |
对外的短码,Base62 混淆后生成,也可由用户自定义 |
original_url |
原始长链接 |
domain |
关联的短链接域名 |
title |
备注 / 标题 |
expire_at |
可选过期时间 |
status |
启用 / 禁用 |
click_count |
累计点击数(异步更新) |
created_at / updated_at |
时间戳 |
生命周期
草稿(API 创建) → 启用(默认) → 可重定向 → [过期 / 禁用] → 归档/删除- 创建:调用
POST /api/v1/short_links或批量接口 - 跳转:访问
GET /{code}命中后,返回 302 至original_url,同时异步写入点击统计 - 过期 / 禁用:返回错误页(可自定义模板)或 404
- 删除:逻辑删除,保留历史点击数据
短码生成策略
- 自定义短码:用户在创建时指定
custom_code - 自动生成:从 ID 生成器取得唯一数字 ID,经 Base62 位数保持混淆算法转成短码
Base62 混淆算法的正确性分析见「附录 → 工作日志」。
与 A/B 测试的关系
一个短链接可以绑定一个 A/B 测试。当 A/B 测试处于 running 状态时,GET /{code} 会先根据流量分配策略决定命中哪个变体,再返回对应的 target_url。