# 按钮组

用于用户交互，单个按钮组内至少应添加1个按钮，最多可以添加 **3个** 按钮。按钮支持两种交互方式：

- link-to: 点击跳转链接
- server: 点击后将用户信息及按钮value通过后端发送到自己的私信
- internal: 点击后可执行黑盒语音内部协议
- none: 点击后无任何操作

![image.png](https://api.apifox.com/api/v1/projects/5440720/resources/476533/image-preview)

## 数据结构

```typescript
interface ButtonNode {
  type: 'button';
  event: 'link-to' | 'server' | 'internal' | 'none';
  value: string;
  text: string;
  theme: 'default' | 'primary' | 'success' | 'danger';
  style: string; // CSS拼接字符串，例如：color: red; width: 200px;
}

interface MdBtnGroup {
  type: 'button-group';
  btns: ButtonNode[]
}
```


``` js
{
  "type": "button-group",
  "btns": [
    {
      "type": "button",
      "text": "按钮文本",
      "event": "server/link-to/internal/none",
      "value": "按钮值",
      "theme": "primary/default/success/danger"
    },
    {
      "type": "button",
      "text": "按钮文本",
      "event": "server/link-to/internal/none",
      "value": "按钮值",
      "theme": "primary/default/success/danger"
    }
  ]
}
```
