readme.txt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Data
  2. # 联系人数据
  3. contact:{
  4. // 联系人唯一ID
  5. id: "1",
  6. // 名字
  7. displayName: "范佳奕",
  8. // 头像
  9. avatar:
  10. "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=4259300811,497831842&fm=26&gp=0.jpg",
  11. // 类型 single | many
  12. type: "single",
  13. // 联系人索引, 默认按照 localeCompare 排序, 指定顺序 '[1]群组'
  14. index: "B",
  15. // 最近一条消息
  16. message: {
  17. // 未读数量 , true 显示红点
  18. unread: 0,
  19. // 发送时间
  20. sendTime: 1,
  21. // 内容
  22. content: "2",
  23. // 类型 voice | file | video | image | text
  24. type: "image"
  25. }
  26. }
  27. # 消息数据
  28. message:{
  29. // 消息唯一ID
  30. id: "123",
  31. // 消息状态 going | succeed | failed
  32. status: "succeed",
  33. // 消息类型 voice | file | video | image | text
  34. type: "image",
  35. // 发送时间
  36. sendTime: 12312312312,
  37. // 消息内容 | 消息链接
  38. content: "asdas",
  39. // 接收方 ID 单人聊天(联系人ID) | 多人聊天(群ID)
  40. toContactId: "123",
  41. // type = file 文件大小
  42. fileSize: 1231,
  43. // type = file 文件名称
  44. fileName: 'asdasd.doc'
  45. // 发送消息的联系人
  46. fromUser: { id: "123", displayName: "123", avatar: "123", type: "single" }
  47. }
  48. # 左侧按钮配置
  49. menu:[{
  50. # 指定 menu 唯一名称,保留字段 contacts(通讯录) lastMessages(最近消息)
  51. name: "123",
  52. # 鼠标停留显示文字
  53. title: "通讯录",
  54. # 标记未读数, 数字显示具体值, true 显示红点
  55. unread: 0,
  56. # 按钮的DOM元素
  57. render: menu => {
  58. return <span>T</span>;
  59. },
  60. # 点击按钮打开的页面,如果 name 为保留字段,该属性失效
  61. renderContainer: () => {
  62. return <lemon-contact contact={this.lastMessages[0]} />;
  63. },
  64. # 按钮点击事件,会阻止默认的行为,调用 next() 进入下一步
  65. click: next => {
  66. next();
  67. },
  68. # 是否为底部按钮
  69. isBottom: false
  70. }]
  71. emoji:[{
  72. label: "表情",
  73. children: [
  74. {
  75. name: "1f600",
  76. title: "微笑",
  77. src: "https://twemoji.maxcdn.com/2/72x72/1f600.png"
  78. },
  79. ]
  80. }]
  81. Methods
  82. # 初始化左侧 menu 数据
  83. initMenus(data:[menu])
  84. # 初始化联系人数据
  85. initContacts(data:[contact])
  86. # 修改联系人数据
  87. updateContact(contactId:联系人ID,data:联系人数据,会与现有的数据合并)
  88. # 切换 menu
  89. changeMenu(menuName)
  90. # 打开一个聊天窗口 传入 contactId 或 contact(如果当前不存在这个联系人,根据此数据新建一个)
  91. openMessage(contactId | contact)