add zn-CN translation for nodes: network, parsers, sequence

This commit is contained in:
JIYE YU 2020-01-31 11:10:04 +09:00
parent 6d3eb7bb4b
commit c03abdb5e7
16 changed files with 778 additions and 0 deletions

View File

@ -0,0 +1,19 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="tls-config">
<p>TLS连接的配置选项。</p>
</script>

View File

@ -0,0 +1,22 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="http proxy">
<p>HTTP代理的配置选项。</p>
<h3>详细</h3>
<p>访问代理例外列表中的主机时,将不使用任何代理。</p>
</script>

View File

@ -0,0 +1,71 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="mqtt in">
<p>连接到MQTT代理并订阅来自指定主题的消息。</p>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">字符串 | buffer</span></dt>
<dd>如果不是二进制buffer的话就是字符串</dd>
<dt>topic <span class="property-type">字符串</span></dt>
<dd>MQTT主题使用<code>/</code>作为层次结构分隔符。</dd>
<dt>qos <span class="property-type">数值</span> </dt>
<dd>QoS服务质量0, 最多一次; 1, 最少一次; 2, 只一次。</dd>
<dt>retain <span class="property-type">布尔值</span></dt>
<dd>值为true时表示消息已保留且可能是旧的。</dd>
</dl>
<h3>详细</h3>
<p>订阅主题可以包括MQTT通配符+:一个级别,#:多个级别)。</p>
<p>使用该节点您首先需要建立与MQTT代理的连接。通过单击铅笔图标来进行配置。</p>
<p>如有需要几个MQTT节点输入或输出可以共享相同的代理连接。</p>
</script>
<script type="text/x-red" data-help-name="mqtt out">
<p>连接到MQTT代理并发布消息。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">字符串 | buffer</span></dt>
<dd>要发布的有效负载。如果未设置此属性,则不会发送任何消息。要发送空白消息,请将此属性设置为空字符串。</dd>
<dt class="optional">topic <span class="property-type">字符串</span></dt>
<dd>要发布的MQTT主题。</dd>
<dt class="optional">qos <span class="property-type">number</span></dt>
<dd>QoS服务质量0, 最多一次; 1, 最少一次; 2, 只一次。默认值为0。</dd>
<dt class="optional">retain <span class="property-type">布尔值</span></dt>
<dd>设置为<code>true</code>来将消息保留在代理上。默认值为<code>false</code></dd>
</dl>
<h3>详细</h3>
<p><code>msg.payload</code>用作已发布消息的有效载荷。如果包含Object则会在发送之前将其转换为JSON字符串。如果它包含二进制buffer则消息将按原样发布。</p>
<p>可以在节点中配置所使用的主题,或者如果留为空白,则可以通过<code>msg.topic</code>进行设置。</p>
<p>同样可以在节点中配置QoS和保留值或者如果保留空白则分别由<code>msg.qos</code><code>msg.retain</code>设置。要清除先前存储在代理中的主题,请设置保留标志并向该主题发布空消息。</p>
<p>该节点需要与要配置的MQTT代理的连接。通过单击铅笔图标进行配置。</p>
<p>如果需要几个MQTT节点输入或输出可以共享相同的代理连接。</p>
</script>
<script type="text/x-red" data-help-name="mqtt-broker">
<p>与MQTT代理的连接设置。</p>
<p>创建与代理的连接设置。可以在<code>MQTT In</code><code>MQTT Out</code>节点中重复利用这些设置。</p>
<p>如果未为该节点设置客户端ID并且设置了会话初始化则将生成一个随机客户端ID。设置客户端ID时请确保它对于连接目标处的代理是唯一的。</p>
<h4>Birth Message</h4>
<p>建立连接后发布在以配置主题中的消息。</p>
<h4>Close Message</h4>
<p>在连接正常结束之前重新部署或者关闭了节点时,发布在以配置主题中的消息。</p>
<h4>Will Message</h4>
<p>当节点意外丢失连接时由代理发布的消息</p>
<h4>WebSockets</h4>
<p>可以将节点配置成使用WebSocket连接。使用WebSocket时请在服务器字段中以完整格式描述连接目标的URI。 例如:</p>
<pre>ws://example.com:4000/mqtt</pre>
</script>

View File

@ -0,0 +1,81 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="http in">
<p>创建用于创建Web服务的HTTP端点。</p>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload</dt>
<dd>GET请求包含任何查询字符串参数的对象。或者包含HTTP请求正文。</dd>
<dt>req<span class="property-type">object</span></dt>
<dd>HTTP请求对象。该对象包含有关请求信息的多个属性。
<ul>
<li><code>body</code> - 传入请求的正文。格式将取决于请求。</li>
<li><code>headers</code> - 包含HTTP请求标头的对象。</li>
<li><code>query</code> - 包含任何查询字符串参数的对象。</li>
<li><code>params</code> - 包含任何路由参数的对象。</li>
<li><code>cookies</code> - 包含请求cookie的对象。</li>
<li><code>files</code> - 如果节点启用了文件上传,则为包含了上传的文件的对象。</li>
</ul>
</dd>
<dt>res<span class="property-type">object</span></dt>
<dd>HTTP响应对象。此属性不应直接使用<code>HTTP Response</code>节点记录了如何响应请求。该属性必须保留在传递给响应节点的消息上。</dd>
</dl>
<h3>详细</h3>
<p>节点将在配置的路径上监听特定类型的请求。路径可以完全指定,例如<code>/user</code>,或包括可以接受任何值的命名参数,例如<code>/user/:name</code>。 使用命名参数时,可以在<code>msg.req.params</code>下访问其在请求中的实际值。</p>
<p>对于包含正文的请求例如POST或PUT请求的内容将作为<code>msg.payload</code>提供。</p>
<p>如果可以确定请求的内容类型,则正文将被解析为任何适当的类型。例如,<code>application/json</code>将被解析为其JavaScript对象表示。</p>
<p><b>注意:</b>该节点不发送对请求的任何响应。该流必须包含HTTP响应节点才能完成请求。</p>
</script>
<script type="text/x-red" data-help-name="http response">
<p>将响应发送回从HTTP输入节点接收的请求。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">string</span></dt>
<dd>响应的正文。</dd>
<dt class="optional">statusCode <span class="property-type">数值</span></dt>
<dd>如果设置则用作响应状态代码。默认值200。</dd>
<dt class="optional">headers <span class="property-type">object</span></dt>
<dd>如果设置则提供HTTP头以包含在响应中。</dd>
<dt class="optional">cookies <span class="property-type">object</span></dt>
<dd>如果设置则可用于设置或删除cookie。</dd>
</dl>
<h3>详细</h3>
<p>还可以在节点本身内设置<code>statusCode</code><code>headers</code>。如果在节点内设置了属性则不能被相应的message属性覆盖。</p>
<h4>Cookie处理</h4>
<p><code>cookies</code>属性必须是名称/值对的对象。该值可以是使用默认选项设置cookie值的字符串也可以是options对象。<p>
<p>下面的示例设置两个cookie-一个名为<code>name</code>的值为<code>nick</code>,另一个名为<code>session</code>的值为<code>1234</code>并且有效期设置为15分钟。</p>
<pre>
msg.cookies = {
name: 'nick',
session: {
value: '1234',
maxAge: 900000
}
}</pre>
<p>有效选项包括:</p>
<ul>
<li><code>domain</code> - (字符串) Cookie的域名</li>
<li><code>expires</code> - (日期) GMT标准时间的到期日。如果未指定或设置为0则创建会话cookie</li>
<li><code>maxAge</code> - (字符串) 相对于当前时间的到期日期(以毫秒为单位)</li>
<li><code>path</code> - (字符串) Cookie的路径。默认为/</li>
<li><code>value</code> - (字符串) Cookie使用的值</li>
</ul>
<p>要删除Cookie请将其<code>value</code>设置为<code>null</code></p>
</script>

View File

@ -0,0 +1,78 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="http request">
<p>发送HTTP请求并返回响应。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">url <span class="property-type">字符串</span></dt>
<dd>如果未在节点中配置则此可选属性设置请求的url。</dd>
<dt class="optional">method <span class="property-type">字符串</span></dt>
<dd>如果未在节点中配置则此可选属性设置请求的HTTP方法。必须是<code>GET</code>,<code>PUT</code>,<code>POST</code>,<code>PATCH</code><code>DELETE</code>之一。</dd>
<dt class="optional">headers <span class="property-type">object</span></dt>
<dd>设置请求的HTTP头。</dd>
<dt class="optional">cookies <span class="property-type">object</span></dt>
<dd>如果设置则可用于发送带有请求的cookie。</dd>
<dt class="optional">payload</dt>
<dd>发送为请求的正文。</dd>
<dt class="optional">rejectUnauthorized</dt>
<dd>如果设置为<code>false</code>则允许对使用自签名证书的https站点进行请求。</dd>
<dt class="optional">followRedirects</dt>
<dd>如果设置为<code>false</code>则阻止遵循重定向HTTP 301。默认情况下为<code>true</code></dd>
<dt class="optional">requestTimeout</dt>
<dd>如果设置为正数毫秒,将覆盖全局设置的<code>httpRequestTimeout</code>参数。</dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">字符串 | object | buffer</span></dt>
<dd>响应的正文。可以将节点配置为以字符串形式返回主体尝试将其解析为JSON字符串或将其保留为二进制buffer。</dd>
<dt>statusCode <span class="property-type">数值</span></dt>
<dd>响应的状态码,如果请求无法完成,则返回错误码。</dd>
<dt>headers <span class="property-type">object</span></dt>
<dd>包含响应头的对象。</dd>
<dt>responseUrl <span class="property-type">字符串</span></dt>
<dd>如果在处理请求时发生任何重定向则此属性为最终重定向的URL。否则则为原始请求的URL。</dd>
<dt>responseCookies <span class="property-type">object</span></dt>
<dd>如果响应包含cookie则此属性是每个cookie的名称/值’键值对的对象。</dd>
<dt>redirectList <span class="property-type">数组</span></dt>
<dd>如果请求被重定向了一次或多次则累积的信息将被添加到此属性。“location”是下一个重定向目标。cookie是从重定向源返回的cookie。</dd>
</dl>
<h3>详细</h3>
<p>在节点内配置后URL属性可以包含<a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache样式</a>标签。 这些标签允许使用传入消息的值来构造url。例如如果url设置为<code>example.com/{{{{topic}}}</code>,它将自动插入<code>msg.topic</code>的值。使用{{{...}}}可以防止mustache转义/ &等字符。</p>
<p>节点可以选择自动将<code>msg.payload</code>编码为GET请求的查询字符串参数在这种情况下<code>msg.payload</code>必须是一个对象。</p>
<p><b>注意:</b>如果使用了代理,则应设置<code>http_proxy=...</code>环境变量并重新启动Node-RED或使用“代理配置”。如果设置了代理配置则配置优先于环境变量。</p>
<h4>使用多个HTTP请求节点</h4>
<p>为了在一个流程中多次使用该节点,必须要注意<code>msg.headers</code>属性的处理。通常在第一个节点在响应头中设置此属性,而不期望在下一个节点的请求头中使用此属性。如果节点之间的<code>msg.headers</code>属性保持不变,则第二个节点将忽略它。要设置自定义标题,首先应删除<code>msg.headers</code>或将其重置为空对象:<code>{}</code></p>
<h4>Cookie处理</h4>
<p>传递给节点的<code>cookies</code>属性必须是‘名称/值键值对的对象。该值可以是设置cookie值的字符串也可以是具有单个<code>value</code>属性的对象。</p>
<p>请求返回的所有cookie都将在<code>responseCookies</code>属性下传递回去。</p>
<h4>内容类型处理</h4>
<p>如果<code>msg.payload</code>是一个对象,则节点将自动将请求的内容类型设置为<code>application/json</code>并对其进行编码。</p>
<p>要将请求编码为表单数据,应将<code>msg.headers[“content-type”]</code>设置为<code>application/x-www-form-urlencoded</code></p>
<h4>文件上传</h4>
<p>要执行文件上传,应将<code>msg.headers["content-type"]</code>设置为<code>multipart/form-data</code><code>msg.payload</code>传递给节点的必须是具有以下结构的对象:</p>
<pre><code>{
"KEY": {
"value": FILE_CONTENTS,
"options": {
"filename": "FILENAME"
}
}
}</code></pre>
<p><code>KEY</code>,<code>FILE_CONTENTS</code><code>FILENAME</code>的值应设置为适当的值。</p>
</script>

View File

@ -0,0 +1,35 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="websocket in">
<p>WebSocket输入节点。</p>
<p>默认情况下从WebSocket接收的数据将位于<code>msg.payload</code>中。可以将套接字配置为期望格式正确的JSON字符串在这种情况下它将解析JSON并将结果对象作为整个消息发送。</p>
</script>
<script type="text/x-red" data-help-name="websocket out">
<p>WebSocket输出节点。</p>
<p>默认情况下,<code>msg.payload</code>将通过WebSocket发送。可以将套接字配置为将整个<code>msg</code>对象编码为JSON字符串然后通过WebSocket发送。</p>
<p>如果到达此节点的消息是从WebSocket In节点开始的则该消息将发送回触发流程的客户端。否则消息将广播给所有连接的客户端。</p>
<p>如果要广播从“WebSocket输入”节点开始的消息则可以应该删除流中的<code>msg._session</code>属性。</p>
</script>
<script type="text/x-red" data-help-name="websocket-listener">
<p>此配置节点使用指定的路径创建WebSocket服务器端点。</p>
</script>
<script type="text/x-red" data-help-name="websocket-client">
<p>此配置节点将WebSocket客户端连接到指定的URL。</p>
</script>

View File

@ -0,0 +1,35 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="tcp in">
<p>提供TCP输入选择。可以连接到远程TCP端口或接受传入连接。</p>
<p><b>注意:</b>在某些系统上您可能需要root或管理员权限来访问低于1024的端口。</p>
</script>
<script type="text/x-red" data-help-name="tcp out">
<p>提供TCP输出的选择。可以连接到远程TCP端口接受传入的连接或回复从TCP In节点收到的消息。</p>
<p>仅发送<code>msg.payload</code></p>
<p>如果<code>msg.payload</code>是包含二进制数据的Base64编码的字符串则Base64解码选项将导致它在发送之前先转换回二进制。</p>
<p>如果不存在<code>msg._session</code>,则有效负载将发送到<b>所有</b>连接的客户端。</p>
<p><b>注意:</b>在某些系统上您可能需要root或管理员权限来访问低于1024的端口。</p>
</script>
<script type="text/x-red" data-help-name="tcp request">
<p>一个简单的TCP请求节点。将<code>msg.payload</code>发送到服务器tcp端口并期望得到响应。</p>
<p>连接到服务器,发送“请求”并接收“响应”。 可以从固定数量的字符,与指定字符匹配的字符中选择操作,从第一个答复到达起等待指定的时间,等待数据到达,发送数据并立即取消连接而无需等待答复等操作中进行选择。</p>
<p>响应将在<code>msg.payload</code>中作为buffer输出因此您可能需要对它进行<code>.toString()</code>操作。</p>
<p>如果将tcp主机或端口留空则必须使用<code>msg.host</code><code>msg.port</code>属性进行设置。</p>
</script>

View File

@ -0,0 +1,28 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="udp in">
<p>UDP输入节点。在<code>msg.payload</code>中生成Buffer字符串或Base64编码的字符串。支持组播。</p>
<p><code>msg.ip</code><code>msg.port</code>中设置接收到的消息的IP地址和端口。</p>
<p><b>注意:</b>在某些系统上您可能需要root或管理员权限才能使用低于1024的端口或广播。</p>
</script>
<script type="text/x-red" data-help-name="udp out">
<p>该节点将<code>msg.payload</code>发送到指定的UDP主机和端口。支持组播。</p>
<p>您也可以使用<code>msg.ip</code><code>msg.port</code>设置目标值,但是静态配置的值具有优先权。</p>
<p>如果选择广播则将地址设置为本地广播IP地址。或者也可以尝试使用全局广播地址255.255.255.255。</p>
<p><b>注意:</b>在某些系统上您可能需要root或管理员权限才能使用低于1024的端口或广播。</p>
</script>

View File

@ -0,0 +1,43 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="csv">
<p>在CSV格式的字符串及其JavaScript对象表示形式之间进行相互转换。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 数组 | 字符串</span></dt>
<dd>JavaScript对象数组或CSV字符串。</dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 数组 | 字符串</span></dt>
<dd>
<ul>
<li>如果输入是字符串它将尝试将其解析为CSV并为每行创建键/值对的JavaScript对象。然后该节点将为每行发送一条消息或者发送一条包含对象数组的消息。</li>
<li>如果输入是JavaScript对象它将尝试构建CSV字符串。</li>
<li>如果输入是简单值的数组则将构建单行CSV字符串。</li>
<li>如果输入是数组数组或对象数组则会创建多行CSV字符串。</li>
</ul>
</dd>
</dl>
<h3>详细</h3>
<p>列模板可以包含列名称的有序列表。将CSV转换为对象时列名将用作属性名称。或者也可以从CSV的第一行中获取列名称。</p>
<p>转换为CSV时列模板用于标识从对象中提取的属性以及提取的顺序。</p>
<p>如果输入是数组,则列模板仅用于有选择地生成一行列标题。</p>
<p>只要正确设置<code>parts</code>属性,该节点就可以接受多部分输入。</p>
<p>如果输出多个消息,则将设置其<code>parts</code>属性并形成完整的消息序列。</p>
<p><b>注意:</b>列模板必须用逗号分隔,即使数据中已有了其他分隔符。</p>
</script>

View File

@ -0,0 +1,33 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="html">
<p>使用CSS选择器从<code>msg.payload</code>中保存的html文档中提取元素。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">字符串</span></dt>
<dd>从中提取元素的html字符串。</dd>
<dt class="optional">select <span class="property-type">字符串</span></dt>
<dd>如果未在编辑面板中配置则可以将选择器设置为msg的属性。</dd>
</dl>
<h3>Output</h3>
<dl class="message-properties">
<dt>payload <span class="property-type">数组 | 字符串</span></dt>
<dd>结果可以是有效载荷中包含匹配元素的数组的单个消息;也可以是多条消息,每条消息都包含匹配元素。发送多条消息时,需要为消息设置<code>parts</code></dd>
</dl>
<h3>详细</h3>
<p>该节点支持CSS和jQuery选择器的组合。查看<a href="https://github.com/fb55/CSSselect#user-content-supported-selectors" target="_blank">css-select documentation</a> 来获得更多信息。</p>
</script>

View File

@ -0,0 +1,43 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="json">
<p>在JSON字符串及其JavaScript对象表示形式之间相互转换。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>JavaScript对象或JSON字符串。</dd>
<dt>schema<span class="property-type">object</span></dt>
<dd>可选的JSON Schema对象用于验证有效负载。在将<code>msg</code>发送到下一个节点之前,将删除该属性。</dd>
</dl>
<h3>Outputs</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>
<ul>
<li>如果输入是JSON字符串它将尝试将其解析为JavaScript对象。</li>
<li>如果输入是JavaScript对象它将创建一个JSON字符串。并可以选择对此JSON字符串进行整形。</li>
</ul>
</dd>
<dt>schemaError<span class="property-type">数组</span></dt>
<dd>如果JSON模式验证失败则catch节点将具有包含错误数组的<code>schemaError</code>属性。</dd>
</dl>
<h3>详细</h3>
<p>默认的转换目标是<code>msg.payload</code>,但是也可以转换消息的其它属性。</p>
<p>您可以将其设置为仅执行特定的转换,而不是自动选择双向转换。例如,即使对<code>HTTP In</code>节点的请求未正确设置content-type也可以使用它来确保JSON节点的转换结果是JavaScript对象</p>
<p>如果指定了转换为JSON字符串则不会对收到的字符串进行进一步的检查。也就是说即使指定了格式化选项它也不会检查字符串是否正确为JSON或对JSON执行整形。</p>
<p>有关JSON模式的更多详细信息请查阅<a href="http://json-schema.org/latest/json-schema-validation.html">规范</a>.</p>
</script>

View File

@ -0,0 +1,48 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="xml">
<p>在XML字符串及其JavaScript对象表示形式之间进行相互转换。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>JavaScript对象或XML字符串。</dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>
<ul>
<li>如果输入是字符串它将尝试将其解析为XML并创建一个JavaScript对象。</li>
<li>如果输入是JavaScript对象它将尝试构建XML字符串。</li>
</ul>
</dd>
<dt class="optional">options <span class="property-type">object</span></dt>
<dd>可以将选项传递给内部使用的XML转换库。请参见<a href="https://github.com/Leonidas-from-XIV/node-xml2js/blob/master/README.md#options" target="_blank"> xml2js文档</a> 来获取更多信息。</dd>
</dl>
<h3>详细</h3>
<p>在XML和对象之间进行转换时默认情况下XML属性会添加到名为<code>$</code>的属性中。将文本内容添加到名为<code>_</code>的属性中。这些属性名称可以在节点设置中更改。</p>
<p>例如将如下所示转换以下XML</p>
<pre>&lt;p class="tag"&gt;Hello World&lt;/p&gt;</pre>
<pre>{
"p": {
"$": {
"class": "tag"
},
"_": "Hello World"
}
}</pre>
</script>

View File

@ -0,0 +1,34 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="yaml">
<p>在YAML格式的字符串及其JavaScript对象表示形式之间相互转换。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>JavaScript对象或YAML字符串。</dd>
</dl>
<h3>Outputs</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串</span></dt>
<dd>
<ul>
<li>如果输入是YAML字符串它将尝试将其解析为JavaScript对象。</li>
<li>如果输入是JavaScript对象它将创建一个YAML字符串。</li>
</ul>
</dd>
</dl>
</script>

View File

@ -0,0 +1,133 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="split">
<p>将一条消息拆分为一系列消息。</p>
<h3>输入</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object | 字符串 | 数组 | buffer</span></dt>
<dd>节点的行为由<code>msg.payload</code>的类型决定:
<ul>
<li><b>字符串</b>/<b>buffer</b> - 使用指定的字符(默认值:<code>\n</code>),缓冲区序列或固定长度将消息拆分。</li>
<li><b>数组</b> - 消息被拆分为单个数组元素或固定长度的数组。</li>
<li><b>object</b> - 将为对象的每个键/值对发送一条消息。</li>
</ul>
</dd>
</dl>
<h3>输出</h3>
<dl class="message-properties">
<dt>parts<span class="property-type">object</span></dt>
<dd>此属性包含有关如何将消息与原始消息分开的信息。如果传递给<b>join</b>节点,则可以将序列重组为单个消息。该属性具有以下属性:
<ul>
<li><code>id</code> - 一组消息的标识符</li>
<li><code>index</code> - 组中的位置</li>
<li><code>count</code> - 如果已知组中的邮件总数。请参阅下面的“流媒体模式”</li>
<li><code>type</code> - 消息的类型-字符串/数组/对象/buffer</li>
<li><code>ch</code> - 对于字符串或buffer用于将消息拆分为字符串或字节数组的数据</li>
<li><code>key</code> - 对于对象,创建此消息的属性的键。可以将节点配置为也将此值复制到另一个消息属性,例如<code>msg.topic</code></li>
<li><code>len</code> - 使用固定长度值拆分消息时,每段子消息的长度</li>
</ul>
</dd>
</dl>
<h3>详细</h3>
<p>在使用<b>join</b>节点将序列重新组合为单个消息之前,推荐使用此节点来轻松地创建跨消息序列,执行通用操作的流。</p>
<p>它使用<code>msg.parts</code>属性跟踪序列的各个部分。</p>
<h4>流媒体模式</h4>
<p>该节点还可以用于重排消息流。例如,发送换行符终止命令的串行设备可能会传递一条消息,并在其末尾带有部分命令。 在“流模式”下,此节点将拆分一条消息并发送每个完整的段。如果末尾有部分片段,则该节点将保留该片段,并将其添加到收到的下一条消息之前。</p>
<p>在此模式下运行时,该节点将不会设置<code>msg.parts.count</code>属性,因为流中期望的消息数还是未知的。这意味着它不能在自动模式下与<b>join</b>节点一起使用。</p>
</script>
<script type="text/x-red" data-help-name="join">
<p>将消息序列合并为一条消息.</p>
<p>共有三种模式:</p>
<dl>
<dt>自动模式</dt>
<dd><b>split</b>节点配对时,它将自动将已被拆分的消息进行合并。</dd>
<dt>手动模式</dt>
<dd>手动地以各种方式合并消息序列。</dd>
<dt>列聚合模式</dt>
<dd>对消息列中的所有消息应用表达式以将其简化为单个消息。</dd>
</dl>
<h3>输入</h3>
<dl class="message-properties">
<dt class="optional">parts<span class="property-type">object</span></dt>
<dd>使用自动模式时,所有的消息都应包含此属性。<b>split</b>节点会生成此属性,但也可以手动进行设置。该属性具有以下属性:
<ul>
<li><code>id</code> - 消息组的标识符</li>
<li><code>index</code> - 组中的位置</li>
<li><code>count</code> - 如果已知组中的邮件总数。请参阅下面的“流媒体模式”</li>
<li><code>type</code> - 消息的类型-字符串/数组/对象/buffer</li>
<li><code>ch</code> - 对于字符串或buffer用于将消息拆分为字符串或字节数组的数据</li>
<li><code>key</code> - 对于对象,创建此消息的属性的键。可以将节点配置为也将此值复制到另一个消息属性,例如<code>msg.topic</code>/li>
<li><code>len</code> - 使用固定长度值拆分消息时,每段子消息的长度</li>
</ul>
</dd>
<dt class="optional">complete</dt>
<dd>如果设置,则节点将以其当前状态发送其输出消息。</dd>
</dl>
<h3>详细</h3>
<h4>自动模式</h4>
<p>自动模式使用传入消息的<code>parts</code>属性来确定应如何连接序列。这使它可以自动逆转<b>split</b>节点的操作。</p>
<h4>手动模式</h4>
<p>设置为以手动模式时,该节点能以各种不同的方法来处理消息:</p>
<ul>
<li><b>字符串</b><b>缓冲区</b>-通过将每条消息的选定属性与指定的连接字符或缓冲区连接起来。</li>
<li><b>数组</b> - 通过将每个选定的属性或整个消息添加到输出数组</li>
<li><b>键/值对象</b> - 通过使用每个消息的属性来确定存储所需值的键。</li>
<li><b>merged object</b> - 通过将每个消息的属性合并到一个对象下。</li>
</ul>
<p>输出消息的其他属性都取自发送结果前的最后一条消息。</p>
<p>可以用<i>计数</i>来确定应接收多少条消息来进行合并。对于对象输出,可以设置为达到此计数后的每条后续消息都发送一条输出。</p>
<p>可以用<i>超时</i>来设置发送新消息之前的等待时间。</p>
<p>如果收到设置了<b>msg.complete</b>属性的消息时发送输出消息并重置消息列数。</p>
<p>如果收到设置了<b>msg.reset</b>属性的消息,则部分收到的消息将被删除而不发送,同时重置消息列数。</p>
<h4>列聚合模式</h4>
<p>选择列聚合模式时,将表达式应用于组成消息列的每条消息,并使用聚合值组成一条消息。</p>
<dl class="message-properties">
<dt>初始值</dt>
<dd>累积值的初始值(<code>$A</code>)。</dd>
<dt>聚合表达式</dt>
<dd>序列中的每个消息调用的JSONata表达式。结果将作为累加值传递到表达式的下一个调用。在表达式中可以使用以下特殊变量
<ul>
<li><code>$A</code>: 累计值 </li>
<li><code>$I</code>: 消息在序列中的索引</li>
<li><code>$N</code>: 序列中的消息数</li>
</ul>
</dd>
<dt>最终调整式子</dt>
<dd>可选的JSONata表达式在将聚合表达式应用于序列中的所有消息之后应用。在表达式中可以使用以下特殊变量
<ul>
<li><code>$A</code>: 累计值</li>
<li><code>$N</code>: 消息在序列中的索引</li>
</ul>
</dd>
<p>默认情况下,按顺序从序列的第一条消息到最后一条消息应用聚合表达式。也可以选择以相反的顺序应用聚合表达式。</p>
</dl>
<p><b>例子:</b>给定一系列数字值,以下设置将计算平均值:
<ul>
<li><b>聚合表达式</b>: <code>$A+payload</code></li>
<li><b>初始值</b>: <code>0</code></li>
<li><b>最终调整式</b>: <code>$A/$N</code></li>
</ul>
</p>
<h4>储存讯息</h4>
<p>该节点将在内部缓存消息,以便跨序列工作。运行时设置<code>nodeMessageBufferMaxLength</code>可用于设定缓存的消息数。</p>
</script>

View File

@ -0,0 +1,41 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="sort">
<p>对消息属性或消息序列进行排序的函数。</p>
<p>当配置为对消息属性进行排序时,节点将对指定消息属性所指向的数组数据进行排序。</p>
<p>当配置为对消息序列排序时,它将对消息重新排序。</p>
<p>排序顺序可以是:</p>
<ul>
<li><b>升序</b></li>
<li><b>降序</b></li>
</ul>
<p>对于数字,可以通过复选框指定数字顺序。</p>
<p>排序键可以是元素值也可以是JSONata表达式来对属性值进行排序还可以是message属性或JSONata表达式来对消息序列进行排序。<p>
<p>在对消息序列进行排序时,排序节点依赖于接收到的消息来设置<code>msg.parts</code>。拆分节点将生成此属性,但也可以手动创建。它具有以下属性:</p>
<p>
<ul>
<li><code>id</code> - 消息组的标识符</li>
<li><code>index</code> - 组中的位置</li>
<li><code>count</code> - 群组中的邮件总数</li>
</ul>
</p>
<p><b>注意:</b>在此节点的处理中,消息在内部存储。通过指定要累积的最大消息数,可以防止意外的高内存使用。默认设置是不限制消息数量。
<ul>
<li><code>nodeMessageBufferMaxLength</code>属性在<b>settings.js</b>中设置。</li>
</ul>
</p>
</script>

View File

@ -0,0 +1,34 @@
<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/x-red" data-help-name="batch">
<p>根据各种规则创建消息序列。</p>
<h3>详细</h3>
<p>有三种创建消息序列的模式:</p>
<dl>
<dt>讯息数</dt>
<dd>将消息分组为给定长度的序列。 <b>overlap</b>(重叠)选项指定在一个序列的末尾应重复多少消息。</dd>
<dt>时间间隔</dt>
<dd>对在指定时间间隔内到达的邮件进行分组。如果在该时间间隔内没有消息到达,则该节点可以选择发送空消息。</dd>
<dt>串联序列</dt>
<dd>通过串联输入序列来创建消息序列。每条消息必须具有<code>msg.topic</code>属性和标识其序列的<code>msg.parts</code>属性。该节点配置有<code>topic</code>值列表,以标识所连接的顺序序列。
</dd>
</dl>
<h4>储存讯息</h4>
<p>该节点将在内部缓冲消息,以便跨序列工作。运行时设置<code>nodeMessageBufferMaxLength</code>可用于限制节点将缓存多少消息。</p>
</script>