根据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
字段的字眼。我尝试了不同的生成值组合,但是在尝试显示多部分文本消息响应时,它们都没有起作用。
我尝试过的内容包括:
role=root
。role=root
,其他部分具有role=random;parent-node-id=first-message-UUID
。我该如何实现?