AWS企业微信管理开发平台参考指南

菜单发图/发视频类事件

当有成员点击某应用相关菜单时,AWS PaaS会接收到该事件并传递给开发者的微信消息处理器

1.由事件触发

//事件常量名,弹出系统拍照发图的事件推送
WechatConsts.EVENT_TYPE_PIC_SYSPHOTO

//事件常量名,弹出拍照或者相册发图的事件推送
WechatConsts.EVENT_TYPE_PIC_PHOTO_OR_ALBUM

//事件常量名,弹出微信相册发图器的事件推送
WechatConsts.EVENT_TYPE_PIC_WEIXIN

上述事件与开发者配置菜单时,选择的事件行为类型有关。图片或视频会以消息方式发给AWS PaaS的微信消息处理器

2.由接收到的消息类型识别

场景:用户拍一张名片,交给服务端做识别处理

微信将回调两次该接口,一次是通知触发了发送事件,另一次是将发送的图片以消息方式推送过来。

public class XXXProcessor implements WechatProcessor {

    public WechatOutMessage handleMessage(WechatInMessage msg) {
        if (msg.getEvent().equals(WechatConsts.EVENT_TYPE_PIC_SYSPHOTO)) {
            System.out.println("收到一张名片扫描:" + msg.getFromUserName());
            // 实际上图片文件并未包含在该信息,再等待微信接口callback一个图片消息
        }

        ...

        if (msg.getMsgType().equals(WechatConsts.MSG_TYPE_IMAGE)) {
            System.out.println("测试拍照名片的图片消息到达");
            Map<String, String> param = new HashMap<String, String>();
            // 该key失效,仅用来演示测试
            param.put("key", "******************");
            param.put("lang", "chns");
            param.put("image", new String(Base64.encode(UtilURL.getBytes(msg.getPicUrl()))));
            String data = UtilURL.post("http://op.juhe.cn/hanvon/bcard/query", param);
            // todo 你打算如何处理解析出来的联系人信息
            // 把处理结果调试给开发者
            System.out.println(data);
            WechatOutTextMessage cardMsg = new WechatOutTextMessage(msg);
            cardMsg.setContent(data);
            return cardMsg;
        }

    }
}

结果示例

收到一张名片拍照:abc
测试拍照名片的图片消息到达
{
    "reason": "successed",
    "result": {
        "rotatedAngle": null,
        "name": [
            "王**"
        ],
        "title": [
            "总经理"
        ],
        "tel": [
            "04272616****"
        ],
        "mobile": [],
        "fax": [
            "04272616****"
        ],
        "email": [
            "****@jzjrw.com"
        ],
        "comp": [
            "盘锦市****责任有限公司"
        ],
        "dept": [],
        "degree": [],
        "addr": [
            "盘锦市兴隆区人才大厦"
        ],
        "post": [],
        "mbox": [],
        "htel": [],
        "web": [
            "http://www.****.com"
        ],
        "im": [],
        "numOther": [],
        "other": [],
        "extTel": []
    },
    "error_code": 0
}


Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区