7.2.5 案例:原样回复QQ表情
下面我们使用isQqFace()方法实现一个简单的功能:用户发送什么QQ表情给公众账号,公众账号就回复什么QQ表情给用户。关键实现代码如下:
- 1 // 文本消息
- 2 if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {
- 3 // 文本消息内容
- 4 String content = requestMap.get("Content");
- 5
- 6 // 判断是不是单个QQ表情
- 7 if(isQqFace(content)) {
- 8 // 创建文本消息
- 9 TextMessage textMessage = new TextMessage();
- 10 textMessage.setToUserName(fromUserName);
- 11 textMessage.setFromUserName(toUserName);
- 12 textMessage.setCreateTime(new Date().getTime());
- 13 textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);
- 14 // 用户发什么QQ表情,就回复什么QQ表情
- 15 textMessage.setContent(content);
- 16
- 17 // 将文本消息对象转换成XML字符串
- 18 respXml = MessageUtil.messageToXml(textMessage);
- 19 }
- 20 else {
- 21 // TODO 其他业务逻辑
- 22 }
- 23 }
- 24 else {
- 25 // TODO 其他业务逻辑
- 26 }
第1~4行代码的作用是判断请求消息类型为text时,取出消息内容content。第7行代码调用isQqFace()方法判断content是否为单个QQ表情。第9~15行构建了一个文本消息对象,并将该消息的内容设置为content(即用户发什么QQ表情,就回复什么QQ表情给用户)。第18行代码将文本消息对象转换成XML字符,最终返回给用户。