51 lines
1.4 KiB
C#
51 lines
1.4 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
}
|