功能
Demo 已完成功能:
? 登錄
? 注冊
? 好友
? 列表及篩選
? 好友信息展示
? 黑名單
? 刪除好友
? 好友通知
? 添加好友通知展示
? 接受好友請求
? 拒絕好友請求
? 添加好友
? 群組
? 群組列表
? 群組成員列表
? 聊天
? 相機圖片消息
? 本地圖片消息
? emoji消息
? 普通消息
? 異常狀態處理
? 斷線退出到登錄頁
? 重復登錄退出到登錄頁
目錄結構
App 的目錄結構如下:
? Containers: 容器 | 頁面 | 路由
? App.js 總入口
? Redux/ 初始化
? I18n/ 初始化
? Config/index.js 系統初始配置
? RootContainer.js 根容器
? Navigation/NavigationRouter.js 初始化路由
? /Config/ReduxPersist 持久化初始化
? Components 常用組件
? I18n 多語言支持
? Images 圖片資源
? Lib WebIM初始化
? Navigation: 路由相關
? Redux: actions / reducers
? Sdk: webim-easemobo SDK
Redux State
{
// ui相關
ui: [
// ui通用:比如loading
common: {
fetching:false
},
login: {
username: '',
password: '',
isSigned: false,
},
register: { },
contactInfo: { },
],
im: ,
// 數據實體
entities: {
roster: {
byName: {
{
jid, name, subscription, groups?
}
},
names: ['lwz2'...],
// 好友列表在此,因為好友列表來源于roster,息息相關
friends: ,
},
// 訂閱通知
subscribe: {
byFrom: {}
},
room: {},
group: {
byId: {},
names:
},
members: {
byName: ,
byGroupId:
}
blacklist: {},
message: {
byId: {}
chat: {
[chatId]: [messageId1, messageId2]
},
groupChat: {
[chatId]: {}
},
}
}
}