三、插件内核系统
微内核
“微内核+插件”理念构成了整个框架平台的核心基础。
插件树:提供了一种插件树的机制来调用插件组成框架平台的核心。
服务:包括自动服务,文件服务,日志服务,菜单服务,消息服务,属性服务,资源服务,字符串数据服务,工具栏服务,树型组织服务等。
资源:数据资源,图像资源,文字资源等。
3.1 平台初始化
整个框架平台的入口从启动项目Startup开始,通过调用上述微内核中的服务完成对应插件树已配置数据和资源的自动加载。
平台可配置以单一实例进程(若多次开启仅是激活会恢复状态切换)或允许多实例方式运行,可通过加载授权密钥来判断平台的合法性。
整个平台从初始化开始,到登录平台后的所有操作,到最后退出平台,释放平台资源,期间的每一次行为动作都对应有详细的日志服务记录。确保平台的安全性和可维护性。
3.2 平台登录
首先来看一下图3.2-1展示的平台的启动界面和登录界面。对于任何平台或者系统而言,登录模块都是不可或缺的环节。
图3.2-1 平台启动时闪屏界面和登录界面
平台登录模块的设计兼顾了安全性和易用性。
只有合法授权且状态正常的用户才能登录到平台。判断是否是平台用户,用户是否状态正常(未禁用),判断是否恶意登录或者尝试登录错误次数过多时采取相应措施(如验证码方式、指定时间内无法登录等)。登录成功后加载对应的用户配置文件和用户权限资源。同时为方便用户使用,在确保电脑使用者相对唯一的情况下,可以选择保存登录信息,系统会自动对用户的相关登录信息采取加密手段后进行存储。
题外话:自己忍不住赞一下闪屏界面。o(∩_∩)o 。其实在最初设计闪屏界面的时候用的是系统自带的进度条,那个你懂的,反正我是无法再继续多看一眼了。只能自己设计,整个进度条是通过系统的画笔用渐进式的步长和渐变式的颜色一点点绘制的,简直就是个细活。现已封装成了独立的闪屏窗体辅助类。
3.3 平台配置
每个平台或系统都少不了一些基础的系统配置和用户个性化设置。
用户自定义设置在用户登录选项卡中,主要包括登录后是否显示气泡弹窗提示,类似QQ登录后的欢迎窗口界面,显示相关登录信息和用户信息等;事物提醒功能,用户在登录系统后,平台会自动检测系统中涉及用户相关业务消息的提醒,并且提供了自定义定时提醒功能;用户界面皮肤设置;是否每次启动时自动检查更新。
系统设置在数据源选项卡中,主要提供了相应数据源的可视化界面设置,支持数据源的加密。支持多种常见数据库,下拉列表显示了目前所有支持的数据库的类型:SqlServer、Oracle、MySql、Access,服务器地址,数据库实例,用户名和密码等相关项。在完成配置输入后可测试链接服务器,在优化过后的性能,可以在短时间(5秒内)完成极速响应。
另外还有很多自定义的平台配置属性,作为开发人员,可以通过直接修改平台的系统配置文件Startup.exe.config来完成开发和部署过程中的自定义设置。如生产环境中是否显示详细异常信息的捕捉窗体,框架平台属性设置信息,框架平台界面语言,日志记录方式(支持文本、控制台、系统事件和数据库)等。
用户可以在平台登录界面中点击图标按钮打开平台配置界面进行设置。
具体的配置界面如下图3.3-1所示:
图3.3-1 平台配置界面
3.4 工作台
用户成功登录后,平台加载对应的用户配置文件和用户权限资源。
这里使用了超级管理员Administrator账户成功登录后,可以看到下图3.4-1所显示的工作台界面:
图3.4-1 平台工作台界面
整个框架平台的工作台界面风格借鉴于宇宙无敌(此处或许有争议,目前只能算是Windows下无敌,相信随着微软开源力度的加大,这将成为现实,不是梦)的微软集成开发框架(IDE)——Visual Studio系列。
平台主要由功能导航区(用户模块)、功能作业区(用户操作)、菜单栏、工具栏、状态栏等几个主要区域组成。
导航和作业区为平台功能主区域,三个栏目为辅助性区域。
即时通讯、事件日志、最新任务、通知公告等停靠化风格的模块增加并完善了平台的多功能性。
功能性模块后面独立的详细介绍,这里先讲述平台的顶部和底部两部分,主要分为菜单栏、工具栏和状态栏三个辅助性功能区域。
菜单栏分为系统、视图、工具和帮助四类:
系统组下主要包括切换用户、修改密码、系统设置和退出功能;
视图组下主要包括显示桌面、用户模块、即时通讯、最新任务、通知公告和事件日志等窗体命令功能;
工具组下主要包括插件管理、锁屏和重启功能;
帮助组下有显示系统组件信息和平台关于信息,支持授权注册和手动检测升级更新。
图3.4-2 菜单栏系统、视图、工具、帮助功能
工具栏主要是对菜单栏中常用功能创建的一些对应快捷方式。
图3.4-3 工具栏
上述菜单栏和工具栏中所有功能按钮均可通过插件式的配置文件进行个性化的自定义。
状态栏则显示了当前登录用户的基础信息,当前日期、农历对照日期等。
图3.4-4 状态栏
3.4.1 切换用户
点击上图3.4-2中所示的菜单栏中系统组下“用户切换”功能按钮,会出现提示用户确认保存当前数据对话框,点击确定后会显示如同图3.2-1中一样的登录界面,在输入正确帐号和密码后,通过验证即可完成用户的自动切换。切换过程中涉及到的用户资源会全部清空并重新根据新用户的权限加载对应的数据和资源。这样就无需手动注销或退出系统后再重新打开登录系统,极具方便性和实用性。
图3.4.1-1 切换用户
3.4.2 修改密码
点击上图3.4-2中所示的菜单栏中系统组下“修改密码”功能按钮,将会显示如下图3.4.1-2所示的修改密码界面。该功能按钮只能修改当前登录用户帐号的密码,为保证安全需要用户输入此帐号的原密码作为验证,在输入新密码和确认密码一致无误后点击确定按钮,提交后平台会对操作结果作出反馈提示。定期修改密码是个好习惯,有利于用户帐号信息的安全性。
图3.4.2-1 修改密码
3.4.3 锁屏
点击上图3.4-2中所示的菜单栏中工具组下“锁屏”功能按钮,整个工作平台界面将会自动隐藏,并以系统托盘方式在后台继续运行。用户可设置是否允许锁屏状态下直接退出系统平台(默认为否)。如果需要重新打开,右键系统托盘点击“解除锁定”,输入对应帐号的密码即可完成解锁。既增加了方便性和也保证了安全性。
图3.4.3-1 锁屏和解锁
3.4.4 更新
点击图3.4-2中所示菜单栏中帮助组下或是图3.4-3中工具栏最右侧“升级”功能按钮,会提示如下图3.4.4-1中显示对话框,点击下拉按钮详细可以查看本次提示更新的具体升级内容和相关信息,可选择立即更新或者取消更新。
图3.4.4-1 更新提示
3.4.5 注销
点击图3.4-2中所示菜单栏中系统组下或是图3.4-3中工具栏最右侧“退出”功能按钮,或通过快捷键“Ctrl+E”快速启动,会提示如下图3.4.5-1中显示对话框。
点击Now将立即注销用户信息和释放权限资源,最后释放系统资源;点击Delay将取消本次退出操作,继续停留在平台。
确认对话框会根据用户设置的时间作倒计时,指定时间内无响应操作,平台将自动完成注销后退出;用户也可以设置为不作提示直接退出。
图3.4.5-1 注销后退出平台