ZSCQ客户端概要设计
2005-7-28
一.本地数据库设计
全面实现本地数据库设计
表1、本地用户表 User
字段 | ZSCQID* | NAME | Password | AGE | GENDER | | Dep | Detail |
类型 | Int 5 | Char 10 | Char 10 | Int 2 | Bool | Char 20 | Char 10 | Memo |
说明 | 号码 |
|
|
|
|
| 系别 | 个人说明 |
说明:记录当前使用的所有用户
表2、好友列表 Fridnds
字段 | ZSCQID | FDNID | NAME | AGE | GENDER | | Dep | Detail |
|
类型 | Int 5 | Int 5 | Char 10 | Int 2 | Bool | Char 20 | Char 10 | Memo |
|
说明 | 用户号 | 好友号 |
|
|
|
|
|
|
|
说明:记录每个用户的所有好友
表3、聊天记录表 ChatRecords
字段 | ZSCQID | FDNID | Time | Content |
|
类型 | Int 5 | Int 5 | Time | Memo |
|
说明 |
|
|
| 内容 |
|
说明:记录每个用户的所有聊天记录
聊天记录处理:
1. 将收到的消息按用户号+好友号确定储存
2. 查找用记的录到记录时,用SQL按用户号+好友号确定查找
表4:系统消息表 SystemMsg
字段 | ZSCQID | Time | Content |
|
|
类型 | Int 5 | Time | Memo |
|
|
说明 |
|
|
|
|
|
说明:记录所有接收到的系统消息,新闻,添加好友消息
表5、临时消息处存表 TempMsg
字段 | ZSCQID | FDNID | MSGTYPE | Time | Content |
类型 | Int 5 | Int 5 | Int 1 | Time | Memo |
说明 |
|
|
| 发送时间 | 内容 |
说明:暂存所有接收到的消息
消息处理:long ZSCQ_SERVER_MSG
1. 判断消息类型
0:普通好友信息(保存在表3中)
1:添加好友信息(保存在表4中)
2:系统消息(保存在表4中)
3:好友上线(在树型结结中添加好友)
4:好友落线(在树型结结中删除好友)
2. 当收到用户发送信息,选将信息存在这个表
3. 通知客户端有消息到,在右下解显示
4. 当用户双击时,弹出信息
5. 每读出一条信息,删除一条
二、登录框 Login
1.系统设置INI文件读取
(全用户口)
(1)系统参数
1)窗体透明度
2)是否自动运行
3)热键控制
4)是否自己弹出信息
5)是否隐身
6)是否自动登录
(2)操作习惯
2.网络设置 (设置服务器端地址,端口)
7) 服务IP地址
8)通讯端口
3.注册
注册 ZSCQ_REG_DATA
三、主窗体 ZSCQClient
1.注销
重新登录
1)结束当前程序,重新启动
ZSCQ_LOGOUT_DATA
2.登录
当断线或都错误时,重新登录
BOOL IsInLine;
ZSCQ_ACCOUNT_DATA
服务器返回指令 long ZSCQ_SERVER_CMD
1---------帐号有效
2---------密码错误
3---------反馈查找用户
4---------查找完毕
3.添加好友,搜查好友
1)查询服务器所有注册用户列表
2)以用户号查询
3) 判断好友是否已添加(在好友列表 Friends中查找)
4) 将好友加至本地数据库,刷新好友列表
4.消息群发
1)群发窗体
2)搜索所有好友,逐一发送
5.个人资料
1)个人用户窗体->个人资料页
2)链接数据库
6.系统配置
1)个人用户窗体->系统配置页
2)链接数据库
7.聊天记录
1)个人用户窗体->聊天记录页
2)链接数据库
3) 按好友分类,将所有好友放在左边的树中,右边列表显示所有聊天记录
8.好友树型结构
1) 链接数据库
2)用SQL查找所有要查找的用户号的所有好友
3)每个好友在线好友以 绿色小树叶做头像,下线以黄色小树叶做头像
4)先添加所有在线用户
5)再添加下线用户
6)当有消息时,所在好友项闪动
7)双击项弹出消息发送端,并与所选好友建立网络连接
9.新闻列表(系统消息,公告、、、)
1)个人用户窗体->新闻列表页
2) 打表系统消息表SystemMsg,读出所有记录并显示
10. 消息通知
1) 当接收到消息时,右下角显示有消息通知
2)通知小窗体上有消息来源(好友号,好友名,时间)
3)当消息未被点击,闪动托盘图标
11. 消息发送端
1)发送内容(暂时只可以发送纯文本)
2)传送文件
3)调用聊天记录
客户端通信指令 long ZSCQ_CLIENT_CMD
0--------发送信息
1--------传送文件
0--------接收成功
1--------接收失败
12 托盘
1)当最小化时,隐藏主窗体
2)在右下角托盘栏显示
3)双击托盘,当有消息时,显示消息窗体,无消息时,显时主窗体
13. 侧边栏制作
改造了一个网上找来的一个CImageTab类,使之合符本程序需要。
14.窗体皮肤
使用了免费的皮肤控件AppFace,但是有少少BUG。
15.系统热键
15、6.帮助文件制作
等所有程序完成后再制作。