LaneWeChat\Core\WechatRequest::switchType PHP Метод

switchType() публичный статический Метод

public static switchType ( &$request ) : array | string
$request
Результат array | string
    public static function switchType(&$request)
    {
        $data = array();
        switch ($request['msgtype']) {
            //事件
            case 'event':
                $request['event'] = strtolower($request['event']);
                switch ($request['event']) {
                    //关注
                    case 'subscribe':
                        //二维码关注
                        if (isset($request['eventkey']) && isset($request['ticket'])) {
                            $data = self::eventQrsceneSubscribe($request);
                            //普通关注
                        } else {
                            $data = self::eventSubscribe($request);
                        }
                        break;
                        //扫描二维码
                    //扫描二维码
                    case 'scan':
                        $data = self::eventScan($request);
                        break;
                        //地理位置
                    //地理位置
                    case 'location':
                        $data = self::eventLocation($request);
                        break;
                        //自定义菜单 - 点击菜单拉取消息时的事件推送
                    //自定义菜单 - 点击菜单拉取消息时的事件推送
                    case 'click':
                        $data = self::eventClick($request);
                        break;
                        //自定义菜单 - 点击菜单跳转链接时的事件推送
                    //自定义菜单 - 点击菜单跳转链接时的事件推送
                    case 'view':
                        $data = self::eventView($request);
                        break;
                        //自定义菜单 - 扫码推事件的事件推送
                    //自定义菜单 - 扫码推事件的事件推送
                    case 'scancode_push':
                        $data = self::eventScancodePush($request);
                        break;
                        //自定义菜单 - 扫码推事件且弹出“消息接收中”提示框的事件推送
                    //自定义菜单 - 扫码推事件且弹出“消息接收中”提示框的事件推送
                    case 'scancode_waitmsg':
                        $data = self::eventScancodeWaitMsg($request);
                        break;
                        //自定义菜单 - 弹出系统拍照发图的事件推送
                    //自定义菜单 - 弹出系统拍照发图的事件推送
                    case 'pic_sysphoto':
                        $data = self::eventPicSysPhoto($request);
                        break;
                        //自定义菜单 - 弹出拍照或者相册发图的事件推送
                    //自定义菜单 - 弹出拍照或者相册发图的事件推送
                    case 'pic_photo_or_album':
                        $data = self::eventPicPhotoOrAlbum($request);
                        break;
                        //自定义菜单 - 弹出微信相册发图器的事件推送
                    //自定义菜单 - 弹出微信相册发图器的事件推送
                    case 'pic_weixin':
                        $data = self::eventPicWeixin($request);
                        break;
                        //自定义菜单 - 弹出地理位置选择器的事件推送
                    //自定义菜单 - 弹出地理位置选择器的事件推送
                    case 'location_select':
                        $data = self::eventLocationSelect($request);
                        break;
                        //取消关注
                    //取消关注
                    case 'unsubscribe':
                        $data = self::eventUnsubscribe($request);
                        break;
                        //群发接口完成后推送的结果
                    //群发接口完成后推送的结果
                    case 'masssendjobfinish':
                        $data = self::eventMassSendJobFinish($request);
                        break;
                        //模板消息完成后推送的结果
                    //模板消息完成后推送的结果
                    case 'templatesendjobfinish':
                        $data = self::eventTemplateSendJobFinish($request);
                        break;
                    default:
                        return Msg::returnErrMsg(MsgConstant::ERROR_UNKNOW_TYPE, '收到了未知类型的消息', $request);
                        break;
                }
                break;
                //文本
            //文本
            case 'text':
                $data = self::text($request);
                break;
                //图像
            //图像
            case 'image':
                $data = self::image($request);
                break;
                //语音
            //语音
            case 'voice':
                $data = self::voice($request);
                break;
                //视频
            //视频
            case 'video':
                $data = self::video($request);
                break;
                //小视频
            //小视频
            case 'shortvideo':
                $data = self::shortvideo($request);
                break;
                //位置
            //位置
            case 'location':
                $data = self::location($request);
                break;
                //链接
            //链接
            case 'link':
                $data = self::link($request);
                break;
            default:
                return ResponsePassive::text($request['fromusername'], $request['tousername'], '收到未知的消息,我不知道怎么处理');
                break;
        }
        return $data;
    }