'login' ]; public function rules() { return [ [['email', 'password', 'type'], 'safe', 'on' => 'login'], [['email', 'password', 'type'], 'trim', 'on' => 'login'], [['email', 'password'], 'required', 'on' => 'login'], ['email', 'email', 'on' => 'login'], ['type', 'default', 'value' => static::TYPE_EMAIL, 'on' => 'login'], ['type', 'in', 'range' => [static::TYPE_EMAIL, static::TYPE_SMS], 'on' => 'login'] ]; } public static function getQueueName($scenario) { if (isset(self::$queueMap[$scenario])) { return self::$queueMap[$scenario]; } return ''; } /** * [发送消息] * @author: libingke * @return array * @throws Exception */ public function sendMessage() { $body = json_encode([ 'email' => $this->email, 'password' => $this->password, 'type' => $this->type ]); $queue = MessageForm::getQueueName($this->scenario); $data = []; try { $message = new Message($queue); $corrId = $message->send($body, $queue); Cache::setData($corrId, Cache::STATUS_SEND_OK); //set: status = send ok $data[] = $corrId; } catch (\common\logic\Amqp\Exception $e) { throw new Exception($e->getCode(), $e->getMessage()); } return $data; } }