微信开发(四)-- 1.消息的封装和事件的封装

1.消息的封装

  • 消息的封装
  • 1.文本消息text
  • 2.图片消息image
  • 3.语音消息voice
  • 4.视频消息video
  • 5.小视频消息shortvideo
  • 6.地理位置消息location
  • 7.链接消息link

封装的接收普通消息的对象,微信文档如下图

在这里插入图片描述

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 消息的封装
 * 1.文本消息text
 * 2.图片消息image
 * 3.语音消息voice
 * 4.视频消息video
 * 5.小视频消息shortvideo
 * 6.地理位置消息location
 * 7.链接消息link
 */
@Data
public class BaseMessage {

    /**
     * 开发者微信号
     */
    private String toUserName;

    /**
     * 发送方账号
     */
    private String fromUserName;

    /**
     * 消息创建时间
     */
    private long createTime;

    /**
     * 消息类型
     */
    private String msgType;

    /**
     * 消息id
     */
    private long msgId;
}

文本消息

package com.ruoyi.platform.weixin.domainMessage;


import lombok.Data;

/**
 * 文本消息
 */
@Data
public class TextMessage  extends BaseMessage {

    /**
     * 文本消息内容
     */
    private String content;
}

图片消息

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 图片消息
 */
@Data
public class ImageMessage  extends BaseMessage {

    /**
     * 图片链接
     */
    private String picUrl;

    /**
     * 图片消息媒体ID
     */
    private String mediaId;
}

语音消息

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 语音消息
 */
@Data
public class VoiceMessage extends BaseMessage {


    /**
     * 媒体ID
     */
    private String mediaId;

    /**
     * 语音格式
     */
    private String format;

}

视频消息和小视频消息

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 视频消息(和小视频享用同一个实体)
 */
@Data
public class VideoMessage extends BaseMessage{
    /**
     * 媒体ID
     */
    private String mediaId;

    /**
     * 视频缩略图媒体Id
     */
    private String thumbMediaId;
}

地理位置消息

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 地理位置消息
 */
@Data
public class LocationMessage  extends BaseMessage {
    /**
     * 地理位置维度
     */
    private String location_X;

    /**
     * 地理位置经度
     */
    private String location_Y;

    /**
     * 地图缩放大小
     */
    private String scale;

    /**
     * 地理位置信息
     */
    private String label;

}

链接消息

package com.ruoyi.platform.weixin.domainMessage;

import lombok.Data;

/**
 * 链接消息
 */
@Data
public class LinkMessage extends BaseMessage{

    /**
     * 消息标题
     */
    private String title;

    /**
     * 消息描述
     */
    private String description;

    /**
     * 消息链接
     */
    private String url;


}

2 事件的封装

  • 事件的封装
  • 1.关注/取消事件
  • 2.扫描带参数二维码事件
  • 3.上报地理位置事件
  • 4.自定义菜单事件
  • 5.点击菜单拉取消息时的事件推送
  • 6.点击菜单跳转链接时的事件推送

封装的接收事件推送的对象,微信文档如下图
在这里插入图片描述

package com.ruoyi.platform.weixin.domainEvent;

import lombok.Data;

/**
 * 事件的封装
 * 1.关注/取消事件
 * 2.扫描带参数二维码事件
 * 3.上报地理位置事件
 * 4.自定义菜单事件
 * 5.点击菜单拉取消息时的事件推送
 * 6.点击菜单跳转链接时的事件推送
 */
@Data
public class BaseEvent {
    /**
     * 开发者微信号
     */
    private String toUserName;

    /**
     * 发送方账号(一个OpenID)
     */
    private String fromUserName;

    /**
     * 消息创建时间
     */
    private long createTime;

    /**
     * 消息类型
     */
    private String msgType;

    /**
     * 事件类型
     */
    private String event;

}

关注/取消关注事件

package com.ruoyi.platform.weixin.domainEvent;

import lombok.Data;

/**
 * 取消和关注事件
 */
@Data
public class SubscribeEvent extends BaseEvent {
}

扫描带参数二维码事件

package com.ruoyi.platform.weixin.domainEvent;

import lombok.Data;

/**
 * 扫描带参数的二维码事件
 */
@Data
public class QRCodeEvent extends BaseEvent {
    /**
     * 事件KEY值,qrscene_为前缀,后面为二维码的参数值
     */
    private String eventKey;

    /**
     * ticket,用户换取二维码图片
     */
    private String ticket;

}

上报地理位置事件

package com.ruoyi.platform.weixin.domainEvent;

import lombok.Data;

/**
 * 上报地理位置事件
 */
@Data
public class LocationEvent extends BaseEvent {

    /**
     * 地理位置维度
     */
    private String latitude;

    /**
     * 地理位置经度
     */
    private String longitude;

    /**
     * 地理位置精度
     */
    private String precision;

}

自定义菜单事件

package com.ruoyi.platform.weixin.domainEvent;

import lombok.Data;

/**
 * 自定义菜单事件
 * 1.点击菜单拉取消息时的事件推送
 * 2.点击菜单跳转链接时的事件推送
 */
@Data
public class MenuEvent extends BaseEvent {
    /**
     * 事件KEY值
     */
    private String eventKey;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值