Простейшая форма обратной связи

Алгоритм действий

  1. Создаём в админке пользователя-получателя, назовём его postman
  2. Создаём тип сообщений, например letter
  3. Регистрируем в классе, который будет общаться с кубиксом, все нужные респондеры, например так:
      tplResp = new Responder(onTplResult, onTplFault);
      resp2 = new Responder(onResult2, onFault2); // самое сложное в программирование — это названия для var
      resp3 = new Responder(onResult3, onFault3);
  4. Запрашиваем из флеш-сайта шаблон для отправки сообщений типа letter
    public function getLetterTemplate():void {
      connection.call("qubix_flash.get_inmail_template", resp1, "letter");
    }
    private function onTplResult(result:Object):void {
      letterTpl=result;
      Logger.info("letterTpl",letterTpl); // смотрим в логере, что пришло
    }
    private function onTplFault(fault:Object):void {
      Logger.error("letterTpl: ошибка");
    }
  5. Дожидаемся удачного получения шаблона в обработчике onTplResult
  6. Заполняем поля полученного шаблона примерно таким образом:
    public function addChat(chatRecord:Array) {
      var chatDataTpl = new Array();
      chatDataTpl.header = new Array();
      chatDataTpl.header.content_type = "letter";
      chatDataTpl.header.subject= "Шлю я ей за пакетом пакет";
      chatDataTpl.header.date= 2341234134; // это дата в миллисекундах, используется как ID сообщения
      chatDataTpl.header.from_user_id= managerData.header.user_id; // от кого послали
      chatDataTpl.header.to_user_id= userData.header.user_id; // кому послали, может совпадать с предыдущим полем
      chatDataTpl.header.parent_date= 3452345546; // для иерархических переписок предусмотрена дата родительского сообщения
      chatDataTpl.content = new Array();
      chatDataTpl.content.text = new Array(); // а это уже текстовые поля, которые можно заполнять чем угодно
      chatDataTpl.content.text[1]=new Array();
      chatDataTpl.content.text[1].string=0;
      chatDataTpl.content.text[1].element_id=1;
      connection.call("qubix_flash.send_inmail",resp14, chatDataTpl);
    }
    private function onResult14(result:Object):void {
    }
    private function onFault14(fault:Object):void {
    }
  7. как несложно было заметить, шаблон сообщения нам как бы и не пригодился. Тогда зачем он? На него можно посмотреть, выяснить структуру и полностью её повторить. Но для большей стабильности, есть смысл отсылать вместо chatDataTpl полученный и заполненный шаблон letterTpl, т.к. относительные номера полей могут измениться в процессе доработки проекта (если добавится новое поле, например) и у полей поменяется element_id. Заполняя полученный предварительно шаблон вы будете спасены от таких сюрпризов, но если проект реально простой, то ожидать шаблона не обязательно.
 
Наверх
documentation/flash/servives/simple_feedback.txt · Последние изменения: 2009/08/18 12:21 (внешнее изменение)