|
|
@@ -1,7 +1,11 @@ |
|
|
|
package me.chanjar.weixin.mp.demo; |
|
|
|
|
|
|
|
import me.chanjar.weixin.common.api.WxConsts; |
|
|
|
import me.chanjar.weixin.common.bean.result.WxMediaUploadResult; |
|
|
|
import me.chanjar.weixin.common.exception.WxErrorException; |
|
|
|
import me.chanjar.weixin.common.util.StringUtils; |
|
|
|
import me.chanjar.weixin.mp.api.*; |
|
|
|
import me.chanjar.weixin.mp.bean.WxMpMpXmlOutImageMessage; |
|
|
|
import me.chanjar.weixin.mp.bean.WxMpXmlMessage; |
|
|
|
import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage; |
|
|
|
import me.chanjar.weixin.mp.bean.WxMpXmlOutTextMessage; |
|
|
@@ -35,7 +39,7 @@ public class WxMpDemoServlet extends HttpServlet { |
|
|
|
wxMpService = new WxMpServiceImpl(); |
|
|
|
wxMpService.setWxMpConfigStorage(config); |
|
|
|
|
|
|
|
WxMpMessageHandler handler = new WxMpMessageHandler() { |
|
|
|
WxMpMessageHandler textHandler = new WxMpMessageHandler() { |
|
|
|
@Override public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService) { |
|
|
|
WxMpXmlOutTextMessage m |
|
|
|
= WxMpXmlOutMessage.TEXT().content("测试加密消息").fromUser(wxMessage.getToUserName()) |
|
|
@@ -44,13 +48,41 @@ public class WxMpDemoServlet extends HttpServlet { |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
WxMpMessageHandler imageHandler = new WxMpMessageHandler() { |
|
|
|
@Override public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService) { |
|
|
|
try { |
|
|
|
WxMediaUploadResult wxMediaUploadResult = wxMpService |
|
|
|
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, ClassLoader.getSystemResourceAsStream("mm.jpeg")); |
|
|
|
WxMpMpXmlOutImageMessage m |
|
|
|
= WxMpXmlOutMessage |
|
|
|
.IMAGE() |
|
|
|
.mediaId(wxMediaUploadResult.getMediaId()) |
|
|
|
.fromUser(wxMessage.getToUserName()) |
|
|
|
.toUser(wxMessage.getFromUserName()) |
|
|
|
.build(); |
|
|
|
return m; |
|
|
|
} catch (WxErrorException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} catch (IOException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return null; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
wxMpMessageRouter = new WxMpMessageRouter(wxMpService); |
|
|
|
wxMpMessageRouter |
|
|
|
.rule() |
|
|
|
.async(false) |
|
|
|
.content("哈哈") // 拦截内容为“哈哈”的消息 |
|
|
|
.handler(handler) |
|
|
|
.end(); |
|
|
|
.async(false) |
|
|
|
.content("哈哈") // 拦截内容为“哈哈”的消息 |
|
|
|
.handler(textHandler) |
|
|
|
.end() |
|
|
|
.rule() |
|
|
|
.async(false) |
|
|
|
.content("图片") |
|
|
|
.handler(imageHandler) |
|
|
|
.end() |
|
|
|
; |
|
|
|
|
|
|
|
} catch (JAXBException e) { |
|
|
|
throw new RuntimeException(e); |
|
|
|