- 将 App.vue 拆分为 AdminPage、ClientPage、QrCodeModal 三个独立组件 - 新增 BrowseDirectory 接口,基于 RelativePath 实现层级目录浏览 - 前端新增面包屑导航、文件夹网格、文件列表等目录浏览 UI - 新增对应 CSS 样式(breadcrumb、folder-grid、file-list 等) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
32 lines
1.4 KiB
C#
32 lines
1.4 KiB
C#
using Avalonia_Common.Core;
|
|
|
|
namespace Avalonia_Services.Services.FileLibrary
|
|
{
|
|
public interface IFileLibraryService
|
|
{
|
|
Task<List<DriveDto>> GetDrivesAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task<List<DirectoryDto>> GetDirectoriesAsync(string? path, CancellationToken cancellationToken = default);
|
|
|
|
Task<List<LibraryRootDto>> GetRootsAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task<LibraryRootDto> AddRootAsync(AddLibraryRootRequest request, CancellationToken cancellationToken = default);
|
|
|
|
Task<LibraryRootDto> SetRootEnabledAsync(UpdateLibraryRootRequest request, CancellationToken cancellationToken = default);
|
|
|
|
Task DeleteRootAsync(DeleteLibraryRootRequest request, CancellationToken cancellationToken = default);
|
|
|
|
Task<LibraryRootDto> ScanRootAsync(int rootId, CancellationToken cancellationToken = default);
|
|
|
|
Task ScanDueRootsAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task<PagedResponse<FileRecordDto>> SearchFilesAsync(SearchFilesRequest request, CancellationToken cancellationToken = default);
|
|
|
|
Task<FileRecordDto?> GetFileAsync(int id, CancellationToken cancellationToken = default);
|
|
|
|
Task<TextPreviewDto?> GetTextPreviewAsync(int id, CancellationToken cancellationToken = default);
|
|
|
|
Task<BrowseDirectoryResponse> BrowseDirectoryAsync(BrowseDirectoryRequest request, CancellationToken cancellationToken = default);
|
|
}
|
|
}
|