AI夹克

项目:文件分享站

项目概览

拖拽上传文件 → 生成分享链接 → 设置密码保护 → 一键分享。

⏱️ 预计 2 小时 | 🛠️ Vue 3 + Supabase Storage

功能清单

  • 拖拽/点击上传文件
  • 上传进度条
  • 生成唯一分享链接
  • 设置下载密码(可选)
  • 设置过期时间(1h/24h/7天)
  • 显示文件类型图标
  • 一键复制分享链接

跟着做

Supabase Storage 配置:

-- 创建存储桶
INSERT INTO storage.buckets (id, name, public) VALUES ('files', 'files', false);

-- 允许已认证用户上传
CREATE POLICY "允许上传" ON storage.objects
  FOR INSERT WITH CHECK (auth.role() = 'authenticated');

前端核心:

帮我做一个文件分享工具(Vue 3 + Supabase Storage):
1. 拖拽区域:虚线框,支持拖拽或点击上传
2. 上传进度条,显示百分比
3. 上传完成后显示文件信息:名称、大小、类型图标
4. 设置面板:下载密码(可选)、过期时间(1小时/24小时/7天)
5. 点击"生成链接"按钮,显示分享链接
6. 一键复制链接到剪贴板
7. 设计参考 WeTransfer 风格

✅ 项目成果

  • 一个可用的文件分享站
  • 掌握了文件上传和云存储
  • 理解了权限和密码保护