Commit Graph

380 Commits

Author SHA1 Message Date
zhengxuan.zhang 741874e85d 基于角色的权限控制
1、用户角色枚举、权限枚举、结果记录和密码存储模型
IPermissionService 接口及包含认证、权限检查、密码管理和登出功能的 PermissionService 单例
2、支持层级化角色-权限映射的权限矩阵(SuperAdmin ⊇ Admin ⊇ User)
密码持久化至 passwords.json 文件,并提供工厂默认值回退机制
3、UI 层
LoginDialog — 启动时弹出模态登录对话框,支持密码掩码输入、错误提示以及取消退出功能
RibbonStatusAreaView — 在Ribbon右侧区域始终显示角色标签和“切换用户”按钮
权限感知的CncEditorViewModel — 用户角色无法使用CNC编辑控件
权限感知的CncInspectionModulePipelineViewModel — 用户角色无法进行流程编辑
设置导航可见性 — Admin/User角色隐藏Factory_Settings,User角色隐藏Report_Settings
PasswordManagementView — 仅SuperAdmin可访问的修改角色密码对话框
PermissionTooltipHelper — 附加属性,在禁用控件上显示“当前角色无权访问此功能”提示
2026-06-01 17:15:59 +08:00
zhengxuan.zhang acbed526f6 修复保存高级模块ROI时,有几个点保存几个点,而不是将列表中32个值中0的部分也保存 2026-06-01 15:15:40 +08:00
zhengxuan.zhang ad1fdb0230 实时过程中禁用图像预览窗体的滚轮缩放功能 2026-06-01 15:07:28 +08:00
zhengxuan.zhang 5a11af9ab1 优化调试面板 2026-06-01 14:35:37 +08:00
zhengxuan.zhang 4301f8a5f7 任务1 — 调试窗体全中文化
新建 DebugPanelLocalization.cs 集中维护中英文映射(类别 / 事件类型 / 字段名),显示用中文、内部匹配仍用英文标识,二者解耦。

涉及改动:

状态显示树:根节点 MotionState→运动状态、RaySourceState→射线源状态 等;字段 StageX→载物台X (μm) 等。StateNodeViewModel 新增 DisplayName,绑定到 UI;Name 保留英文供 FindNode 匹配
事件日志:EventLogEntry 新增 EventTypeDisplay/CategoryDisplay/FieldNameDisplay 派生属性;GridView 三列改绑中文;事件类型如 MotionStateChanged→运动状态变化,(No changes)→(无变化)
快照管理:详情树节点本地化
性能监控:PerformanceMetric 新增 StateTypeDisplay,状态类型列显示中文
快照差异窗口:标题 Snapshot Differences→快照差异对比,列头和按钮中文化
各处 MessageBox/文件对话框提示语全部翻译为中文
任务2 — 布局优化

主布局(顶部工具栏 / 左状态树 / 右上事件日志 / 右下快照·性能 Tab / 底部状态栏)符合"可视化查看系统状态与事件触发"的调试目标,结构保留。优化点:将顶部 ToolBarTray+ToolBar(带多余的拖动手柄和溢出箭头,即截图顶部那个浮动小工具条)替换为简洁的 Border+StackPanel,去掉无意义的拖拽/溢出交互。
2026-06-01 14:23:44 +08:00
zhengxuan.zhang 84c1c5f16d CNC 检测模块输出的 数值类型如 bga检测和 孔隙检测的输出内容,要写入到 CNC 检测结果 manifest.json 合适的地址 2026-05-26 16:02:34 +08:00
zhengxuan.zhang cdd0db95ff 调试CNC执行 2026-05-26 13:18:29 +08:00
zhengxuan.zhang eb8d7a1491 优化当前加载的显示 2026-05-25 13:40:45 +08:00
zhengxuan.zhang d51d2b0013 修改CNC样式 √ 隐藏根节点,修改保存位置0 修改为位置1---N √ 运行对一级节点进行重命名 √ 2026-05-25 13:33:04 +08:00
zhengxuan.zhang 581ed2f3df 将流程图作为3级节点在左侧显示 ;优化布局宽度显示 ; 右侧详情面板的显示级别1级或2级 2026-05-25 10:59:39 +08:00
zhengxuan.zhang 03348a91ac Merge branch 'Develop/XP' into turbo-002-cnc
# Conflicts:
#	XP.Hardware.Detector/Implementations/SimulatedDetector.cs
2026-05-25 09:38:12 +08:00
SONG Tian 4afbadffd1 Merged PR 93: 控制软件socket功能开发
- XP.SCAN模块增加socket通讯,后期重构软件与控制软件在同一电脑进行socket通讯传递进行重构,后期可通过修改IP适配两台电脑的socket通讯重建。
2026-05-25 09:19:54 +08:00
TianSong cf15ed740f XP.SCAN模块增加socket通讯,后期重构软件与控制软件在同一电脑进行socket通讯传递进行重构,后期可通过修改IP适配两台电脑的socket通讯重建。 2026-05-25 08:26:49 +08:00
zhengxuan.zhang c443404bae 更新菜单按钮 2026-05-22 17:29:41 +08:00
zhengxuan.zhang 92213ffd0d Merge branch 'Develop/XP' into turbo-002-cnc
# Conflicts:
#	XplorePlane/Views/Main/MainWindow.xaml
2026-05-22 17:17:29 +08:00
zhengxuan.zhang 54d336a0b1 调整界面显示 2026-05-22 17:03:34 +08:00
QI Mingxuan 0b6554f139 解决添加虚拟探测器无法运行的问题:SimulatedDetector实现ApplyParametersInternalAsync。 2026-05-22 15:55:25 +08:00
QI Mingxuan 4943bc16b7 已合并 PR 90: 探测器直方图和优化合并至开发分支
1、重构探测器Hardware.Detector模块,统一设备调用接口,支持多探测器兼容,优化设备连接状态判断逻辑,新增校正帧数可配置功能。
2、优化Varex探测器校正流程,修复内存缓冲区对齐问题,增加指针、分辨率有效性校验,校正期间屏蔽帧回调、自动启停采集,规避SDK冲突与程序崩溃问题。
3、开发通用图像灰度直方图控件,优化资源释放逻辑。
2026-05-22 08:51:50 +08:00
LI Wei.lw 3777ad2d53 已合并 PR 86: 直线拟合、圆拟合、匹配等
新增功能:
1.边缘查找拟合直线工具
2.边缘查找拟合圆工具
3.海康相机接口集成
4.模板匹配助手窗口
5.ROI 对齐工具与 TM_Result 位姿扩展
6.白底/黑底缺陷检测
7.行灰度功能
优化与修复:
1.白底/黑底检测算法重构至 BackgroundDefectAnalyzer
2.黑底检测结果随清除测量一并清除
3.模板助手按钮布局与图标优化
4.导航相机日志改为英文
5.PixelConverter 支持 Bayer 格式解码
6.相机采集链断裂修复
2026-05-21 21:02:27 +08:00
zhengxuan.zhang de4a7121db 虚拟模式下 跳过联锁(Interlock)检查,因为虚拟模式没有真实安全门信 2026-05-21 17:15:27 +08:00
zhengxuan.zhang 43d0e7fa89 feat: 硬件虚拟化与CNC联动集成 - 运动控制/射线源模拟实现,CNC执行联动增强 2026-05-21 16:02:53 +08:00
zhengxuan.zhang 05c41a9a21 将CNC相关的事件合并,简化 2026-05-21 15:02:28 +08:00
zhengxuan.zhang 01b12bb246 修复JSON 序列化时的 Unicode 转义问题 2026-05-21 14:57:29 +08:00
zhengxuan.zhang 2ac84ecc85 修复高级算子的ROI编辑能力 2026-05-21 14:35:49 +08:00
QI Mingxuan 8905de6bab 更新ReleaseFiles。 2026-05-21 13:36:51 +08:00
QI Mingxuan 15e3e56856 已合并 PR 89: 探测器Hardware.Detector兼容多探测器的重构
探测器XP.Hardware.Detector类库为了更好集成新的探测器,统一接口方法,DetectorService重构为通过统一接口;
新增暗场校正和亮场校正帧数配置属性(默认 64,范围 1-128),config 加载校正帧数;
修正探测器IsConnected连接状态的判断逻辑。
2026-05-21 13:30:59 +08:00
QI Mingxuan 2d7cf17a3b 探测器XP.Hardware.Detector类库为了更好集成新的探测器,统一接口方法,DetectorService重构为通过统一接口;
新增暗场校正和亮场校正帧数配置属性(默认 64,范围 1-128),config 加载校正帧数;
修正探测器IsConnected连接状态的判断逻辑。
2026-05-21 13:19:30 +08:00
zhengxuan.zhang 2d14954bd3 高级模块插入后的再编辑问题,包括ROI的显示和调节,要支持实时调节 2026-05-21 11:17:10 +08:00
QI Mingxuan 119d03a02b VarexDetector:增益校正缓冲区改用 sizeof(uint) 分配(与 SDK DWORD 写入对齐),新增 _pOffsetBuffer 有效性校验和分辨率匹配检查;校正期间设置 _isCorrecting 标志跳过帧回调,防止缓冲区冲突;
VarexDetector:SetBinningMode/SetGainMode 变更后自动释放旧校正缓冲区;
DetectorService:暗场/亮场/坏像素校正及参数应用前自动停止采集,完成后恢复,避免 SDK 冲突;
DetectorConfigViewModel:校正流程中集成停止/恢复采集逻辑。
2026-05-21 10:41:55 +08:00
QI Mingxuan e6e776357d 优化直方图区域布局。 2026-05-21 10:40:38 +08:00
QI Mingxuan 5c56779f9f VarexDetectorConfig移除不支持的 3×3 Binning 选项,修正索引对齐。
新增多语言资源:暗场/亮场/坏像素校正确认对话框、进度提示、参数不一致提示。
2026-05-21 10:39:43 +08:00
QI Mingxuan d7c027b732 直方图将柱状图替换为面积图,优化密集数据显示效果,Y轴刻度自动取整支持 K/M 缩写,X 轴根据数据范围自动设置。 2026-05-21 10:37:28 +08:00
李伟 db0eac5d49 解决冲突 2026-05-20 15:41:04 +08:00
李伟 31825a43b9 合并 TURBO-615-RecognitionAndPositioning 到 ResolveConflicts,保留双方冲突内容 2026-05-20 15:32:43 +08:00
QI Mingxuan 2e4b2d714b 修改主程序解决方案生成到AnyCPU,增加外部库文件夹中dll和相关文件。 2026-05-20 15:22:09 +08:00
QI Mingxuan 375fb832f0 解决因Pull Request Merge Conflict Extension插件导致的中文乱码问题。 2026-05-20 15:00:21 +08:00
QI Mingxuan e3cfac5f09 Merged PR 82: 授权服务功能合并至开发分支
新增授权服务,XplorePlane 模块 ID 4、零件号 LS950-0071-5-1。
- 支持两种授权模式:CLMS 授权 (0) 和临时测试15分钟模式 (885);
- 支持通过接口查询授权信息。

配置项目如下:
```xml
<appSettings>
  <!-- 授权配置 | License configuration -->
  <add key="License:LicenseMode" value="0" />     <!-- 授权模式:0=CLMS 正式授权,885=临时测试模式 -->
  <add key="License:ModuleId" value="4" />        <!-- 模块 ID,XplorePlane 固定为 4 -->
  <add key="License:UseSma" value="false" />      <!-- 是否启用 SMA 检查 -->
  <add key="License:LicenseState" value="20" />   <!-- 上次授权状态:10=成功,20=失败(运行时由 LicenseService 自动写回)-->
</appSettings>
```

Readme文档详见 `XplorePlane\XP.Common\Documents\License.README.md`。
2026-05-20 10:11:10 +08:00
QI Mingxuan 14f41321c7 增加授权功能Readme文件。 2026-05-19 17:01:06 +08:00
QI Mingxuan 2d56f42d28 授权更新CLMS SDK(新版支持SMA),更新生成至anycpu。 2026-05-19 16:53:37 +08:00
zhengxuan.zhang 6abe391450 优化高级模块的CNC计算结果存储 2026-05-19 14:34:07 +08:00
zhengxuan.zhang 1546aec567 优化高级模块CNC执行的可视化
CNC执行 → PipelineExecutionService(返回 LastStepOutputData)
                  → CncExecutionService(调用 PushDetectionOverlay)
                  → MainViewportService(触发 DetectionOverlayUpdated 事件)
                  → ViewportPanelView(订阅事件,调用 DetectionOverlayRenderer)
                  → PolygonRoiCanvas.SetDetectionOverlayCanvas(插入叠加层 Canvas)
2026-05-19 14:10:16 +08:00
zhengxuan.zhang eb6ee48a5e CNC高级模块的运行后的可视化 2026-05-19 13:11:47 +08:00
zhengxuan.zhang 80c86e2ed7 孔隙检测模块引入到CNC 2026-05-19 11:38:31 +08:00
zhengxuan.zhang 3cfd115d72 高级模块的CNC插入功能 2026-05-19 11:21:28 +08:00
QI Mingxuan ef83a7637a 优化亮场校正和暗场校正的流程和功能,亮场校正后增加坏像素校正。 2026-05-18 17:30:22 +08:00
ZHANG Zhengxuan 3f14d14393 已合并 PR 78: UI调整、CNC执行与存储结果、新增设置页面
1、UI的更新,优化滤波器类型;流程图连线样式;算子编辑的属性;步长滑块的显示逻辑
2、新增设置页面,根据app.config 参数项设置页面;
3、优化CNC执行的可视化,新增位置节点的保存图像参数、手动输入图像;
![image.png](http://cntao-ap-v83/HMQ-Solution/7ff128fd-5cc6-4feb-9529-2a03b2895662/_apis/git/repositories/e2c5485f-4369-4ed9-9fb9-d087ca4e04b6/pullRequests/78/attachments/image.png)
4、参考viscom CNC存储逻辑,设计CNC存储结构
![image (2).png](http://cntao-ap-v83/HMQ-Solution/7ff128fd-5cc6-4feb-9529-2a03b2895662/_apis/git/repositories/e2c5485f-4369-4ed9-9fb9-d087ca4e04b6/pullRequests/78/attachments/image%20%282%29.png)
5、修复实时切换按钮
6、新增appstate的调试页面
2026-05-18 17:06:04 +08:00
zhengxuan.zhang 04da9cd798 对数据库DB文件进行忽略 2026-05-18 16:21:36 +08:00
zhengxuan.zhang d59550c492 删除螺旋扫描、语言设置合并到全局设置中; 2026-05-18 15:58:55 +08:00
zhengxuan.zhang c5ec105890 修复错误 2026-05-18 15:56:48 +08:00
zhengxuan.zhang dcc15f62d1 修复测试用例错误 2026-05-18 15:32:00 +08:00