package file import ( "context" ) // UserFileServer 文件服务接口 ################################################################# type UserFileServer interface { // CopyFile 复制文件 ======================================================================= CopyFile(ctx context.Context, sources []string, targets []string) ([]*BackFileAction, error) // MoveFile 移动文件 ======================================================================= MoveFile(ctx context.Context, sources []string, targets []string) ([]*BackFileAction, error) // NameFile 移动文件 ======================================================================= NameFile(ctx context.Context, sources []string, targets []string) ([]*BackFileAction, error) // ListFile 列举文件 ======================================================================= ListFile(ctx context.Context, path []string, opt *ListFileOption) ([]*UserFileObject, error) // FindFile 搜索文件 ======================================================================= FindFile(ctx context.Context, path []string, opt *FindFileOption) ([]*UserFileObject, error) // Download 获取文件 ======================================================================= Download(ctx context.Context, path []string, opt *DownloadOption) ([]*LinkFileObject, error) // Uploader 上传文件 ======================================================================= Uploader(ctx context.Context, path []string, opt *UploaderOption) ([]*BackFileAction, error) // KillFile 删除文件 ======================================================================= KillFile(ctx context.Context, path []string, opt *KillFileOption) ([]*BackFileAction, error) // MakeFile 搜索文件 ======================================================================= MakeFile(ctx context.Context, path []string, opt *MakeFileOption) ([]*BackFileAction, error) // MakePath 搜索文件 ======================================================================= MakePath(ctx context.Context, path []string, opt *MakeFileOption) ([]*BackFileAction, error) // PermFile 设置权限 ======================================================================= PermFile(ctx context.Context, path []string, opt *PermissionFile) ([]*BackFileAction, error) //// NewShare 创建分享 ======================================================================= //NewShare(ctx context.Context, path []string, opt *NewShareAction) ([]*BackFileAction, error) //// GetShare 获取分享 ======================================================================= //GetShare(ctx context.Context, path []string, opt *NewShareAction) ([]*UserFileObject, error) //// DelShare 删除分享 ======================================================================= //DelShare(ctx context.Context, path []string, opt *NewShareAction) ([]*BackFileAction, error) } type UserFileUpload interface { fullPost(ctx context.Context, path []string) pfCreate(ctx context.Context, path []string) pfUpload(ctx context.Context, path []string) pfUpdate(ctx context.Context, path []string) } func ListFile(ctx context.Context, path []string, opt *ListFileOption) ([]*UserFileObject, error) { return ListDeal([]*HostFileObject{}) } func FindFile(ctx context.Context, path []string, opt *ListFileOption) ([]*UserFileObject, error) { return ListDeal([]*HostFileObject{}) } func ListDeal(originList []*HostFileObject) ([]*UserFileObject, error) { serverList := make([]*UserFileObject, 0) for _, fileItem := range originList { serverList = append(serverList, &UserFileObject{ HostFileObject: *fileItem, // ... 用户层逻辑 }) } return serverList, nil } func Download(ctx context.Context, path []string, opt *ListFileOption) ([]*LinkFileObject, error) { } func Uploader(ctx context.Context, path []string, opt *ListFileOption) ([]*BackFileAction, error) { }