【ND07120】UI重构一期概要设计

更新记录

版本 日期 修改人 修改内容
1.0.0 2020年9月29日 王鹏(510525) 新建文档
1.0.0 2020年9月29日 包凯威(537896) 接口补充

1 原型

1.1 策划案

1.2 需求分析

2 关键技术方案

2.1 Autofac框架

  • 业务逻辑层的分离
  • 灵活的组件实例化
  • 资源管理的可视性
  • 自动装配

2.2 MvvM框架-Databinding

  • 原生支持MVVM
  • 在不改变原有代码构架上,让业务与UI分离
  • 提高开发效率
  • 功能强、安全性高

3 组件图/时序图

3.1 组件图


3.2 时序图

  • 3.2 核心类图

  • 4 API接口设计

  • 全局管理类接口

  • 键盘控制接口

  • 消息处理接口

  • 编辑器,网络连接管理器,主要负责,网络底层同学,网络状态接口

  • UI管理接口

  • 状态机接口

  • 缓存池接口

  • 离散方法的接口


  • 加载UI预设的接口


  • 系统窗口接口

  • 本地化接口

  • 文件管理类接口

4 通用工具类设计

  • 字符串截取、未完全显示提供tips类

  • 字符串扩展类

  • 控件辅助拖动类

  • 控件辅助接触类

5 数据模型

5.1 GlobalConfigHandle

/// <summary>
/// 编辑器版本号
/// </summary>
public string AppVersion { get; private set; }

    /// <summary>
    ///     渠道
    /// </summary>
    public string Channel { get; private set; }

    /// <summary>
    ///     用户类型
    /// </summary>
    public string User { get; private set; }

    /// <summary>
    ///     是否打开桌面
    /// </summary>
    public bool UseTable { get; private set; }


    /// <summary>
    ///     是否更新元器件
    /// </summary>
    public bool EquipmentUpdate { get; private set; }

    /// <summary>
    ///     是否自动检查软件更新
    /// </summary>
    public bool IsAutoUpdate { get; private set; }

    /// <summary>
    ///     版本语言
    /// </summary>
    /// isAutoFindPlayerLabPath
    public string Language { get; private set; }

    /// <summary>
    ///     语言编码
    /// </summary>
    public string LanguageCode;
      /// <summary>
    ///     颗粒路径
    /// </summary>
    public string labPath
     /// <summary>
    /// 实验类别
    /// </summary>
    public LabType labType
    /// <summary>
    /// 学科
    /// </summary>
    public string Subject
          /// <summary>
  /// 颗粒名称
  /// </summary>
    public string labName

5.2 SettingConfigData

暂无

5.3 TestingCentreDataItem


/// <summary>
/// 翻译Key值
/// </summary>
public string key;

5.4 UIModeConfigHandle


/// <summary>
/// 实验类别名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 实验类别ID
/// </summary>
public string Id { get; set; } = string.Empty;
/// <summary>
/// 常态资源
/// </summary>
public string ResNor { get; set; } = string.Empty;
/// <summary>
/// 选中态资源
/// </summary>
public string ResSelect { get; set; } = string.Empty;