Files
lemon-imui/packages
2019-10-30 17:43:26 +08:00
..
2019-10-30 17:43:26 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00
2019-10-24 19:48:49 +08:00

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)