一个使用 Cloudflare Pages 创建的 URL 缩短器
演示站点 : t.xiaowangye.org, linklet.pages.dev
- Fork linklet 仓库。
- 登录到 Cloudflare 控制台。
- 在 Cloudflare 控制台,选择 Workers & Pages > Create application > Pages > Connect to Git。
- 选择 Fork 的仓库,若没有该仓库,请点击 Cloudflare Pages 链接配置 Cloudflare 访问个人的 GitHub 仓库权限。
- 选中 Fork 的仓库,点击Begin setup完成部署。
- 在 Cloudflare 控制台创建 D1 数据库,依次点击 Workers & Pages > D1 > Create database > Dashboard,输入 Database name 点击 Create 完成数据库的创建。
- 点击 Console,输入以下 SQL 命令创建表:
DROP TABLE IF EXISTS links; CREATE TABLE IF NOT EXISTS links ( `id` integer PRIMARY KEY NOT NULL, `url` text, `slug` text, `ua` text, `ip` text, `status` int, `create_time` DATE ); DROP TABLE IF EXISTS logs; CREATE TABLE IF NOT EXISTS logs ( `id` integer PRIMARY KEY NOT NULL, `url` text , `slug` text, `referer` text, `ua` text , `ip` text , `create_time` DATE );
-
选择部署完成的 linklet 项目,在 Cloudflare 控制台依次点击Settings > Functions > Add bindings,输入 Variable name 值 DB 并选择 D1 Database linklet,点击 Save 保存,设置如下表:
Variable name D1 database DB linklet -
为了生效 D1 数据库配置,需完成项目的重新部署。
请求:
### 生成随机短链接 POST https://wss.so/create Content-Type: application/json { "url": "https://ollama.com/blog/how-to-prompt-code-llama" } ### 生成指定 slug 短链接 POST https://wss.so/create Content-Type: application/json { "url": "https://ollama.com/blog/how-to-prompt-code-llama", "slug": "llama" }
响应:
{
"slug": "<slug>",
"link": "http://wss.so/<slug>"
}