Skip to content

UtopiaLee/CatPawOpen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CatPawOpen - CatVod 完整管理系统

一个为 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+

1️⃣ 安装依赖

后端:

cd i:\CatPawOpen\nodejs
npm install

前端:

cd i:\CatPawOpen\frontend
npm install

2️⃣ 启动服务

在终端 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

3️⃣ 访问管理界面

打开浏览器访问: http://localhost:5173

🔌 完整 API 列表

基础接口

端点 方法 说明
/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

保存配置步骤

  1. 打开 http://localhost:5173
  2. 点击 ⚙️ 配置管理 标签页
  3. 填入 Token、Cookie 等信息
  4. 点击 💾 保存到服务器 按钮
  5. 配置会实时保存到 .env 文件

🧪 爬虫测试

  1. 打开管理界面
  2. 点击 🧪 爬虫管理 标签页
  3. 每个爬虫卡片都可以:
    • 🧪 测试 - 验证爬虫是否正常运行
    • 🔒/🔓 启用/禁用 - 控制爬虫在配置中是否显示
  4. 结果会在卡片下方实时显示

📋 日志功能

  • 实时日志 - 自动更新系统运行日志
  • 日志过滤 - 按类型筛选(信息/错误/全部)
  • 日志统计 - 显示各类日志的数量
  • 日志清空 - 清除所有历史日志

🔒 安全说明

  • ✅ 敏感配置存储在 .env 文件中
  • .env 已添加到 .gitignore,不会提交到 Git
  • ✅ 前端提供 UI 便利地管理配置
  • ✅ 所有 API 调用都是 HTTPS 就绪的

📝 开发指南

添加新 API 接口

编辑 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 });
  }
});

添加新前端页面

  1. frontend/src/views/ 创建新文件
  2. App.vuetabs 中添加新标签
  3. 导入新组件并添加显示条件

🐛 故障排查

前端无法连接后端

# 检查后端是否运行
# 应该看到日志: 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 配置文件   │            ║
║    │ 爬虫模块        │            ║
║    │ 内存日志        │            ║
║    └─────────────────┘            ║
╚════════════════════════════════════╝

💡 使用技巧

  1. 快速配置 - 复制/粘贴 Token 和 Cookie,一键保存
  2. 批量测试 - 逐个测试各个爬虫源,确保正常
  3. 日志追踪 - 通过日志快速定位问题
  4. 实时监控 - 管理界面每 5 秒自动检查服务状态

📞 支持

  • 问题反馈 - 查看 GitHub Issues
  • 功能建议 - 提交 Pull Request
  • 文档改进 - 编辑本文件

📄 许可证

MIT License - 自由使用和修改

👨‍💻 贡献者

感谢所有为这个项目做出贡献的开发者!


最后更新: 2026-02-27 | 版本: 1.0.0 | 状态: ✅ 生产就绪

About

Continue the development of CatVodOpen.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 67.2%
  • Vue 28.7%
  • CSS 3.3%
  • Other 0.8%