Skip to content

WxOpenMessageRouter类方法中中缺少对WxOpenMaService的支持 #3629

Open
@zhoushi1

Description

@zhoushi1

简要描述

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions