-
Notifications
You must be signed in to change notification settings - Fork 998
Description
基于您提供的 JSON 数据,我对 FileCodeBox 项目的 Issue 进行了深入的分析、分类和可行性评估。
用户的需求主要集中在 “大文件传输稳定性”、“批量操作(上传/下载)”、“UI/UX体验(进度条/登录)” 以及 “直连存储(S3/WebDAV)” 上。
以下是整理好的 开发计划 (To-Do List) 和 暂缓/拒绝列表。
✅ 开发计划 (To-Do List)
我将可行性较高的 Issue 按优先级分为了四个板块:Bug 修复、核心功能增强、用户体验优化、系统与存储。
1. 🐛 紧急 Bug 修复 (Critical Fixes)
这些问题严重影响核心功能,建议优先处理。
[ ] 修复大文件分片与断点续传问题 (ID: [Bug]: 跨天续传导致文件合并失败,且中断上传后分片文件未被清理 #362, 上传到一半就提示失败 #423, 上传大于2g的文件的时候报错 #415)
描述:跨天续传失败、分片合并失败、大于2G文件报错。需检查
get_chunk_file_path_name的日期逻辑和临时文件清理机制。
[ ] 修复反向代理/CDN 下的下载与上传问题 (ID: 反向代理后wget下载失败 #400, 使用webdav储存策略时出现问题 #394, FilecodeBox二级反代的问题 #271, Cloudflare 代理引发的文件上传失败 #352)
描述:Nginx/Cloudflare 代理后 wget 失败或上传中断。需检查 Header 透传及超时设置。
[ ] 修复 WebDAV/S3 命名与编码错误 (ID: webdav 上传文件后,下载显示 Internal Server Error #319, wget下载后不会保持源文件格式 #331, [ bug 反馈 ] 接收页面弹窗的点击下载按钮逻辑优化 #285)
描述:WebDAV 上传中文/特殊字符文件报错;wget 下载文件名乱码;S3 链接拼接错误。
[ ] 修复并发/重复点击导致的多重上传 (ID: 上传过程中可以多次点击安全寄送导致上传多份同样的文件 #322, 上传完文件,然后再次上传该文件无反应 #320)
描述:上传中再次点击导致重复任务,需在前端增加防抖或禁用按钮状态。
[ ] 修复时区导致的过期时间显示错误 (ID: 关于过期时间 #407)
描述:服务器时间与本地时间差异导致刚上传即过期。建议统一使用 UTC 时间戳交互。
2. ✨ 核心功能增强 (Core Features)
用户呼声最高的功能,能显著提升工具的实用性。
[ ] 支持批量上传/文件夹上传 (ID: 能否支持批量上传文件 #374, 手机拍的图片批量上传分享电脑或外部,一个图片一个取件码不是很方便。 #373, 【功能建议】支持批量上传多个文件 #296)
描述:支持一次选中多个文件或拖拽文件夹,通过一个取件码分享(可打包下载或列出文件列表)。
[ ] 实现“文件收集/寄件”模式 (ID: 文件收集功能什么时候上线呢 #409, 请问什么时候能体验到文件收集功能呢? #367)
描述:类似“文件收集单”,创建一个链接,允许他人向该链接上传文件(仅上传,不可见他人文件)。
[ ] CLI 命令行支持 (Curl/Upload) (ID: 希望添加命令行上传和下载的功能 #386, 【功能建议】已经有wget下载,那么也应该有命令行上传 #380)
描述:支持
curl -T file http://...上传,并直接返回下载命令。方便服务器间传输。
[ ] 混合发送模式 (ID: 发送文件时,是否可以设置文本和文件同时可以发送,而不是并列的二选一。 #433)
描述:允许在一个“寄件”中同时包含文本消息和文件,不再强制二选一。
[ ] 简易权限控制/上传密码 (ID: 可否添加一个密码仅用于上传文件,但不能登录后台 #140, 能否提供授权码验证,管理员可以生成一定有效期或次数的授权码,只有通过授权码才能上传文件 #171, 大佬~希望能加个简易权限,游客上传大小限制,管理员上传大小限制 #134)
描述:不开启全功能的复杂用户系统,但增加“上传密码”或“授权码”功能,仅持有密码者可上传。
3. 🖥️ UI/UX 体验优化 (User Experience)
[ ] 优化上传进度与速度显示 (ID: 希望能增加多文件同时上传和上传速度及百分比的显示 #419, [功能建议] 建议增加上传显示实时进度和速度 #395, 上传文件时,上传进度提示不对 #291, 上传文件进度条不准确 #223)
描述:高频需求。显示具体的上传速度(MB/s)、百分比数值、剩余时间。解决“进度条满了但还在处理”的视觉误差。
[ ] 优化登录流程与状态保持 (ID: [ UX 优化 ] 优化登录流程 #430, [Feature Request]希望可以自定义用户登录的过期时间或增加登录态自动续期 #428, 后台关闭游客上传后,建议游客在点 上传 按钮时就提示 游客不能上传 #184)
描述:JWT 自动续期或自定义过期时间;在上传页直接提示登录状态,避免传完才报 401。
[ ] 自定义取件码 (ID: 能否自定义取件码? #356, 希望增加取件码自定义的功能 #236)
描述:允许用户(特别是永久文件)自定义易记的取件码(如 66666)。
[ ] 文本分享优化 (ID: 【FEATURE】提取文字的时候加一个一键复制的功能 #360, 复制分享下载链接 #406, 功能请求 #232)
描述:增加“一键复制”按钮;支持 Markdown 渲染;支持更长的文本预览。
[ ] 管理后台体验 (ID: 对于文件后台管理功能上的需求 #201, 建议在文件管理界面增加批量下载功能 #366)
描述:后台增加文件名搜索功能;后台增加批量删除/下载功能。
4. ⚙️ 系统与存储优化 (System & Storage)
[ ] S3/对象存储直链上传下载 (ID: S3对象存储希望能直链上传下载 #432, 对象存储能否直接返回直链而不是通过服务器中转 #337, 服务器带宽和硬盘都很小,能否支持直接上传到云端 #315)
描述:重要性能优化。使用预签名 URL (Presigned URL) 让客户端直接与 S3 通信,减轻服务器带宽压力,解决 咨询下上传速度问题 #426 提到的速度慢问题。
[ ] WebDAV 连通性测试与重定向 (ID: 【功能建议】存储方式增加“连通性测试”按钮 #392, 建议增加一个webdav 检查功能 #317, [ 功能建议 ] webdav 存取支持重定向 #282)
描述:配置页增加“测试连接”按钮;支持 WebDAV 302 重定向下载以节省流量。
[ ] PWA 支持 (ID: 添加PWA功能 #417)
描述:添加 manifest.json 和 sw.js,方便手机端作为 App 使用。
[ ] 环境适配 (ID: 不支持python3.13,以至于debian13不能使用 #393)
描述:升级依赖库 (pydantic) 以支持 Python 3.13 / Debian 13。
🚫 暂缓或建议拒绝的 Issue (Rejected / On Hold)
以下 Issue 建议暂时搁置、拒绝或通过文档解决,原因如下:
Issue ID | 标题/内容 | 建议处理方式 | 原因分析 -- | -- | -- | -- #274 | 新增屏幕共享 | 拒绝 (Out of Scope) | 项目定位是文件快递柜(异步传输),屏幕共享是实时流媒体(WebRTC),技术栈跨度太大,会使项目变得臃肿。 #243 | 局域网点对点直传 | 暂缓 (Low Priority) | 同样涉及 WebRTC P2P 技术。虽然好用,但目前的服务器中转架构无法直接支持,开发成本过高。 #333 | 多用户功能 | 暂缓 (Complexity) | 完整的用户/权限系统会把项目变成“网盘”(Nextcloud)。建议坚持“快递柜”的轻量定位,仅实现简单的上传密码/授权码(如 To-Do 中的 #140)。 #405 | 同一文件多个取件码 | 拒绝 (Low Value) | 边缘需求。可以通过重新上传或“一码多用”解决,无需增加数据库复杂性。 #410 | 上传下载区分端口 | 拒绝 (Architecture) | 这是一个网络层需求,应该由用户通过 Nginx/Docker 端口映射或防火墙规则来控制,而不是在应用代码层实现。 #332 | 页脚自定义 | 拒绝/自行修改 | 属于个性化定制,建议用户自行修改前端代码或通过挂载卷覆盖模板,不必做成通用配置。 #426 | 咨询上传速度问题 | 转为 #432 | 速度慢通常是带宽或中转机制导致的。解决方案是实现 To-Do 中的“S3 直链”,此 Issue 本身不是功能请求。 #424 | 七牛云配置出错 | 支持 (Support) | 这看起来是配置错误而非 Bug,建议引导至 Discussion 或文档,除非确认是 SDK 兼容性问题。📊 总结与建议
首要任务:解决 [Bug]: 跨天续传导致文件合并失败,且中断上传后分片文件未被清理 #362 (分片续传) 和 S3对象存储希望能直链上传下载 #432 (S3直链)。这两个是目前最影响使用体验(传不上)和性能(传得慢)的关键点。
产品定位:建议保持
FileCodeBox“轻量级文件快递柜”的定位。对于 希望添加多用户功能 #333 多用户 和 [ 功能建议 ] 新增屏幕共享 #274 屏幕共享 这类会让项目变重的功能,建议谨慎引入。UI 改进:进度条的优化 ([功能建议] 建议增加上传显示实时进度和速度 #395) 是性价比最高的 UI 改进,能直接提升用户感知的流畅度。
您可以直接复制上面的 CheckList 到您的项目管理工具中开始工作。