92 lines
2.7 KiB
Plaintext
92 lines
2.7 KiB
Plaintext
Data
|
|
# 联系人数据
|
|
contact:{
|
|
// 联系人唯一ID
|
|
id: "1",
|
|
// 名字
|
|
displayName: "范佳奕",
|
|
// 头像
|
|
avatar:
|
|
"https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=4259300811,497831842&fm=26&gp=0.jpg",
|
|
// 类型 single | many
|
|
type: "single",
|
|
// 联系人索引, 默认按照 localeCompare 排序, 指定顺序 '[1]群组'
|
|
index: "B",
|
|
// 最近一条消息
|
|
message: {
|
|
// 未读数量 , true 显示红点
|
|
unread: 0,
|
|
// 发送时间
|
|
sendTime: 1,
|
|
// 内容
|
|
content: "2",
|
|
// 类型 voice | file | video | image | text
|
|
type: "image"
|
|
}
|
|
}
|
|
# 消息数据
|
|
message:{
|
|
// 消息唯一ID
|
|
id: "123",
|
|
// 消息状态 going | succeed | failed
|
|
status: "succeed",
|
|
// 消息类型 voice | file | video | image | text
|
|
type: "image",
|
|
// 发送时间
|
|
sendTime: 12312312312,
|
|
// 消息内容 | 消息链接
|
|
content: "asdas",
|
|
// 接收方 ID 单人聊天(联系人ID) | 多人聊天(群ID)
|
|
toContactId: "123",
|
|
// type = file 文件大小
|
|
fileSize: 1231,
|
|
// type = file 文件名称
|
|
fileName: 'asdasd.doc'
|
|
// 发送消息的联系人
|
|
fromUser: { id: "123", displayName: "123", avatar: "123", type: "single" }
|
|
}
|
|
# 左侧按钮配置
|
|
menu:[{
|
|
# 指定 menu 唯一名称,保留字段 contacts(通讯录) lastMessages(最近消息)
|
|
name: "123",
|
|
# 鼠标停留显示文字
|
|
title: "通讯录",
|
|
# 标记未读数, 数字显示具体值, true 显示红点
|
|
unread: 0,
|
|
# 按钮的DOM元素
|
|
render: menu => {
|
|
return <span>T</span>;
|
|
},
|
|
# 点击按钮打开的页面,如果 name 为保留字段,该属性失效
|
|
renderContainer: () => {
|
|
return <lemon-contact contact={this.lastMessages[0]} />;
|
|
},
|
|
# 按钮点击事件,会阻止默认的行为,调用 next() 进入下一步
|
|
click: next => {
|
|
next();
|
|
},
|
|
# 是否为底部按钮
|
|
isBottom: false
|
|
}]
|
|
emoji:[{
|
|
label: "表情",
|
|
children: [
|
|
{
|
|
name: "1f600",
|
|
title: "微笑",
|
|
src: "https://twemoji.maxcdn.com/2/72x72/1f600.png"
|
|
},
|
|
]
|
|
}]
|
|
|
|
Methods
|
|
# 初始化左侧 menu 数据
|
|
initMenus(data:[menu])
|
|
# 初始化联系人数据
|
|
initContacts(data:[contact])
|
|
# 修改联系人数据
|
|
updateContact(contactId:联系人ID,data:联系人数据,会与现有的数据合并)
|
|
# 切换 menu
|
|
changeMenu(menuName)
|
|
# 打开一个聊天窗口 传入 contactId 或 contact(如果当前不存在这个联系人,根据此数据新建一个)
|
|
openMessage(contactId | contact) |