← 返回首页
POST /api/broadcast/publish

发布广播消息

需要认证 管理员权限

接口描述

此 API 用于向一个或多个指定的广播频道推送(发布)多条消息。消息可以是字符串类型,也可以是二进制文件类型。

请求格式

multipart/form-data

请求体通过 multipart/form-data 格式传递,其中每个表单字段的 name 对应一个频道名称,value 可以是该频道的字符串消息,或者是一个文件作为二进制消息。

请求参数 (form-data)

返回值

返回一个 JSON 对象,其中 data.results 数组包含了每条消息的发送结果。

参数名 类型 描述
codenumber返回码,0 表示整体请求成功处理(具体每条消息的成功与否见 `data.results`)
msgstring错误信息,成功时为空字符串
dataobject包含发送结果的对象
  ↳ resultsarray一个数组,每个元素代表一条消息的发送结果
    ↳ codenumber单条消息的发送结果码,0 表示成功
    ↳ msgstring单条消息的发送错误信息
    ↳ channelobject目标频道信息
      ↳ namestring频道名称
      ↳ countnumber当前频道的订阅者数量
    ↳ messageobject已发送消息的描述信息
      ↳ typestring消息类型,"string" 或 "binary"
      ↳ sizenumber消息大小 (字节)
      ↳ filenamestring文件名 (如果是二进制消息)
请求示例
返回示例

请求示例

向频道 "channel1" 发送字符串 "hello" 和 "world",并向 "channel2" 发送文件 "data.bin":


POST /api/broadcast/publish HTTP/1.1
Host: 127.0.0.1:6806
Authorization: YOUR_API_TOKEN_HERE (如果需要)
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="channel1"

hello
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="channel1"

world
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="channel2"; filename="data.bin"
Content-Type: application/octet-stream

(这里是 data.bin 文件的二进制内容)
------WebKitFormBoundary7MA4YWxkTrZu0gW--

返回示例 (成功)


{
  "code": 0,
  "msg": "",
  "data": {
    "results": [
      {
        "code": 0,
        "msg": "",
        "channel": {
          "name": "channel1",
          "count": 1
        },
        "message": {
          "type": "string",
          "size": 5,
          "filename": ""
        }
      },
      {
        "code": 0,
        "msg": "",
        "channel": {
          "name": "channel1",
          "count": 1
        },
        "message": {
          "type": "string",
          "size": 5,
          "filename": ""
        }
      },
      {
        "code": 0,
        "msg": "",
        "channel": {
          "name": "channel2",
          "count": 1
        },
        "message": {
          "type": "binary",
          "size": 12345, // 假设文件大小为 12345 字节
          "filename": "data.bin"
        }
      }
    ]
  }
}

备注

注意:这是一个社区维护的文档,可能与官方最新版本存在差异。

如果您觉得本文档有帮助,可以考虑赞助支持:爱发电

在线测试

此 API 使用 multipart/form-data 格式提交数据。
表单字段的 name 是频道名称,value 是字符串消息或上传的文件。
例如: 字段名 channel1 对应值 Hello (字符串消息);或字段名 channel1 对应一个文件 myfile.txt (二进制消息)。
注意: 由于 multipart/form-data (特别是文件上传) 的复杂性,此简易测试器可能无法直接构造此类请求。建议使用 Postman、curl 或自定义脚本进行测试。