收到的数据格式

{
  "robotInfo": {
    "wxid": "bot-wx-id",
    "name": "BotName"
  },
  "message": {
    "conversionId": "room-or-contact-id",
    "conversionName": "room-or-contact-name",
    "isRoom": false,
    "chatName": "contact-display-name",
    "chatId": "contact-id",
    "chatAlias": "contact-alias-or-null",
    "chatUserWeixin": "contact-weixin-id-or-empty",
    "isMyself": false,
    "time": 1673779200,
    "type": "文字",
    "content": "消息文本(仅当 type=文字 或 特殊类型时)",
    "url": "https://oss.example.com/xxxx.jpg(当有附件/图片/音频/表情时)",
    "mediaInfo": {
      "title": "链接或小程序标题 / 视频号昵称 等(按类型不同)",
      "url": "链接或小程序页面或封面地址",
      "description": "描述文本",
      "imageUrl": "缩略图地址",
      "appid": "小程序 appid(小程序类型)",
      "username": "小程序 username(小程序类型)",
      "nickname": "视频号昵称(视频号类型)",
      "coverUrl": "视频号封面(视频号类型)",
      "avatar": "头像/封面(视频号/名片等)",
      "objectId": "视频号 objectId",
      "objectNonceId": "视频号 objectNonceId",
      "wxid": "名片对应的 wxid(名片类型)",
      "name": "名片 name(名片类型)"
    }
  }
}

下面把 axios.request(config) 中 config.data 的字段详解用表格整理出来。包含字段名、类型、是否必需、说明与何时出现。

顶层结构 字段 类型 必需 说明
robotInfo object 机器人信息(见下表)
message object 消息主体(见下表)
robotInfo 字段 字段 类型 必需 说明
wxid string 机器人微信 id(代码中为 robotInfo.id)
name string 机器人名称(robotInfo.name())
message(消息对象)主要字段 字段 类型 必需 说明
conversionId string 会话 id:群则为 room.id,私聊则为 contact.id(注意:代码里拼写为 conversionId)
conversionName string 会话名:群名或联系人名
isRoom boolean 是否群聊(true/false)
chatName string 联系人昵称(talker.name())
chatId string 联系人 id(contact.id)
chatAlias string | null 联系人备注(alias),可能为空或 null
chatUserWeixin string 联系人 weixin id(contact.weixin()),无则空字符串
isMyself boolean 是否自己发的消息
time integer Unix 时间(秒)。若原 timestamp 为毫秒(长度>10),会除以1000并取整
type string 消息类型(中文标签),如 "文字"、"图片"、"小程序" 等
content string 文本内容(当 type = '文字'),或红包固定文本 "收到红包"
url string 当消息有附件/图片/音频/自定义表情时,上传 OSS 后返回的文件 URL
mediaInfo object 与消息类型相关的额外信息(见下表)
mediaInfo 按消息类型可能包含的字段(常见项) 消息类型 mediaInfo 字段 类型 说明
视频号 (Channel) nickname string 视频号昵称
coverUrl string 封面 URL
avatar string 头像 URL
desc string 描述
url string 视频号链接
objectId string objectId
objectNonceId string objectNonceId
名片 (Contact) name string 名片上的姓名
avatar string 头像 URL(可能为空)
wxid string 名片对应的 wxid
H5 链接 (Url) url string 链接地址
description string 链接描述
imageUrl string 缩略图 URL
title string 链接标题
小程序 (MiniProgram) url string decodeURIComponent(pagePath)(页面路径)
appid string 小程序 appid(代码对 PuppetService 有不同处理)
username string 小程序 username(或与 appid 互换,根据 puppetType)
description string 小程序描述
imageUrl string 缩略图 URL
title string 小程序标题
附件/图片/文件/视频 一般使用 url 字段保存上传后 OSS 的文件地址;若是图片则 type='图片',否则 '文件'
语音 (Audio) 使用 url 保存上传后 OSS 的音频地址
自定义表情 (Emoticon) 使用 url 保存上传后 OSS 的图片地址