feat: 文传易匿名临时文件传输站初始版本

- 后端 .NET 8 + FreeSql + 阿里云 OSS,支持共享/私密/标签三种文件模式
- 前端 Vue3 + Vite + TDesign,上传/取件/管理三页
- 取件码/二维码/海报合成(含保存二维码为图片)
- deploy/ 部署文档与一键 FTP 发布脚本
- appsettings.json 含真实凭据,已 gitignore 不入库
This commit is contained in:
2026-08-24 00:03:28 +08:00
commit 1bfc72f9cb
40 changed files with 6849 additions and 0 deletions
@@ -0,0 +1,49 @@
namespace WenChuanyi.Api.Dtos;
/// <summary>公开上传-共享文件:有效期小时数(0=永久,缺省 24),pwd/tag 可同时提供(不互斥)</summary>
public class OpenUploadRequest
{
public string FilePath { get; set; } = null!;
public long ExpiresHours { get; set; } = 24;
public string? Pwd { get; set; }
public string? Tag { get; set; }
}
/// <summary>公开上传-私密文件:必须有密码,可同时带标签</summary>
public class OpenUploadPriceRequest
{
public string FilePath { get; set; } = null!;
public string Pwd { get; set; } = null!;
public string? Tag { get; set; }
}
/// <summary>公开上传-标签文件:必须带标签(永久保存),可同时带密码</summary>
public class OpenUploadTagRequest
{
public string FilePath { get; set; } = null!;
public string Tag { get; set; } = null!;
public string? Pwd { get; set; }
}
/// <summary>公开上传响应</summary>
public class OpenResult
{
public string PickCode { get; set; } = null!;
public string PickUrl { get; set; } = null!;
public string DownloadUrl { get; set; } = null!;
}
/// <summary>公开下载链接查询响应</summary>
public class OpenDownloadResult
{
public string DownloadUrl { get; set; } = null!;
public string PickUrl { get; set; } = null!;
public bool NeedPassword { get; set; }
}
/// <summary>管理删除请求体:按 Id 或取件码删除</summary>
public class DeleteRequest
{
public long? Id { get; set; }
public string? PickCode { get; set; }
}