短链接
CRUD、解析、批量与公开跳转页。
API(/api/short-links/*)
| 路由 | 作用 |
|---|---|
GET/POST /api/short-links | 登录用户分页列表 / 新建;校验 src/lib/validations/short-links.ts;业务 src/services/short-links.ts |
GET/PATCH/DELETE /api/short-links/[id] | 单条增删改查 |
POST /api/short-links/generate | 生成短码 |
POST /api/short-links/batch | 批量 |
GET /api/short-links/search | 搜索 |
GET /api/short-links/validate | 保存前校验 |
GET /api/short-links/resolve/[code] | 服务端解析 code → 目标 URL |
GET /api/short-links/stats | 统计 |
页面路由
/[locale]/i/[code]— 短码公开访问(src/app/[locale]/(default)/i/[code]/page.tsx)。/[locale]/u/[shortId]— 短链形式用户页(src/app/[locale]/u/[shortId]/page.tsx)。/u/[username]— 根路径用户名页(src/app/u/[username]/page.tsx)。
数据流
- 前端 POST
/api/short-links通过 schema 校验后写入。 - 访客访问
/i/[code]或通过resolve/[code]解析。
关键文件
src/app/api/short-links/**src/services/short-links.tssrc/lib/validations/short-links.ts
Dependencies
环境变量
DATABASE_URL
数据库(src/db/schema.ts)
short_links(target_user_id→users.id)users(所有者;custom_username等路径相关字段)