基于 Vue 3 + TypeScript + Cloudflare Workers 的 PT 站点简介生成工具
- 🎬 支持豆瓣电影/电视剧数据抓取
- 🔍 支持豆瓣移动端搜索接口
- 📺 支持 Bangumi 番组数据
- 🚀 基于 Cloudflare Workers 部署,全球加速
- 💾 支持 KV 缓存,提升响应速度
- 🎨 现代化 Vue 3 + Tailwind CSS 界面
- 前端: Vue 3 + TypeScript + Tailwind CSS
- 后端: Cloudflare Workers
- 构建工具: Vite
- 包管理: pnpm
git clone https://github.com/anicmv/pt-gen-vue.git
cd pt-gen-vue
pnpm install- 登录 Cloudflare Dashboard
- 进入 Workers & Pages → KV
- 点击 Create a namespace
- 输入名称(如
PT_GEN_STORE) - 复制生成的 Namespace ID
复制配置文件模板:
cp wrangler.jsonc.example wrangler.jsonc编辑 wrangler.jsonc,填入你的 KV Namespace ID:
pnpm dev访问 http://localhost:5173 即可使用。
pnpm run deploy部署成功后,你会得到一个 *.workers.dev 的访问地址。
如果需要将豆瓣数据保存到外部 API,可以配置以下环境变量。
使用 Cloudflare Secrets(加密存储):
# 更新 wrangler 到最新版本
pnpm add -D wrangler@latest
# 设置 API URL
pnpm wrangler secret put SAVE_API_URL --name pt-gen-vue
# 输入: https://your-api-url.com/save
# 设置 API Token
pnpm wrangler secret put SAVE_API_TOKEN --name pt-gen-vue
# 输入: your_token_here创建 .dev.vars 文件(已在 .gitignore 中):
SAVE_API_URL=https://your-api-url.com/save
SAVE_API_TOKEN=your_token_here
⚠️ 注意: 不要将.dev.vars提交到 Git!
如果不配置这两个变量,数据保存功能将被禁用,不影响正常使用。
- 在输入框中输入电影/电视剧名称
- 点击"搜索"按钮
- 从搜索结果中选择目标条目
- 在输入框中粘贴豆瓣链接(如
https://movie.douban.com/subject/1292052/) - 点击"查询"按钮
- 自动生成格式化的简介信息
- 豆瓣电影:
https://movie.douban.com/subject/{id}/ - Bangumi:
https://bgm.tv/subject/{id}/
# 安装依赖
pnpm install
# 本地开发
pnpm dev
# 构建项目
pnpm build
# 预览构建结果
pnpm preview
# 部署到 Cloudflare
pnpm run deploy
# 生成 Cloudflare Workers 类型
pnpm run cf-typegen
# 代码检查
pnpm lintpt-gen-vue/
├── api/ # Cloudflare Workers 后端
│ ├── config/ # 配置文件
│ │ └── domain.ts # 支持的域名正则
│ ├── lib/ # 核心库
│ │ ├── common.ts # 公共函数
│ │ ├── douban.ts # 豆瓣数据源
│ │ ├── doubanMobile.ts # 豆瓣移动端
│ │ └── bangumi.ts # Bangumi 数据源
│ ├── type/ # TypeScript 类型定义
│ └── index.ts # Workers 入口
├── src/ # Vue 前端
│ ├── App.vue # 主组件
│ ├── main.ts # 入口文件
│ └── assets/ # 静态资源
├── wrangler.jsonc # Cloudflare Workers 配置
└── package.json # 项目配置
以下文件包含敏感信息,不应提交到 Git:
wrangler.jsonc- 包含 KV Namespace ID.dev.vars- 包含本地开发的 API Token.wrangler/- Cloudflare 本地缓存
这些文件已在 .gitignore 中配置。
项目提供了以下模板文件供参考:
wrangler.jsonc.example- Workers 配置模板.dev.vars.example- 本地环境变量模板
欢迎提交 Issue 和 Pull Request!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目基于 MIT 许可证开源。
- 原项目: Rhilip/pt-gen-cfworker
- 数据来源: 豆瓣电影、Bangumi
如有问题或建议,欢迎:
- 提交 Issue
⭐ 如果这个项目对你有帮助,请给个 Star!
{ "kv_namespaces": [ { "binding": "PT_GEN_STORE", "id": "你的KV_NAMESPACE_ID" // 替换为实际的 ID } ] }