# GC_YUNYING_GROUP_LIST 协议字段说明

## 协议概述
`GC_YUNYING_GROUP_LIST` 是运营活动组列表协议，用于返回指定面板ID下的所有活动信息。

## 请求协议 (CG_YUNYING_GROUP_LIST)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| panelID | short | 面板ID，例如：3207（每月礼包）、3104（每周礼包） |

## 返回协议 (GC_YUNYING_GROUP_LIST)
| 字段名 | 类型 | 说明 |
|--------|------|------|
| panelID | short | 面板ID（与请求的panelID一致） |
| list | array | 活动列表，最多15个元素 |

### list 数组中每个元素的字段 (YunYingFuncNet)
| 字段名 | 类型 | 说明 | 前端用途 |
|--------|------|------|----------|
| **id** | int | **活动ID** | **关键字段：用于识别具体活动，例如：316（每月礼包）、315（每周礼包）** |
| **panelID** | short | **面板ID** | **关键字段：用于区分不同的面板，3207=每月礼包，3104=每周礼包** |
| **name** | string | **活动名称** | 显示活动标题 |
| **icon** | int | 活动图标ID | 显示活动图标 |
| **red** | byte | 是否显示红点（0=不显示，1=显示） | 控制红点提示 |
| **leftTime** | int | 剩余时间（秒），0表示不显示倒计时 | 显示倒计时 |
| **endTime** | int | 结束时间戳 | 计算剩余时间 |
| **startTime** | int | 开始时间戳 | 判断活动是否开始 |
| **effect** | int | 特效ID | 显示特效 |
| **param** | int | 参数（通常等于id） | 传递给具体活动逻辑 |

## 前端使用示例

### 获取每月礼包列表
```javascript
// 请求协议
CG_YUNYING_GROUP_LIST: {
    panelID: 3207  // 每月礼包面板ID
}

// 返回数据示例
GC_YUNYING_GROUP_LIST: {
    panelID: 3207,
    list: [
        {
            id: 316,              // 每月礼包活动ID
            panelID: 3207,         // 每月礼包面板ID
            name: "",              // 活动名称（可能为空）
            icon: 316,             // 图标ID
            red: 0,                // 是否显示红点
            leftTime: 86400,       // 剩余时间（秒）
            endTime: 1234567890,   // 结束时间戳
            startTime: 1234481490, // 开始时间戳
            effect: 0,             // 特效
            param: 316            // 参数
        }
    ]
}
```

### 前端处理逻辑
1. **识别活动类型**：通过 `panelID` 判断是每月礼包(3207)还是每周礼包(3104)
2. **显示活动列表**：遍历 `list` 数组，根据 `id` 显示对应的活动项
3. **显示红点**：根据 `red` 字段控制红点显示
4. **显示倒计时**：根据 `leftTime` 或 `endTime` 显示倒计时
5. **打开活动面板**：点击活动项时，使用 `id` 或 `param` 作为参数打开对应的活动面板

## 重要说明

### 每月礼包 (id: 316, panelID: 3207)
- **活动ID**: 316
- **面板ID**: 3207
- **模块函数**: `present.RichangLibaoLogic`
- **所属活动组**: config[9] "钻石加号" (panelID: 3101)

### 每周礼包 (id: 315, panelID: 3104)
- **活动ID**: 315
- **面板ID**: 3104
- **模块函数**: `present.RichangLibaoLogic`
- **所属活动组**: config[9] "钻石加号" (panelID: 3101)

### 注意事项
1. 同一个活动组（config[9]）下可以包含多个不同 `panelID` 的活动
2. 前端需要根据返回的 `panelID` 来区分是每周礼包还是每月礼包
3. `id` 字段是唯一标识，用于后续的协议交互
4. `name` 字段可能为空，前端可以使用默认名称或根据 `id` 查找本地化文本

