一个为 CatVodApp 设计的完整内容源管理系统,包含前端管理界面和后端 API 服务。
| 功能 | 说明 | 状态 |
|---|---|---|
| ⚙️ 配置管理 | 编辑和保存 Token、Cookie 等配置到服务器 | ✅ 已实现 |
| 📺 内容源展示 | 显示所有视频、书籍、漫画等源 | ✅ 已实现 |
| 🧪 爬虫管理 | 测试爬虫、启用/禁用源、查看状态 | ✅ 已实现 |
| 📋 运行日志 | 实时查看系统日志、错误跟踪 | ✅ 已实现 |
| 🎨 主题配色 | 配置和预览 UI 主题 | ✅ 已实现 |
| 🔄 实时同步 | 配置自动同步、服务状态监控 | ✅ 已实现 |
CatPawOpen/
├── nodejs/ # 后端 API 服务 (Fastify + Node.js)
│ ├── src/
│ │ ├── router.js # ⭐ API 路由定义
│ │ ├── dev.js # ⭐ 环境变量加载器
│ │ ├── index.js # 服务器启动
│ │ ├── index.config.js # 配置文件
│ │ └── spider/ # 爬虫模块
│ ├── .env # 环境配置(敏感信息)
│ ├── .env.example # 配置模板(版本控制)
│ └── package.json
│
└── frontend/ # 前端管理界面 (Vue 3 + Vite)
├── src/
│ ├── App.vue # ⭐ 主应用和导航
│ ├── main.js # 入口
│ ├── style.css # 全局样式
│ ├── views/
│ │ ├── ConfigView.vue # ⭐ 配置管理页面
│ │ ├── SourcesView.vue # ⭐ 内容源展示页面
│ │ ├── SpidersView.vue # ⭐ 爬虫管理页面
│ │ ├── LogsView.vue # ⭐ 日志查看页面
│ │ └── AboutView.vue # 关于页面
│ ├── components/
│ │ └── SiteDetailsModal.vue # 网站详情弹窗
│ └── utils/
│ └── api.js # ⭐ API 调用方法
├── index.html # HTML 模板
├── vite.config.js # Vite 配置(代理设置)
└── package.json
- Node.js 14+
- npm 6+
后端:
cd i:\CatPawOpen\nodejs
npm install前端:
cd i:\CatPawOpen\frontend
npm install在终端 1 启动后端:
cd i:\CatPawOpen\nodejs
npm run dev
# 后端运行在 http://127.0.0.1:3006在终端 2 启动前端:
cd i:\CatPawOpen\frontend
npm run dev
# 前端运行在 http://localhost:5173打开浏览器访问: http://localhost:5173
| 端点 | 方法 | 说明 |
|---|---|---|
/check |
GET | 检查服务是否运行 |
/config |
GET | 获取完整的 CatVod 配置 |
| 端点 | 方法 | 说明 |
|---|---|---|
/admin/env |
GET | 读取 .env 环境变量 |
/admin/env |
POST | 保存环境变量到 .env 文件 |
/admin/spiders |
GET | 获取所有爬虫列表 |
/admin/spiders/:key/test |
POST | 测试指定爬虫 |
/admin/logs |
GET | 获取运行日志 |
/admin/clear-logs |
POST | 清除所有日志 |
所有爬虫接口均位于: /spider/{key}/{type}
示例:
/spider/kunyu77/3- 琨娱七七(视频源)/spider/alist/40- Alist(网盘源)
# 阿里云配置
ALI_TOKEN=your_token_here
ALI_TOKEN280=your_jwt_token_here
ALI_DRIVE_ID=
ALI_ROOT_FOLDER=/
ALI_TIMEOUT=10000
# Quark 网盘
QUARK_COOKIE=your_cookie_here
# 哔哩哔哩
BILI_COOKIE=your_cookie_here
# Yiso
YISO_URL=https://yiso.fun
YISO_COOKIE=your_cookie_here
# UC
UC_COOKIE=your_cookie_here
# 开发环境
NODE_ENV=development
DEV_HTTP_PORT=3006- 打开 http://localhost:5173
- 点击 ⚙️ 配置管理 标签页
- 填入 Token、Cookie 等信息
- 点击 💾 保存到服务器 按钮
- 配置会实时保存到
.env文件
- 打开管理界面
- 点击 🧪 爬虫管理 标签页
- 每个爬虫卡片都可以:
- 🧪 测试 - 验证爬虫是否正常运行
- 🔒/🔓 启用/禁用 - 控制爬虫在配置中是否显示
- 结果会在卡片下方实时显示
- 实时日志 - 自动更新系统运行日志
- 日志过滤 - 按类型筛选(信息/错误/全部)
- 日志统计 - 显示各类日志的数量
- 日志清空 - 清除所有历史日志
- ✅ 敏感配置存储在
.env文件中 - ✅
.env已添加到.gitignore,不会提交到 Git - ✅ 前端提供 UI 便利地管理配置
- ✅ 所有 API 调用都是 HTTPS 就绪的
编辑 nodejs/src/router.js:
fastify.post('/admin/new-endpoint', async (request, reply) => {
try {
// 处理逻辑
addLog('info', 'module-name', '操作完成');
reply.send({ success: true });
} catch (error) {
addLog('error', 'module-name', error.message);
reply.status(500).send({ error: error.message });
}
});- 在
frontend/src/views/创建新文件 - 在
App.vue的tabs中添加新标签 - 导入新组件并添加显示条件
# 检查后端是否运行
# 应该看到日志: Run on <port_number>
# 检查 Vite 代理设置
# 文件: frontend/vite.config.js
# 确保代理指向正确的后端地址# 1. 检查 .env 文件权限
# 2. 查看后端日志中的错误信息
# 3. 确保 .env 文件存在# 1. 检查 Token/Cookie 是否正确
# 2. 查看运行日志页面的详细错误
# 3. 验证爬虫模块是否正常加载- 后端 API 框架
- 环境变量管理接口
- 爬虫测试接口
- 日志系统
- 前端管理界面
- 配置管理页面
- 爬虫管理页面
- 日志查看页面
- 数据库集成(可选)
- 用户认证系统(可选)
- WebSocket 实时更新(可选)
╔════════════════════════════════════╗
║ 浏览器 (localhost:5173) ║
║ ┌─────────────────────────┐ ║
║ │ Vue 3 + Vite 管理界面 │ ║
║ │ - 配置管理 │ ║
║ │ - 爬虫测试 │ ║
║ │ - 日志查看 │ ║
║ └────────┬────────────────┘ ║
╚═════════════│═════════════════════╝
│ HTTP(S)
│ :5173 ↔ 127.0.0.1:3006
│
╔═════════════▼═════════════════════╗
║ 后端服务 (127.0.0.1:3006) ║
║ ┌─────────────────────────┐ ║
║ │ Node.js + Fastify │ ║
║ │ - 配置 API │ ║
║ │ - 爬虫路由 │ ║
║ │ - 日志系统 │ ║
║ └────────┬────────────────┘ ║
║ │ ║
║ ┌────────▼────────┐ ║
║ │ .env 配置文件 │ ║
║ │ 爬虫模块 │ ║
║ │ 内存日志 │ ║
║ └─────────────────┘ ║
╚════════════════════════════════════╝
- 快速配置 - 复制/粘贴 Token 和 Cookie,一键保存
- 批量测试 - 逐个测试各个爬虫源,确保正常
- 日志追踪 - 通过日志快速定位问题
- 实时监控 - 管理界面每 5 秒自动检查服务状态
- 问题反馈 - 查看 GitHub Issues
- 功能建议 - 提交 Pull Request
- 文档改进 - 编辑本文件
MIT License - 自由使用和修改
感谢所有为这个项目做出贡献的开发者!
最后更新: 2026-02-27 | 版本: 1.0.0 | 状态: ✅ 生产就绪