架构增加文件存储服务的支持
This commit is contained in:
51
SHH.CameraSdk/Core/Services/FileStorageService.cs
Normal file
51
SHH.CameraSdk/Core/Services/FileStorageService.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
namespace SHH.CameraSdk;
|
||||
|
||||
public class FileStorageService : IStorageService
|
||||
{
|
||||
public int ProcessId { get; }
|
||||
private readonly string _basePath; // 专属数据目录
|
||||
|
||||
public FileStorageService(int processId)
|
||||
{
|
||||
ProcessId = processId;
|
||||
|
||||
// 核心逻辑:数据隔离
|
||||
// 1号进程 -> App_Data/Process_1/
|
||||
// 2号进程 -> App_Data/Process_2/
|
||||
_basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data", $"Process_{processId}");
|
||||
|
||||
// 既然是框架搭建,我们要确保这个目录存在,否则后面谁写谁报错
|
||||
if (!Directory.Exists(_basePath))
|
||||
{
|
||||
Directory.CreateDirectory(_basePath);
|
||||
}
|
||||
|
||||
Console.WriteLine($"[Storage] 存储服务已就绪。数据隔离路径: {_basePath}");
|
||||
}
|
||||
|
||||
// --- 下面是未实现的空架子 ---
|
||||
|
||||
public Task SaveDevicesAsync(object configs)
|
||||
{
|
||||
// TODO: 待实现序列化写入
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task<object> LoadDevicesAsync()
|
||||
{
|
||||
// TODO: 待实现读取
|
||||
return Task.FromResult<object>(null);
|
||||
}
|
||||
|
||||
public Task AppendSystemLogAsync(string action, string ip, string path)
|
||||
{
|
||||
// TODO: 待实现系统日志写入
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public Task AppendDeviceLogAsync(long deviceId, string message)
|
||||
{
|
||||
// TODO: 待实现设备日志写入
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user