项目分四大块介绍:
一:数据库:
表、Model的含义:
#import "PDCoreDataCenter.h"
#import "UserInfo.h" // 用户信息 数据模型
#import "Teams.h" // 用户信息中企业信息 数据模型
#import "EnterpriseTeam.h" // 企业信息 数据模型
#import "TeamMember.h" // 企业信息 数据库模型
#import "Permissions.h" // 企业成员权限参数节点 数据模型
#import "TeamDepartments.h" // 企业团队信息 数据模型
#import "Messages.h" // 消息数据主体数据包
#import "MessageBody.h" // 消息信息数据包
#import "MessageFields.h" // 消息内联信息数据包
#import "Assistant.h"
#import "FileModel.h" // 会话文件信息数据包
#import "FAUserInfoModel.h" // 用户信息 Model
#import "FAUserInfo.h" // 当前用户信息 单利
#import "FAEnterpriseTeamInfoModel.h" // 企业信息 Model
#import "FAEnterpriseTeamInfo.h" // 用户当前所在企业 单利
#import "FATeamMemberModel.h" // 企业成员权限参数节点 Model
#import "FATeamMemberInfo.h" // 企业成员权限参数节点 单利
#import "FATeamDepartmentsModel.h" // 企业团队信息 Model
#import "FAMessagesModel.h" // 消息数据主体数据包
#import "FAAssistantModel.h" // 助手信息 Model
#import "FAFileModel.h" // 文件 数据包
#import "MessageInventory.h" // 获取会话清单 数据模型
#import "FAMessageInventoryModel.h" // 获取会话清单 Model
注意事项:
二:聊天界面逻辑
三:聊天数据处理逻辑
四:Puser
puser 监听的事件解释:
当前会话
# 通知-新消息
["pusher:event",{"channel":"private-member-", "event":"pull-message", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-删除消息
["pusher:event",{"channel":"private-member-", "event":"delete-message", "data":{"sid":"4e37e7c790c95af5ee0377c1", "id":"4e37e7c790c95af5ee0377d1"}}]
当前成员
# 通知-加入群组
["pusher:event",{"channel":"private-member-", "event":"join-group", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-退出群组
["pusher:event",{"channel":"private-member-", "event":"leave-group", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-更新成员信息
["pusher:event",{"channel":"private-member-", "event":"update-member", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-更新成员列表
["pusher:event",{"channel":"private-member-", "event":"update-members", "data":""}]
# 通知-更新部门列表
["pusher:event",{"channel":"private-member-", "event":"update-departments", "data":""}]
# 通知-更新助手列表
["pusher:event",{"channel":"private-member-", "event":"update-helpers", "data":""}]
# 通知-更新用户信息
["pusher:event",{"channel":"private-member-", "event":"update-profile", "data":""}]
# 通知-更新企业信息
["pusher:event",{"channel":"private-member-", "event":"update-team", "data":""}]
已加入的群组频道
# 通知-新消息
["pusher:event",{"channel":"private-groups-", "event":"pull", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-删除消息
["pusher:event",{"channel":"private-groups-", "event":"delete-message", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-删除群组
["pusher:event",{"channel":"private-groups-", "event":"delete", "data":"4e37e7c790c95af5ee0377c1"}]
# 通知-更新群组信息
["pusher:event",{"channel":"private-groups-", "event":"update", "data":"4e37e7c790c95af5ee0377c1"}]
解释:
push 中客户端用到的通知名称解释:
#define PuserPullMessage @"FAPuserPullMessage" // 通知-新消息
#define PuserDeleteMessage @"FAPuserDeleteMessage" // 通知-删除消息
#define PuserLeaveGroup @"FAPuserLeaveGroup" // 通知-退出群组
#define PuserDelete @"FAPuserDelete" // 通知-删除群组
#define PuserMessageListRequest @"FAPuserMessageListRequest" // 通知-会话列表刷新 网络刷新
#define PuserMessageListLocal @"PuserMessageListLocal" // 通知-会话列表刷新 本地刷新