功能
Demo 已完成功能:
? 登錄
? 注冊(cè)
? 好友
? 列表及篩選
? 好友信息展示
? 黑名單
? 刪除好友
? 好友通知
? 添加好友通知展示
? 接受好友請(qǐng)求
? 拒絕好友請(qǐng)求
? 添加好友
? 群組
? 群組列表
? 群組成員列表
? 聊天
? 相機(jī)圖片消息
? 本地圖片消息
? emoji消息
? 普通消息
? 異常狀態(tài)處理
? 斷線退出到登錄頁(yè)
? 重復(fù)登錄退出到登錄頁(yè)
目錄結(jié)構(gòu)
App 的目錄結(jié)構(gòu)如下:
? Containers: 容器 | 頁(yè)面 | 路由
? App.js 總?cè)肟?br>
? Redux/ 初始化
? I18n/ 初始化
? Config/index.js 系統(tǒng)初始配置
? RootContainer.js 根容器
? Navigation/NavigationRouter.js 初始化路由
? /Config/ReduxPersist 持久化初始化
? Components 常用組件
? I18n 多語(yǔ)言支持
? Images 圖片資源
? Lib WebIM初始化
? Navigation: 路由相關(guān)
? Redux: actions / reducers
? Sdk: webim-easemobo SDK
Redux State
{
// ui相關(guān)
ui: [
// ui通用:比如loading
common: {
fetching:false
},
login: {
username: '',
password: '',
isSigned: false,
},
register: { },
contactInfo: { },
],
im: ,
// 數(shù)據(jù)實(shí)體
entities: {
roster: {
byName: {
{
jid, name, subscription, groups?
}
},
names: ['lwz2'...],
// 好友列表在此幻枉,因?yàn)楹糜蚜斜韥?lái)源于roster验残,息息相關(guān)
friends: ,
},
// 訂閱通知
subscribe: {
byFrom: {}
},
room: {},
group: {
byId: {},
names:
},
members: {
byName: ,
byGroupId:
}
blacklist: {},
message: {
byId: {}
chat: {
[chatId]: [messageId1, messageId2]
},
groupChat: {
[chatId]: {}
},
}
}
}