插件内核系统
三、插件內核系統
微內核
“微內核+插件”理念構成了整個框架平臺的核心基礎。
插件樹:提供了一種插件樹的機制來調用插件組成框架平臺的核心。
服務:包括自動服務,文件服務,日志服務,菜單服務,消息服務,屬性服務,資源服務,字符串數據服務,工具欄服務,樹型組織服務等。
資源:數據資源,圖像資源,文字資源等。
?
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? 注銷后退出平臺
?
轉載于:https://www.cnblogs.com/iPragmatic/p/4847603.html
總結
- 上一篇: 浣溪沙·过杜甫草堂有感
- 下一篇: 用Qemu模拟vexpress-a9 (