# 1, 发送消息按钮接口
	
```
发送对象sendMessageEntity 中包含 private List<ImComponentEntity> buttons; 参数，设置多个按钮信息。
	
@ApiModelProperty("按钮标识，由业务模块决定按钮的类型,必填")  
private String buttonFlag;  

@ApiModelProperty("按鈕处理类型 1点击按钮直接调用http地址，2 点击时，根据moduleFlag,commponmentName调用页面组件,必填")  
private int type;  

@ApiModelProperty("按钮名称国际化id,必填")  
private long i18nId;  

@ApiModelProperty("按钮背景颜色,非必填，仅im有效")  
private String bgColor;  

@ApiModelProperty("按钮字体颜色，非必填，仅im有效")  
private String fontColor;  

@ApiModelProperty("按钮自定义参数，调用Http地址时，消息中心通过dubbo接口将此参数传递给业务模块；使用组件时，此参数将传递到组件")  
private Map<String, String> param;  

@ApiModelProperty("模块标识，仅type=2时有效，用于加载业务模块的组件")  
private String moduleFlag;  

@ApiModelProperty("组件名称 ，仅type=2时有效，用于加载业务模块的组件")  
private String componmentName;

@ApiModelProperty("是否支持云桥按钮，是否需要将当前按钮发送到企业微信,钉钉")
private boolean supportCloudBridge;

```
# 2, 按钮处理 
   通过消息点击按钮时支持两种模式：
    1，消息中发送http请求到消息中心， 消息中心通过dubbo接口调用请求到业务模块。
	2， 消息中直接加载业务模块的组件，由业务模块组件处理    （仅im有效，企业微信钉钉等无效）
	
##1 点击按钮发送http请求。
    业务模块实现  com.weaver.mc.api.rest.ImExecuteRest dubbo接口。接口的group使用发送消息时MessageModule枚举中的 YqModule参数，
	```
	   dubbo请求参数说明:

	@ApiModelProperty("操作模块ID,对应MessageModule枚举中的code,等价于Module")
    private Integer moduleId;
	
    @ApiModelProperty("操作事件ID,对应MessageEvent枚举中的code,等价于event")
    private Integer eventId;

    @ApiModelProperty("操作模块")
    private MessageModule module;
    /**
     * 操作事件
     */
    @ApiModelProperty("操作事件")
    private MessageEvent event;

    @ApiModelProperty("消息ID,对应发送消息接口返回的data值")
    private long msgId;

    @ApiModelProperty("消息发送人")
    private UserEntity sender;

    @ApiModelProperty("操作人")
    private UserEntity operator;

    @ApiModelProperty("按钮类型，发送消息是业务模块传递过来的参数")
    private String buttonFlag;

    @ApiModelProperty("自定义参数，发送消息时传递的暗九params")
    private Map<String, String> params;
	   
	```
