# shortvideo **Repository Path**: mo3408/shortvideo ## Basic Information - **Project Name**: shortvideo - **Description**: 轻松解析任何短视频,支持抖音、快手、B 站、小红书等平台,一键提取无水印视频与图集,简单免费。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-07-04 - **Last Updated**: 2026-07-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: 去水印, 多平台 ## README # 🎬 晚风棱镜 v3.0 短视频去水印解析工具 [English](README_en.md) | [中文](#项目简介) --- ## 📋 目录 - [项目简介](#-项目简介) - [技术栈](#-技术栈) - [项目结构](#-项目结构) - [快速开始](#-快速开始) - [功能说明](#-功能说明) - [核心模块](#-核心模块) - [API 接口](#-api-接口) - [组件架构](#-组件架构) - [配置说明](#-配置说明) - [浏览器兼容](#-浏览器兼容) - [开发指南](#-开发指南) - [部署说明](#-部署说明) - [开源协议](#-开源协议) - [联系方式](#-联系方式) --- ## 🌟 项目简介 晚风棱镜 v3.0 是一款简洁高效的在线短视频去水印解析工具,支持抖音、快手、B站、小红书等多个主流平台的一键无水印视频及图集解析。 > 💡 **项目亮点**:该项目已使用 **Vue 3** 框架进行全面重构,采用现代化的前端技术栈,提供更好的性能和开发体验。 ### ✨ 核心特点 | 特性 | 说明 | |------|------| | 🌐 多平台支持 | 抖音、快手、B站、小红书、微博、微视、皮皮虾等 | | 🚀 无水印解析 | 一键提取无水印视频和图集 | | 🔓 简单免费 | 无需注册,打开即可使用 | | 🎨 界面美观 | 现代化 UI 设计,支持浅色/深色模式自动切换 | | 🌍 多语言支持 | 中文、English | | 📥 批量下载 | 支持打包下载多个图片和视频资源 | ### 🔗 在线体验 - 🖥️ 演示地址:[https://sy.snowytime.cn](https://sy.snowytime.cn) --- ## 🛠️ 技术栈 | 分类 | 技术 | 版本 | 说明 | |------|------|------|------| | 前端框架 | | 3.x | 渐进式 JavaScript 框架 | | 构建工具 | | 6.x | 下一代前端构建工具 | | 状态管理 | | 2.x | Vue 官方状态管理库 | | 路由管理 | | 4.x | Vue 官方路由管理器 | | 样式框架 | | 3.x | 实用优先的 CSS 框架 | | 图标库 | | 6.x | 流行的图标库 | | 压缩库 | | 3.x | 用于打包下载资源 | --- ## 📁 项目结构 ``` shortvideo/ # 项目根目录 ├── src/ # 源代码目录 │ ├── components/ # Vue 组件(12个) │ │ ├── HeaderNav.vue # 顶部导航栏 │ │ ├── HeroSection.vue # 主横幅区域 │ │ ├── PlatformTabs.vue # 平台选择标签 │ │ ├── PlatformGrid.vue # 支持平台展示 │ │ ├── ResultSection.vue # 解析结果展示 │ │ ├── TutorialSection.vue # 使用教程 │ │ ├── FaqSection.vue # 常见问题 │ │ ├── FooterSection.vue # 页脚 │ │ ├── ToastContainer.vue # Toast 提示容器 │ │ ├── ProgressModal.vue # 进度弹窗 │ │ ├── DownloadCard.vue # 下载卡片 │ │ └── ParticlesCanvas.vue # 粒子背景动画 │ ├── composables/ # 组合式函数(3个) │ │ ├── useButtonControl.js # 按钮控制(防抖、重试、超时) │ │ ├── useI18n.js # 国际化支持 │ │ └── useRequestTimeout.js # 请求超时处理 │ ├── stores/ # Pinia 状态管理(1个) │ │ └── video.js # 视频解析状态 │ ├── services/ # 服务层(2个) │ │ ├── operationLogger.js # 操作日志记录 │ │ └── retryManager.js # 请求重试管理 │ ├── utils/ # 工具函数(2个) │ │ ├── antiReplay.js # 防重放攻击 │ │ └── rateLimit.js # 请求频率限制 │ ├── router/ # 路由配置(1个) │ │ └── index.js # 路由定义 │ ├── assets/ # 静态资源 │ │ └── design-system.css # 设计系统样式 │ ├── App.vue # 根组件 │ ├── main.js # 应用入口 │ └── style.css # 全局样式 ├── dist/ # 构建产物(npm run build 生成) ├── index.html # HTML 模板 ├── vite.config.js # Vite 配置 ├── tailwind.config.js # Tailwind CSS 配置 ├── postcss.config.js # PostCSS 配置 ├── LICENSE # 开源协议 ├── README.md # 项目文档(中文) └── README_en.md # 项目文档(英文) ``` --- ## 🚀 快速开始 ### 环境要求 | 依赖 | 最低版本 | 说明 | |------|----------|------| | Node.js | >= 18.0.0 | JavaScript 运行环境 | | npm | >= 9.0.0 | 包管理器 | ### 安装依赖 ```bash npm install ``` ### 开发模式 ```bash npm run dev ``` 启动后访问 **http://localhost:5173** ### 生产构建 ```bash npm run build ``` 构建产物输出到 `dist/` 目录 ### 预览构建结果 ```bash npm run preview ``` --- ## 🎯 功能说明 ### 1. 📹 视频解析 ``` 粘贴链接 → 自动识别平台 → 点击解析 → 获取无水印资源 ``` - 支持粘贴短视频分享链接 - 自动识别平台(可选手动选择) - 一键解析,快速获取无水印视频或图集 ### 2. 🌐 支持平台 | 平台 | API 接口 | 支持内容 | 状态 | |------|----------|----------|------| | 📱 抖音 | `/api/douyin` | 视频、图集、音乐 | ✅ | | 📸 快手 | `/api/ksjx` | 视频、图集 | ✅ | | 📺 B站 | `/api/bilibili` | 视频 | ✅ | | 🌸 小红书 | `/api/xhsjx` | 视频、图集、实况照片 | ✅ | | 📰 今日头条 | `/api/toutiao` | 视频 | ✅ | | 🔄 通用 | `/api/short_videos` | 自动识别 | ✅ | ### 3. 🎨 主题切换 - 🌞 **浅色模式**:清爽明亮,适合白天使用 - 🌙 **深色模式**:护眼舒适,适合夜间使用 - ⏰ **自动切换**:根据系统时间自动切换(6:00-18:00 浅色,其余深色) - 👆 **手动切换**:点击导航栏右侧主题图标 ### 4. 🌍 多语言支持 | 语言 | 代码 | 切换方式 | |------|------|----------| | 中文 | zh-CN | 点击导航栏语言按钮 | | English | en | 点击导航栏语言按钮 | ### 5. 📥 下载功能 | 功能 | 说明 | |------|------| | 📦 单文件下载 | 直接下载单个视频或图片 | | 📁 批量下载 | 打包为 ZIP 文件下载所有资源 | | 📊 实时进度 | 显示下载进度和速度 | | ⏸️ 暂停/取消 | 支持暂停和取消下载任务 | --- ## 🧩 核心模块 ### 1. 状态管理 (Pinia) `src/stores/video.js` 管理全局状态: | 状态 | 类型 | 说明 | |------|------|------| | `resultData` | Object | 解析结果数据 | | `toasts` | Array | Toast 提示列表 | | `downloads` | Array | 下载任务列表 | | `showProgress` | Boolean | 进度弹窗状态 | ### 2. 组合式函数 **useButtonControl** - 按钮控制组合式函数: | 功能 | 说明 | |------|------| | ⚡ 节流控制 | 防止频繁点击 | | 🔒 防重放保护 | 防止重复请求 | | ⏱️ 请求超时 | 自动超时处理 | | 🔄 自动重试 | 失败自动重试 | ### 3. 工具函数 | 函数 | 功能 | |------|------| | `antiReplay` | 防重放攻击(时间戳验证、签名生成) | | `rateLimit` | 频率限制(请求计数、限流策略) | --- ## 🔌 API 接口 ### 基础请求 ```http GET /api/short_videos?url={视频链接} ``` ### 响应格式 ```json { "code": 200, "msg": "success", "data": { "title": "视频标题", "url": "无水印视频地址", "cover": "封面图片", "images": ["图片1", "图片2"], "music": { "name": "背景音乐名", "url": "音乐地址" }, "live_photo": [ { "image": "封面", "video": "视频" } ], "video_backup": [ { "url": "备用视频地址", "label": "备用源" } ] } } ``` --- ## 🏗️ 组件架构 ``` App.vue (根组件) ├── ParticlesCanvas (粒子背景动画) ├── ToastContainer (全局提示) ├── ProgressModal (进度弹窗) ├── DownloadCard (下载卡片) ├── HeaderNav (导航栏) ├── main (主内容区) │ ├── HeroSection (主横幅) │ ├── ResultSection (解析结果) │ ├── PlatformGrid (平台展示) │ ├── TutorialSection (教程) │ └── FaqSection (常见问题) └── FooterSection (页脚) ``` --- ## ⚙️ 配置说明 ### Vite 配置 (`vite.config.js`) ```javascript import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': '/src' // 路径别名 } } }) ``` ### Tailwind 配置 (`tailwind.config.js`) 支持深色模式和自定义主题色,具体配置请查看该文件。 --- ## 🌐 浏览器兼容 | 浏览器 | 最低版本 | 状态 | |--------|----------|------| | Chrome | 80+ | ✅ 支持 | | Firefox | 75+ | ✅ 支持 | | Safari | 13+ | ✅ 支持 | | Edge | 80+ | ✅ 支持 | --- ## 📝 开发指南 ### 添加新平台 1. 在 `src/App.vue` 的 `PLATFORM_API_MAP` 中添加 API 映射 2. 在组件中添加平台选项 3. 更新国际化翻译 ### 添加新语言 1. 在 `src/composables/useI18n.js` 中添加翻译对象 2. 更新 `HeaderNav.vue` 语言切换按钮 ### 代码规范 | 规范 | 说明 | |------|------| | 框架 | 使用 Vue 3 Composition API | | 检查 | 使用 ESLint 检查代码风格 | | 组件命名 | PascalCase(如 HeaderNav.vue) | | 文件命名 | kebab-case(如 use-button-control.js) | --- ## 🚀 部署说明 ### 静态部署 将 `dist/` 目录部署到任意静态文件服务器: | 平台 | 说明 | |------|------| | Nginx | 高性能 Web 服务器 | | Apache | 流行的 Web 服务器 | | Netlify | 云端静态托管 | | Vercel | 云端静态托管 | | GitHub Pages | GitHub 静态页面托管 | ### Nginx 配置示例 ```nginx server { listen 80; server_name your-domain.com; root /path/to/dist; index index.html; location / { try_files $uri $uri/ /index.html; } } ``` --- ## 📄 开源协议 本项目采用 **MIT 开源协议**,欢迎 Star 和贡献! ``` MIT License Copyright (c) 2026 晚风棱镜 ``` --- ## 📞 联系方式 | 方式 | 信息 | |------|------| | 👤 作者 | 鸾姝淡月 | | 📧 邮箱 | snowytime@agent.qq.com | | 🌐 博客 | https://www.snowytime.cn | | 🐙 GitHub | https://gitee.com/mo3408/shortvideo | --- ## ⭐ Star History > 💝 如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!