✨ feat(*): 重构PCB放行流程并接入双扫码校验

- 将流程改为 OMRON FINS + TCP 双扫码 + SFTP 文件校验
- 新增文件校验与扫码结果汇总实现,补充对应单测
- 同步更新流程设计文档、配置和系统设置页面文案
This commit is contained in:
2026-05-17 14:08:05 +08:00
parent 9a2211ccaa
commit ce356bffff
37 changed files with 4443 additions and 2436 deletions

View File

@@ -5,9 +5,9 @@ using AxiOmron.PcbCheck.Services.Interfaces;
namespace AxiOmron.PcbCheck.DesignTime;
/// <summary>
/// 为设计器提供 SFTP 测试结果的设计时服务。
/// 为设计器提供文件校验通道测试结果的设计时服务。
/// </summary>
public sealed class DesignTimeSftpLookupService : ISftpLookupService
public sealed class DesignTimeSftpLookupService : IFileCheckService
{
/// <summary>
/// 返回设计时文件校验结果。
@@ -15,9 +15,9 @@ public sealed class DesignTimeSftpLookupService : ISftpLookupService
/// <param name="barcode">条码。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>固定设计时结果。</returns>
public Task<SftpCheckOutcome> CheckFileAsync(string barcode, CancellationToken cancellationToken)
public Task<FileCheckOutcome> CheckFileAsync(string barcode, CancellationToken cancellationToken)
{
return Task.FromResult(new SftpCheckOutcome
return Task.FromResult(new FileCheckOutcome
{
Exists = true,
ConnectionSucceeded = true,
@@ -26,19 +26,19 @@ public sealed class DesignTimeSftpLookupService : ISftpLookupService
}
/// <summary>
/// 返回设计时连接测试结果。
/// 返回设计时文件校验通道测试结果。
/// </summary>
/// <param name="options">SFTP 配置。</param>
/// <param name="config">根配置。</param>
/// <param name="cancellationToken">取消令牌。</param>
/// <returns>固定成功结果。</returns>
public Task<SftpConnectionTestOutcome> TestConnectionAsync(SftpOptions? options, CancellationToken cancellationToken)
public Task<FileCheckTestOutcome> TestConnectionAsync(AppConfig? config, CancellationToken cancellationToken)
{
return Task.FromResult(new SftpConnectionTestOutcome
return Task.FromResult(new FileCheckTestOutcome
{
IsSuccess = true,
ConnectionSucceeded = true,
RootPathAccessible = true,
StatusMessage = "设计时 SFTP 连接成功。"
StatusMessage = "设计时文件校验通道可用。"
});
}
}