# wx.onOfficialComponentsInfoChange(function listener)

> 基础库 3.7.12 开始支持，低版本需做[兼容处理](1003706)。

> __微信 Windows 版__：支持

## 功能描述

监听官方组件信息变化事件

## 参数

### function listener

官方组件信息变化事件的监听函数

#### 参数

##### Object res


```json
[
  {
    "属性": "OfficialComponentsInfo",
    "类型": "Object",
    "说明": "全部组件的信息",
    "子项": [
      {
        "结构属性": "notificationComponentInfo",
        "类型": "Object",
        "说明": "通知组件信息",
        "子项": [
          {
            "结构属性": "name",
            "类型": "string",
            "说明": "组件的名称"
          },
          {
            "结构属性": "isVisible",
            "类型": "boolean",
            "说明": "组件是否显示"
          },
          {
            "结构属性": "boundingClientRect",
            "类型": "Object",
            "说明": "组件的布局位置信息",
            "子项": [
              {
                "结构属性": "width",
                "类型": "number",
                "说明": "宽度，单位：px"
              },
              {
                "结构属性": "height",
                "类型": "number",
                "说明": "高度，单位：px"
              },
              {
                "结构属性": "top",
                "类型": "number",
                "说明": "上边界坐标，单位：px"
              },
              {
                "结构属性": "right",
                "类型": "number",
                "说明": "右边界坐标，单位：px"
              },
              {
                "结构属性": "bottom",
                "类型": "number",
                "说明": "下边界坐标，单位：px"
              },
              {
                "结构属性": "left",
                "类型": "number",
                "说明": "左边界坐标，单位：px"
              }
            ]
          }
        ]
      },
      {
        "结构属性": "rewardsComponentInfo",
        "类型": "Object",
        "说明": "福利组件信息",
        "子项": [
          {
            "结构属性": "name",
            "类型": "string",
            "说明": "组件的名称"
          },
          {
            "结构属性": "canReceiveGiftCount",
            "类型": "number",
            "说明": "可领取的礼包数量"
          },
          {
            "结构属性": "canReceiveFriendGiftCount",
            "类型": "number",
            "说明": "可领取的好友礼包数量"
          },
          {
            "结构属性": "receiveDetail",
            "类型": "Object",
            "说明": "领取事件详情（只在onOfficialComponentsInfoChange回调中返回）",
            "子项": [
              {
                "结构属性": "type",
                "类型": "string",
                "说明": "gift: 礼包, friendGift: 好友礼包"
              },
              {
                "结构属性": "name",
                "类型": "string",
                "说明": "礼包名称，只有 gift 类型才有"
              },
              {
                "结构属性": "desc",
                "类型": "string",
                "说明": "礼包描述，只有 gift 类型才有"
              },
              {
                "结构属性": "icon",
                "类型": "string",
                "说明": "礼包图标，只有 gift 类型才有"
              }
            ]
          }
        ]
      },
      {
        "结构属性": "challengeRewardsComponentInfo",
        "类型": "Object",
        "说明": "擂台赛组件领奖信息",
        "子项": [
          {
            "结构属性": "name",
            "类型": "string",
            "说明": "组件的名称"
          },
          {
            "结构属性": "receiveDetail",
            "类型": "Object",
            "说明": "领取事件详情（只在onOfficialComponentsInfoChange回调中返回）",
            "子项": [
              {
                "结构属性": "userSourceList",
                "类型": "Array.<Object>",
                "说明": "用户领取的奖励列表",
                "子项": [
                  {
                    "结构属性": "source",
                    "类型": "Object",
                    "说明": "奖励来源信息",
                    "子项": [
                      {
                        "结构属性": "propList",
                        "类型": "Array.<Object>",
                        "说明": "道具列表",
                        "子项": [
                          {
                            "结构属性": "propName",
                            "类型": "string",
                            "说明": "道具名称"
                          },
                          {
                            "结构属性": "propNum",
                            "类型": "number",
                            "说明": "道具数量"
                          }
                        ]
                      },
                      {
                        "结构属性": "sourceName",
                        "类型": "string",
                        "说明": "礼包名称"
                      },
                      {
                        "结构属性": "type",
                        "类型": "number",
                        "说明": "奖励类型：1-普通奖励, 2-稀有奖励"
                      }
                    ]
                  },
                  {
                    "结构属性": "sourceNum",
                    "类型": "number",
                    "说明": "获取的奖励数量"
                  },
                  {
                    "结构属性": "sourceType",
                    "类型": "number",
                    "说明": "奖励类型：0-道具礼包, 1-微信蓝包, 2-h5商家券, 3-现金红包, 4-小程序券, 5-盲盒"
                  }
                ]
              },
              {
                "结构属性": "awardResult",
                "类型": "number",
                "说明": "奖励领取结果：1-全部成功, 2-部分成功（礼物达到领取上限）, 3-领奖失败"
              },
              {
                "结构属性": "receivedRareReward",
                "类型": "boolean",
                "说明": "是否收到了稀有奖励"
              }
            ]
          }
        ]
      }
    ]
  }
]
```

## 示例代码

```js
const callback = res => console.log('officialComponentsInfoChange', res)

wx.onOfficialComponentsInfoChange(callback)
// 取消监听
wx.offOfficialComponentsInfoChange(callback)
```
