Open
Description
简要描述
WxOpenMessageRouter类方法中中缺少对WxOpenMaService的支持
模块版本情况
- WxJava 模块名: weixin-java-open
- WxJava 版本号:4.7.0
详细描述
我是在做微信开放平台的消息与事件-微信小程序的消息事件,处理消息时想使用WxOpenMessageRouter来处理消息。
明显看到WxOpenMessageRouter类中的route方法 第23-25行代码,支持WxOpenMpService,但是没有支持WxOpenMaService
我的实现,我这里拿不到小程序的appid,然后这里注入的是WxMpService,那我怎么调用小程序的实现类
/**
* 微信小程序审核事件处理器
*
* @author zhoushi1
*/
@Component
public class WxMaAuditHandler extends AbstractWxOpenHandler {
@Resource
private WxOpenService wxOpenService;
@Override
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException {
String event = wxMessage.getEvent();
switch (event) {
case WEAPP_AUDIT_SUCCESS:
// 小程序审核通过
wxOpenService.getWxOpenComponentService().getWxMaServiceByAppid("");
break;
}
return null;
}
}
官方实现
package me.chanjar.weixin.open.api.impl;
import me.chanjar.weixin.mp.api.WxMpMessageRouter;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import me.chanjar.weixin.open.api.WxOpenService;
import java.util.HashMap;
import java.util.Map;
public class WxOpenMessageRouter extends WxMpMessageRouter {
private WxOpenService wxOpenService;
public WxOpenMessageRouter(WxOpenService wxOpenService) {
super(null);
this.wxOpenService = wxOpenService;
}
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, String appId) {
return route(wxMessage, new HashMap<>(), appId);
}
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage, final Map<String, Object> context, String appId) {
return route(wxMessage, context, wxOpenService.getWxOpenComponentService().getWxMpServiceByAppid(appId));
}
}
Metadata
Metadata
Assignees
Labels
No labels