自从上次版本(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。
若是你以为还不错,请粉我,顺便再顶一下啊,呵呵