如何发送带有图层的多部分TextMessage?

时间:2019-03-12 11:43:24

标签: javascript layer

根据the docs,消息可以组成为包含多个部分。与其他任何消息一样,Text Message模型是通过使用消息部分发送的,例如:

{
    "sender_id": "layer:///identities/frodo-the-dodo",
    "parts": [{
        "id": "layer:///messages/GENERATE_A_UUID/parts/GENERATE_A_UUID",
        "mime_type": "application/vnd.layer.text+json;role=root",
        "body": JSON.stringify({
            "text": "hello"
        })
    }]
}

由多部分组成的消息结构应遵循一些规则,其中一些规则没有得到很好的记录:

  • 子部分role不应为root;
  • 子部件应通过parent-node-id引用其父部件。

这里是一个例子:

{
    "sender_id": "layer:///identities/frodo-the-dodo",
    "parts": [{
        "id": "layer:///messages/GENERATE_A_UUID/parts/" + id1,
        "mime_type": "application/vnd.layer.response-v2+json;role=root",
        "body": JSON.stringify({
            "response_to": "layer:///messages/c2e3449e-b3e7-4a98-a53f-e8fb6d557eb0",
            "response_to_node_id": "1ff726e9-c864-40ce-8409-5bdd52966821",
            "changes":[{
                "operation": "add",
                "type": "Set",
                "value": "red",
                "name": "colors",
                "id": "8yFb5j"
            }, {
                "operation": "add",
                "type": "Set",
                "value": "blue",
                "name": "colors",
                "id": "Zjf8Ac"
            }]
        })
    }, {
        "id": "layer:///messages/GENERATE_A_UUID/parts/GENERATE_A_UUID",
        "mime_type": "application/vnd.layer.status+json;role=status;parent-node-id=" + id1,
        "body": JSON.stringify({
            "text": "Frodo has added red and blue"
        })
    }]
}

文档中的歧义性并未清楚说明如何使用消息ID,部件ID,而且我也没有找到有关如何使用role字段的字眼。我尝试了不同的生成值组合,但是在尝试显示多部分文本消息响应时,它们都没有起作用。

我尝试过的内容包括:

  1. 每个部分都有相同的消息UUID,不同部分的UUID role=root
  2. 每个部分都具有相同的消息UUID,不同部分的UUID,第一条消息具有role=root,其他部分具有role=random;parent-node-id=first-message-UUID
  3. 与1相同,但是所有部分都有唯一的消息UUID。
  4. 与2相同,但所有部分都有唯一的消息UUID。

我该如何实现?

0 个答案:

没有答案