
上一节我已经对文本消息类进行了处理并封装成了一个类,让大家更容易理解和接受。对于其中的类的部分信息和基类的自动回复判断还不够完善。这一节我将继续介绍文本和图片类的设计。
一、文本消息类的设计
我们知道,文本回复的内容主要在XML格式中有一定的结构。我们可以按照XML的结构来创建对应的Java类。以下是文本消息类的设计:
java
public class TextMessage extends BaseMessage {
private String Content;
public String getContent() {
return Content;
}
public void setContent(String content) {
Content = content;
}
public TextMessage() {
super();
}
public TextMessage(String toUserName, String fromUserName, String createTime, String msgType, String msgId, String content) {
super(toUserName, fromUserName, createTime, msgType, msgId);
Content = content;
}
@Override
public Map MessageToMap() {
Map map = super.MessageToMap();
map.put(“Content”, this.Content);
return map;
}
二、图片消息类的设计
图片回复的内容主要在`mediaid`中指定,是指明为Image类型。对应的Java类设计如下:
java
public class ImageMessage extends BaseMessage {
private String MediaId;
private String PicUrl;
public String getMediaId() {
return MediaId;
}
public void setMediaId(String mediaId) {
MediaId = mediaId;
}
public String getPicUrl() {
return PicUrl;
}
public void setPicUrl(String picUrl) {
PicUrl = picUrl;
}
public ImageMessage() {
super();
}
public ImageMessage(String toUserName, String fromUserName, String createTime, String msgType, String msgId, String picUrl, String mediaId) {
super(toUserName, fromUserName, createTime, msgType, msgId);
PicUrl = picUrl;
MediaId = mediaId;
}
@Override
public Map MessageToMap() {
Map map = super.MessageToMap();
map.put(“MediaId”, this.MediaId);
map.put(“PicUrl”, this.PicUrl);
return map;
}
三、BaseMessage基类的设计
为了更方便地处理消息,我们可以定义一个BaseMessage基类,包含一些基本的属性,如ToUserName、FromUserName、CreateTime、MsgType和MsgId。具体的代码就不在这里赘述了,可以在上面的代码中看到。
六、本地测试与部署
在开发过程中,我们可以进行本地测试,确保输出的数据格式正确。部署到服务器后,需要注意接受者和公众号的设置。欢迎大家继续关注我的头条号:一点热。如果有什么问题,欢迎留言咨询。下一节将使用api做一个微信回复机器人。
