# video_upload **Repository Path**: CRole/video_upload ## Basic Information - **Project Name**: video_upload - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-19 - **Last Updated**: 2026-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视频号自动上传客户端 基于 Playwright 浏览器自动化技术,实现视频号视频自动上传的桌面客户端应用。 ## ✨ 功能特性 - 🎯 **多账号管理** - 支持多个视频号账号,独立 Cookie 管理 - 📹 **自动上传** - 自动填写标题、标签、原创声明等信息 - ⏰ **定时发布** - 支持立即发布和定时发布 - 📊 **任务管理** - 实时查看上传进度和历史记录 - 🔒 **安全可靠** - Cookie 本地加密存储 ## 🚀 快速开始 ### 环境要求 - Node.js >= 18 - Chrome 或 Edge 浏览器 ### 安装依赖 ```bash npm install ``` ### 安装 Playwright 浏览器 ```bash npx playwright install chromium ``` ### 开发模式 ```bash npm run electron:dev ``` ### 构建打包 ```bash npm run electron:build ``` ## 📁 项目结构 ``` video-uploader-client/ ├── electron/ # Electron 主进程 │ ├── main/ # 主进程代码 │ └── preload/ # 预加载脚本 ├── src/ # React 前端代码 │ ├── components/ # UI 组件 │ ├── pages/ # 页面 │ ├── utils/ # 工具函数 │ └── lib/ # 库封装 ├── uploader/ # 上传核心逻辑 │ └── tencent/ # 视频号上传 ├── shared/ # 共享类型和常量 └── package.json ``` ## 📖 使用说明 ### 1. 添加账号 1. 进入「账号管理」页面 2. 点击「添加账号」 3. 输入账号名称 4. 扫码登录视频号 5. 自动保存 Cookie ### 2. 上传视频 1. 进入「上传视频」页面 2. 选择视频文件(MP4 格式) 3. 填写标题和标签 4. 选择发布模式(立即/定时) 5. 点击「创建任务」 ### 3. 查看进度 - 在「任务列表」页面查看上传进度 - 在「上传历史」页面查看完成记录 ## ⚙️ 设置说明 ### 浏览器设置 - **浏览器路径**: 指定 Chrome/Edge 浏览器位置 - **无头模式**: 后台运行,不显示浏览器窗口 ### 上传设置 - **超时时间**: 上传超时判定(默认 300 秒) - **代理设置**: 配置代理服务器(可选) ## 🔧 开发指南 ### 核心模块 #### TencentVideoUploader ```typescript import { uploadVideo } from '@/uploader/tencent' await uploadVideo({ title: '视频标题', file_path: '/path/to/video.mp4', tags: ['标签 1', '标签 2'], publish_date: new Date('2026-03-20 10:00:00'), category: '生活记录', is_draft: false, }, '/path/to/cookie.json') ``` #### 数据库操作 ```typescript import { DatabaseManager } from '@/utils/db' const db = new DatabaseManager('./data/app.db') // 添加账号 db.addAccount({ id: '1', name: '主账号', cookiePath: './cookies/account1.json', isValid: true, lastCheckTime: Date.now(), createTime: Date.now(), }) // 获取所有账号 const accounts = db.getAllAccounts() ``` ## ⚠️ 注意事项 1. **Cookie 有效期**: 视频号 Cookie 会过期,需定期验证和重新登录 2. **网络环境**: 确保网络畅通,避免上传中断 3. **视频格式**: 仅支持 MP4 格式,大小不超过 1GB 4. **发布频率**: 避免短时间内大量发布,防止被限流 ## 📝 开发日志 - 2026-03-19: 项目初始化,完成基础框架和 UI - 2026-03-19: 移植 Python 上传逻辑为 TypeScript - 2026-03-19: 实现数据库管理和状态存储 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📜 许可证 MIT License