# swipeflow **Repository Path**: singlr/swipeflow ## Basic Information - **Project Name**: swipeflow - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-07 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 刷Flow (SwipeFlow) **轻量级网页版短视频播放器 · 类抖音交互体验 · 多数据源聚合** ![.NET 8](https://img.shields.io/badge/.NET-8-blue) ![Furion](https://img.shields.io/badge/Furion-4.9+-green) ![SqlSugar](https://img.shields.io/badge/SqlSugar-5.1+-orange) ![Vben Admin](https://img.shields.io/badge/Vben%20Admin-5.0-purple) ![Element Plus](https://img.shields.io/badge/Element%20Plus-2.x-blue) ![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue) ![License](https://img.shields.io/badge/License-MIT-green) ![Status](https://img.shields.io/badge/Status-Active-blue)
--- ## 项目简介 **刷Flow** 是一个基于 Web 的短视频播放器应用,提供类似抖音的竖屏全屏、上下滑动切换的沉浸式浏览体验。支持对接多种数据源——包括通过账号授权自动同步今日头条收藏视频、后台手动录入、JSON 批量导入等,可灵活扩展内容来源。 ### 核心特性 - **沉浸式播放** — 竖屏全屏、上下滑动切换、自动播放/暂停 - **移动端适配** — 手势操作、内联播放、触屏优化 - **多数据源** — 支持头条收藏同步(Cookie 授权 + 浏览器抓取)、后台手动录入、JSON 批量导入 - **边抓边入库** — 收藏同步每抓到一批就按稳定内容 ID 去重写库,中途中断也不丢已抓数据 - **点开即播** — 头条直链过期自动刷新(常驻无头浏览器复用 + 按「并发刷新数」并行,单条约 2 秒;服务启动即预热浏览器)+ 同源流代理,封面自动本地化,绕开跨域与防盗链;视频本地转存可选(默认关闭,播放走在线直链) - **用户互动** — 前端用户登录后可点赞、收藏视频,未登录按设备标识记录浏览 - **流畅体验** — 视频预加载、播放结束自动切换下一条、滑动窗口自动释放解码器 - **后台管理** — 基于 Vben Admin 5 + Element Plus 的可视化内容管理系统(含定时任务管理) - **高性能后端** — .NET 8 + Furion + SqlSugar,RESTful API 自动生成 ## 技术架构 ``` ┌──────────────────────────────────────────────────┐ │ 前端播放器 (SPA,8004) │ │ Vue 3 + Vite + 原生 video + 自定义手势 │ └──────────────────────┬───────────────────────────┘ │ RESTful API(开发态跨域,发布态 /api 反代) ┌──────────────────────▼───────────────────────────┐ │ 后端服务层 (.NET 8,5002) │ │ ASP.NET Core + Furion 4.9+ (动态 WebAPI · │ │ JWT 鉴权 · 统一异常处理 · Swagger) │ ├──────────────────────────────────────────────────┤ │ ORM 层 (SqlSugar 5.1+) │ │ CodeFirst 自动建表 · 链式查询 · 分页 · SQLite │ └──────────────────────┬───────────────────────────┘ │ ┌──────────────────────▼───────────────────────────┐ │ 数据与抓取层 │ │ SQLite (Data/database.db) · Playwright 浏览器抓取 │ │ (收藏同步 / 直链刷新 / 账号授权)· 转存与封面本地化 │ └──────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ 管理后台 (SPA,8003) │ │ Vben Admin 5.0 + Element Plus + TypeScript │ │ Monorepo (pnpm + Turborepo) │ │ 视频/数据源/系统配置/定时任务管理 │ └──────────────────────────────────────────────────┘ ``` ### 技术栈详情 | 层级 | 技术选型 | 说明 | |------|----------|------| | **后端框架** | .NET 8 + ASP.NET Core + Furion 4.9+ | 动态 WebAPI、依赖注入、JWT 鉴权、Swagger、统一异常处理 | | **ORM** | SqlSugar 5.1+ | 高性能 ORM,CodeFirst 自动建表、链式查询、分页、SQLite 适配 | | **数据库** | SQLite | 轻量级嵌入式数据库,零配置部署,库文件在 `Data/database.db` | | **浏览器自动化** | Microsoft.Playwright | 头条授权登录、收藏页抓取、播放直链刷新(优先复用本机 Edge/Chrome,不下载内核) | | **定时任务** | Quartz 3.22 + AdoJobStore | 自研调度方案:调度信息持久化到 SQLite 的 `QRTZ_` 表,任务定义与执行记录落在业务表 `quartz_job_definition` / `job_execution_log`,后台原生页面管理 | | **管理后台** | Vben Admin 5.0 + Element Plus | Monorepo 架构,动态路由、细粒度权限、多主题 | | **前端播放器** | Vue 3 + Vite + 原生 `