自從上次版本(GG嘰嘰V3.2,增長離線消息、離線文件功能)發佈後,我我的以爲主要的大功能都實現得差很少了,接下來的幾個版本將不斷優化GG的細節,提升其可用性。此次版本更新的內容主要是爲GG增長了系統設置、並完善的了羣所需的基礎功能。html
1.羣功能完善服務器
(1)建立羣post
(2)退出羣(同時,通知其它羣成員)優化
2.系統設置ui
(1)叉掉主窗口時,關閉程序仍是隱藏窗口。加密
(2)麥克風設備索引url
(3)攝像頭設備索引spa
(4)開機自動啓動設計
3.其它orm
(1)最近聯繫人列表。
(2)密碼再也不使用明文,而是用md5加密。
(3)發現的bug修復。
廢話很少說,仍是先上圖。
主面板變化:
建立羣:
退出羣:
系統設置:
最近聯繫人:
雖然提供了源代碼,可是,我仍是想將主要的思路列一下,這樣,你們理解起源碼來,會節省更多的時間。
1. GG V3.4 在客戶端增長了SystemSettings類,對應系統設置的內容。其將會被序列化保存爲本地文件,默認是運行目錄下的GGConfig.xml文件。
2. SystemSettings被設計爲Singleton模式,第一次使用時,將會自動加載;每次修改後,將從新序列化保存。
3. 客戶端增長了SystemSettingForm窗體,用於顯示和設置SystemSettings的選項值。
4.客戶端主界面增長了一個ChatListBox控件,用於顯示最近聯繫人列表,在每次建立聊天窗口時,會將對應的好友置於「最近聯繫人」列表的頂端。(MainForm的GetChatForm方法)
5.建立羣
(1)InformationTypes增長信息類型:CreateGroup。
(2)服務端:VirtualDB類增長CreateGroup方法,若是建立羣成功,則建立者會自動成爲羣成員;CustomizeHandler類的HandleQuery增長了對CreateGroup類型信息的處理。
(3)客戶端:增長了CreateGroupForm窗體,用於建立羣。
6.退出羣
(1)InformationTypes增長信息類型:QuitGroup(申請退出羣)。BroadcastTypes增長廣播信息類型:SomeoneQuitGroup(用於通知其餘羣成員有人退出了羣)。
(2)服務端:VirtualDB類增長QuitGroup方法;CustomizeHandler類的HandleInformation增長了對QuitGroup類型信息的處理(並通知其餘羣成員)。
(3)客戶端:在MainFormPartial.cs文件的GroupOutter_BroadcastReceived方法中,增長了對SomeoneQuitGroup廣播消息的處理。
7.開機啓動:GG是經過修改註冊表的方式來決定是否開機自動啓動,可是修改註冊表須要管理員的權限,這意味着,若是要使用這一功能,必須以管理員的身份啓動GG。針對這一點,我以爲不是很好。QQ是不須要管理員權限就實現了這樣的功能,它是怎麼作到的了?有知道的朋友請留言告知一下。(在發佈的GG版本中,我屏蔽掉了實現該功能的代碼,SystemSettingForm的skinCheckBox1_CheckedChanged方法)。
下載最新版本,請轉到這裏。
注意:若是要將GG部署到廣域網,則能夠在服務端的配置文件中設置監聽的端口;而在客戶端的配置文件中,則能夠指定服務器的IP和Port。
關於GG的最新全貌介紹、以及如何部署、試用賬號等問題,我單獨寫了一篇文章,做爲彙總,可參見 可在廣域網部署運行的QQ高仿版 -- GG2013概要。
歡迎和我探討關於GG2013的一切,個人QQ:2027224508,多多交流!
你們有什麼問題和建議,能夠留言,也能夠發送email到我郵箱:ggim2013@163.com。
若是你以爲還不錯,請粉我,順便再頂一下啊,呵呵