SendWechatOpen::class, // 新开一个微信客户端 OpCode::OPCODE_WECHAT_QUIT => SendWechatQuit::class, // 退出一个微信 OpCode::OPCODE_WECHAT_GET_LOGIN_STATUS => SendWechatGetLoginStatus::class, // 获取登录状态 OpCode::OPCODE_LOGIN_INFO => SendLoginInfo::class, // 获取登录详情 OpCode::OPCODE_MESSAGE_SEND_TEXT => SendMessageSendText::class, // 发送文本消息 OpCode::OPCODE_MESSAGE_SEND_IMAGE => SendMessageSendImage::class, // 发送图片消息 OpCode::OPCODE_MESSAGE_SEND_FILE => SendMessageSendFile::class, // 发送附件消息 OpCode::OPCODE_MESSAGE_SEND_CARD => SendMessageSendCard::class, // 发送名片消息 OpCode::OPCODE_MESSAGE_SEND_XML => SendMessageSendXml::class, // 发送xml消息 OpCode::OPCODE_FRIEND_LIST => SendFriendList::class, // 获取好友列表 OpCode::OPCODE_FRIEND_REMARK => SendFriendRemark::class, // 修改备注 OpCode::OPCODE_FRIEND_ADD => SendFriendAdd::class, // wxid加好友 OpCode::OPCODE_FRIEND_ADD_FROM_V1 => SendFriendAddFromV1::class, // v1加好友 OpCode::OPCODE_FRIEND_DELETE => SendFriendDelete::class, // 删除好友 OpCode::OPCODE_FRIEND_VERIFY => SendFriendVerify::class, // v1+v2同意好友请求 OpCode::OPCODE_ROOM_CREATE => SendRoomCreate::class, // 创建群聊 OpCode::OPCODE_ROOM_EDIT_NAME => SendRoomEditName::class, // 修改群名称 OpCode::OPCODE_ROOM_ANNOUNCEMENT => SendRoomAnnouncement::class, // 发送群公告 OpCode::OPCODE_ROOM_MEMBER_LIST => SendRoomMemberList::class, // 获取群成员列表 OpCode::OPCODE_ROOM_ADD_MEMBER => SendRoomAddMember::class, // 拉好友入群 OpCode::OPCODE_ROOM_DELETE_MEMBER => SendRoomDeleteMember::class, // 删除群成员 OpCode::OPCODE_ROOM_AT_MEMBER => SendRoomAtMember::class, // 艾特群成员 OpCode::OPCODE_ROOM_QUIT => SendRoomQuit::class, // 退出群聊 OpCode::OPCODE_TRANSFER_RECV => SendTransferRecv::class, // 收款 ]; /** @var array 对象储存 */ public $object = []; /** @var object 单例模式 */ private static $instance; /** * 获取发送对象 * @param $opCode * @return bool|AbstractSend */ public static function getSender($opCode) { if (!isset(self::$instance)) { self::$instance = new static(); } if (!isset(self::$instance->objectList[$opCode])) { return false; } if (!isset(self::$instance->object[$opCode])) { self::$instance->object[$opCode] = new self::$instance->objectList[$opCode](); } self::$instance->object[$opCode]->setOpCode($opCode); return self::$instance->object[$opCode]; } }