智慧黑板

damone大约 30 分钟工作总结智慧黑板

1 功能概述

智慧黑板。

2 设计思路

监控终端子系统的设计思路如下图所示:

采用插件方式进行组织,这样做可以降低模块之间的依赖,方便模块进行单独的构建和维护;

从层次上讲,可以划分为基础服务层与界面交互层,基础服务层包括插件管理器、配置管理插件、日志服务插件、多语言支持插件、ClientAPI 插件等;界面交互层构建于基础服务层之上,包括 UI 界面插件管理、UI 界面统一渲染插件及若干界面插件组成;

从管理角度出发,插件管理器,也就是程序启动器,负责加载所有插件,包括配置管理插件、日志服务插件、多语言支持插件、ClientAPI 插件、UI 界面管理插件及 UI 界面统一渲染插件,上层的界面插件基于基础服务插件、UI 界面管理插件及 UI 界面统一渲染插件之上,由 UI 界面管理插件统一管理;

从设计角度来讲,插件管理器需要为各个插件设计管理接口,插件实现这些接口一边插件管理器进行统一管理,同样 UI 界面插件管理插件也需要为各个界面插件提供管理接口,由 UI 界面管理插件统一进行管理;

下面简要概括各模块的相关功能

  • 插件管理器,也是程序启动器

插件管理负责各个插件的管理,包括加载、销毁及协调调用,此外还负责整个程序的启动,需要提供  接口用于插件管理;

  • 配置管理插件

配置管理器是所有配置文件的读取和保存的统一封装,此外还包括部分系统级别的配置项管理,配置管理插件需要支持 json、xml、ini、csv 等格式的文件的读取,如果必要可以设计专门的配置文件格式;

  • 日志服务插件

日志服务插件主要负责日志文件的操作,日志主要以文本为主,日志服务插件需要提供日志文件的创建和关闭的接口,还需要提供基本的日志格式参考(如:包括时间戳、模块名、日志级别、日志内容等);

  • 多语言支持插件

多语言支持模块主要提供多语言的支持,上层界面显示的内容均统一从多语言支持模块获取,由多语言支持插件进行显示内容的控制,所有的显示配置信息都通过配置管理插件获取,而日志信息及调试信息均通过日志服务插件进行记录;

  • ClientAPI 插件

ClientAPI 插件负责和服务器通信,负责向服务器端发送请求和获取应答,该模块直接返回上层模块需要的具体数据,各个协议数据操作均通过相关的接口进行提供,API 层需要完成 json 的解析并生成 C# 对象然后通过接口返回给上层模块;因此需要维护一份 C# 版本协议,该协议可以有已有的协议提取自动生成 C# 对象定义代码;

  • UI 界面插件管理插件

UI 界面插件管理插件管理所有的界面插件,包括界面的创建、消息传递及销毁等;

  • UI 界面统一渲染插件

UI 界面统一渲染插件是一个界面的基本框架,主要实现界面显示内容的按多语言支持插件提供的内容进行显示(可以在配置中指定显示内容的位置、大小关系等),此外还需要提供一些自动布局功能,对简单界面按内容进行布局,实现流式布局,主要针对表单及表格;

  • 各个界面插件

界面插件是和用户进行交互的主要方式,子系统中包含大量的界面插件,这些插件由 UI 界面插件管理插件统一管理;通用的界面包括登录界面、升级界面、主体界面及帮助界面等;为了提高系统的易用性,UI 交互可以适当加入覆盖层和弹出层;

4 接口及消息交互简图

5 日志服务设计

6 ClientApi 插件设计

7 UI 插件管理器插件设计

20191104 新增功能

  • 缩放,移动,9 块黑板, 鼠标滚动放大及缩小,鼠标右键控制移动