(九)各个模块的配置参数的读取与写入

目前的执行逻辑:
image
入口文件开启主窗体
-->主窗体实例化时,加载完毕执行loaded事件
-->通过ioc拿到主区域,拿到登录模块(按需加载的)
-->执行登录的业务逻辑
-->登录完成后执行登录成功事件回调函数
-->加载主界面或者加载初始化界面(看硬件是否初始化完成)
-->初始化界面是依赖于配置模块的
-->所以先加载配置模块
-->配置模块有2个标注ExposedService需要注册到容器并实例化

  • SystemConfigManager 系统配置管理者:作用是整个系统所有配置参数的读写业务,为provider服务,provider再传递给各个模块
    初始化:读文件
    image

  • SystemConfigProvider 系统配置提供者,作用是将系统配置参数传给不同的模块,用接口实现数据通讯
    初始化:拿到配置参数
    image

-->加载初始化模块,有ExposedService标注的类

  • HardwareLifetimeManager拿到系统配置管理者
    -->初始化模块的页面加载
    -->初始化硬件
    -->导航到主界面
    -->主模块依赖与菜单栏和图像模块
    -->菜单栏和图像模块是先加载的

1. 配置接口编写

  • 相机配置提供者
    image

  • 探测器配置提供者
    image

share模块

  • 软件配置提供者
    image

  • 软件参数类
    image

  • share模块:位于软件硬件模块交接,可以直接引用
    image

  • 系统配置类接口就是继承了这些所有的配置接口
    image

2. 系统配置实现

  • 配置模块的引用添加
    image
  • core层config写的是底层读写实现
  • share层config写的是软件参数的封装以及参数的总提供者

config模块

  • SystemConfigModel用于存放读到的文件数据
  • SystemConfigManager用来做读写的操作
  • SystemConfigProvider用来做通讯,比如读到的数据初始化到软硬件参数配置中
  • 初始化模块中 HardwareLifetimeManager,在硬件加载时,用SystemConfigProvider拿到读到的数据
    image

jsonhelper中的修改

添加保存文件: File.WriteAllText(fileName, content);
image


3. 配置页面编写和逻辑实现

image

viewmodel层

image

posted @ 2023-12-13 13:24  huihui不会写代码  阅读(126)  评论(0)    收藏  举报