Files
file-relay-ui/README-new.md

2.7 KiB

文件中转站前端

一个基于 Vue 3 + TypeScript + Vite + Shadcn-Vue 构建的文件中转站前端应用。

项目简介

文件中转站是一个极简的文件暂存服务,用户可以像使用现实中的暂存柜一样,将文件、文本等内容临时存储在网站中,并获得一个取件码用于在其他设备上提取文件。

主要功能

用户功能

  • 文件上传: 支持批量上传多种格式的文件
  • 文本分享: 快速分享长文本内容
  • 取件码提取: 使用取件码获取文件或文本
  • 过期策略: 支持按时间或下载次数设置过期规则
  • 快捷操作: 一键复制、打包下载等便捷功能

管理功能

  • 批次管理: 查看、编辑、删除文件批次
  • API Token: 创建和管理 API 访问凭证
  • 数据统计: 系统运行状态和使用统计
  • 权限控制: 管理员密码保护的后台系统

技术栈

  • 框架: Vue 3 + TypeScript
  • 构建工具: Vite
  • UI 组件: Shadcn-Vue (基于 Tailwind CSS)
  • 路由: Vue Router
  • HTTP 客户端: Axios
  • 状态管理: 组合式 API
  • 代码规范: ESLint + Prettier

快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn 或 pnpm

安装依赖

npm install

开发环境

npm run dev

启动后访问 http://localhost:5173

构建生产版本

npm run build

预览构建结果

npm run preview

环境配置

创建环境变量文件:

.env (通用配置)

VITE_API_URL=http://localhost:8080
VITE_APP_TITLE=文件中转站
VITE_APP_DESCRIPTION=安全便捷的文件暂存服务

.env.development (开发环境)

VITE_API_URL=http://localhost:8080

.env.production (生产环境)

VITE_API_URL=/api

页面路由

用户页面

  • / - 首页 (取件/存件切换)
  • /upload - 文件上传页面
  • /pickup - 取件页面
  • /pickup/:code - 直接取件 (URL 包含取件码)

管理页面 (隐藏入口)

  • /admin/login - 管理员登录
  • /admin - 管理概览
  • /admin/batches - 批次管理
  • /admin/tokens - API Token 管理

功能特点

用户体验

  • 极简设计: 首页默认取件,一键切换存件模式
  • 智能识别: 自动识别文件类型并显示对应图标
  • 快捷操作: 支持剪贴板粘贴取件码、一键复制等
  • 进度反馈: 上传进度显示和状态提示
  • 响应式设计: 完美适配桌面和移动设备

管理功能

  • 数据统计: 实时显示系统运行数据
  • 批次管理: 支持搜索、筛选、分页查看
  • 权限控制: Token 可设置权限范围和过期时间
  • 操作日志: 详细的操作记录和状态跟踪

许可证

MIT License