Введение и сводка контента
Несколько читателей жаловались на то, что «Лю Фенг использует только текстовые сообщения в качестве примеров, никогда не упоминает графические сообщения и не знает, как использовать графические сообщения». Ну, я был неправ. Первоначально я думал, что базовый API был инкапсулирован и была построена структура, а затем дал образец текстовых сообщений для их использования. Может быть, потому что мои навыки живописи слишком плохие, кошка, которую я нарисовал, не была как кошка ...
Эта статья в основном представляет использование графических и текстовых сообщений в разработке публичной учетной записи WeChat, а также несколько проявлений графических и текстовых сообщений. Название называется «Все руководство по изображению и текстовому сообщению». Это определенно не титульная вечеринка. Это воспользоваться этой возможностью, чтобы убрать все проблемы, проблемы и препятствия, связанные с изображением и текстовым сообщением.
Описание основных параметров графических и текстовых сообщений
Через официальное руководство по интерфейсу сообщения WeChat вы можете увидеть параметры графических и текстовых сообщений, как показано на рисунке ниже:
На картинке мы можем узнать:
Различные выражения графических и текстовых сообщений
Ниже приведен код, который непосредственно демонстрирует использование пяти основных форм графических и текстовых сообщений. Исходный код заключается в следующем:
пакет org.liufeng.course.service; import java.util.arraylist; import java.util.date; импорт java.util.list; import java.util.map; import javax.servlet.http.httpserveltrequest; import org.liufeng.cours.cours. org.liufeng.course.message.resp.newsmessage; import org.liufeng.course.message.resp.textmessage; импорт org.liufeng.course.util.messageutil;/** * Класс основной сервис * * @author liufeng * @date 2013-07-25 *** *** *** *** *** *** *** *** ** ** ** ** * * от weChat * * @param request * @return */ public Static String ProcessRequest (httpservletrequest) {string respmessage = null; try {// xml -запрос карты анализа <string, string> requestmap = messageutil.parsexml (request); // учетная запись отправителя (open_id) string fromusername = requestmap.get ("fromusername"); // Строка публичной учетной записи tousername = requestmap.get ("tousername"); // тип сообщения string msgtype = requestmap.get ("msgtype"); // по умолчанию ответить на это текстовое сообщение TextMessage TextMessage = new TextMessage (); TextMessage.SetTouserName (FromUsername); TextMessage.SetFromuserName (TouserName); TextMessage.SetCreatetime (new Date (). getTime ()); textmessage.setmsgtype (messageutil.resp_message_type_text); TextMessage.setFuncflag (0); // Поскольку значение атрибута HREF должно быть вызвано двойными кавычками, это конфликт с двойными кавычками самой строки, TextMessage.setContent («Добро пожаловать в <a href =/" http://blog.csdn.net/lyq8479/ "> блог Liu Feng </a>!"); // конвертировать объект текстового сообщения в xml string respmessage = messageutil.textmessagetoxml (textmessage); // Текстовое сообщение if (msgtype.equals (messageUtil.req_message_type_text)) {// получение содержимого текстового сообщения, отправленного пользовательским содержимым строки = requestmap.get ("content"); // Создать текстовое сообщение Newsmessage NewsMessage = new NewsMessage (); newsmessage.settousername (fromusername); newsmessage.setfromusername (tousername); newsmessage.setCreatetime (new Date (). getTime ()); newsmessage.setmsgtype (messageutil.resp_message_type_news); newsmessage.setfuncflag (0); Список <статья> articleList = new ArrayList <Staret> (); // одно текстовое сообщение if ("1" .equals (content)) {статья статья = new article (); article.settitle («Учебное пособие по развитию общественного аккаунта WeChat Java версия»); article.setDescription («Лю фэн, родившийся в 1980 -х годах, имеет 4 -месячный опыт работы в разработке общественных аккаунтов WeChat. Чтобы помочь новичкам начать работу, эта серия учебных пособий специально запущена, и я надеюсь воспользоваться этой возможностью, чтобы встретиться с большим количеством сверстников!»); article.setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); article.seturl ("http://blog.csdn.net/lyq8479"); articlelist.add (статья); // Установить количество графических сообщений newsmessage.setarticlecount (articlelist.size ()); // Установить графические коллекции, содержащиеся в графических сообщениях newsmessage.setarticles (articlelist); // конвертировать объект графического сообщения в xml string respmessage = messageutil.newsmessagetoxml (newsmessage); } // Одно текстовое сообщение-Изучение изображений else if ("2" .equals (content)) {article article = new article (); article.settitle («Учебное пособие по развитию общественного аккаунта WeChat Java версия»); // QQ смайлики и символические смайлики могут использоваться в статье текстовых сообщений. Конфигурация интерфейса, упаковка сообщений, конструкция фреймворта, отправка эмотиков QQ, отправка символа смайлика и т. Д. /N /N позже, также планируется запустить некоторые практические объяснения разработки, такие как прогноз погоды, периферический поиск, функции чата и т. Д.); // Установить изображение в пустую article.setpicurl (""); article.seturl ("http://blog.csdn.net/lyq8479"); articlelist.add (статья); newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticleList); respmessage = messageutil.newsmessagetoxml (newsmessage); } // Многоорафические текстовые сообщения else if ("3" .equals (content)) {article article = new article (); Статья1.SetTitle («Учебное пособие по развитию общественного счета WeChat/N введение»); Статья1.SetDescription (""); article1.setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); article1.seturl ("http://blog.csdn.net/lyq8479/article/details/8937622"); Статья Статья2 = Новая статья (); article2.settitle («Часть 2/N тип публичной учетной записи WeChat»); article2.setDescription ("" "); article2.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article2.seturl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Article2.seturl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Статья Статья3 = Новая статья (); article3.settitle («Телеграф 3/N Режим разработки Включение и конфигурация интерфейса»); Статья3.SetDescription (""); article3.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article3.seturl ("http://blog.csdn.net/lyq8479/article/details/8944988"); articlelist.add (статья1); articlelist.add (статья2); articlelist.add (статья3); newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticleList); respmessage = messageutil.newsmessagetoxml (newsmessage); } // Несколько графических и текстовых сообщений --- Первое сообщение не содержит изображений else if ("4" .equals (content)) {article article1 = new article (); Статья1.SetTitle («Учебное пособие по разработке общественных аккаунтов WeChat Java версия»); Статья1.SetDescription (""); // Установить изображение в пустую статью1.setpicurl (""); article1.seturl ("http://blog.csdn.net/lyq8479"); Статья Статья2 = Новая статья (); article2.setTitle («пакет инструментов обработки сообщений и сообщений»); article2.setDescription ("" "); article2.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article2.seturl ("http://blog.csdn.net/lyq8479/article/details/8949088"); Статья Статья3 = Новая статья (); Статья3.SetTitle («Статья 5/nreceive и ответ различных сообщений»); Статья3.SetDescription (""); article3.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article3.seturl ("http://blog.csdn.net/lyq8479/article/details/8952173"); Статья Статья4 = Новая статья (); article4.settitle («Статья 6/nreveal Ограничение длины контента текстовых сообщений»); Статья4.SetDescription ("" "); article4.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article4.seturl ("http://blog.csdn.net/lyq8479/article/details/8967824"); articlelist.add (статья1); articlelist.add (статья2); articlelist.add (статья3); articlelist.add (статья4); newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticleList); respmessage = messageutil.newsmessagetoxml (newsmessage); } // Несколько графических сообщений --- Последнее сообщение не содержит изображений else if ("5" .equals (content)) {article article1 = new article (); article1.settitle («Использование новичков в текстовых сообщениях»); Статья1.SetDescription (""); article1.setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); article1.seturl ("http://blog.csdn.net/lyq8479/article/details/9141467"); Статья Статья2 = Новая статья (); article2.settitle («Используйте веб -гиперссылки в текстовых сообщениях»); article2.setDescription ("" "); article2.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); article2.seturl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Article2.seturl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Статья Статья3 = Новая статья (); Статья3.SetTitle («Если вы думаете, что статья полезна для вас, пожалуйста, оставьте сообщение в блоге или следите за публичным аккаунтом WeChat xiaoqrobot, чтобы поддержать Лю Фэн!»); Статья3.SetDescription (""); // Установить изображение в пустую статью3.setpicurl (""); article3.seturl ("http://blog.csdn.net/lyq8479"); articlelist.add (статья1); articlelist.add (статья2); articlelist.add (статья3); newsmessage.setarticlecount (articlelist.size ()); Newsmessage.setarticles (ArticleList); respmessage = messageutil.newsmessagetoxml (newsmessage); }}} catch (Exception e) {e.printstackTrace (); } return respmessage; } / ** * Конверсия выражения Emoji (hex -> utf -16) * * @param hexemoji * @return * / public static String emoji (int hexemoji) {return string.valueof (harember.tochars (hexemoji)); }}Функция, реализованная приведенным выше кодом, состоит в том, чтобы ответить пользователю пятью различными формами графических сообщений, следующим образом:
а) Пользователь отправляет 1 и отвечает на одно текстовое сообщение. Строки контрольного кода 68 ~ 81, эффект работы заключается в следующем:
б) Пользователь отправляет 2, ответьте на текстовое сообщение - без изображений. Строки ссылочного кода 82 ~ 96, эффект работы заключается в следующем:
Описание: заголовок и описание графического сообщения могут содержать выражения QQ и символические выражения.
c) Пользователь отправляет 3 и отвечает на несколько графических и текстовых сообщений. Строки ссылочного кода 97 ~ 123, эффект работы заключается в следующем:
ПРИМЕЧАНИЕ. Для мульти-графических сообщений описание не будет отображаться. Разрывы линий можно использовать в заголовке, чтобы сделать дисплей более красивым.
D) Пользователь отправляет 4 и отвечает на несколько графических сообщений-первое сообщение не содержит изображений. Строки ссылочного кода 124 ~ 158, эффект работы заключается в следующем:
e) Пользователь отправляет 5 и отвечает на несколько графических сообщений-последнее сообщение не содержит изображений. Строки ссылочного кода 159 ~ 186, эффект работы заключается в следующем:
Можно видеть, что графические и текстовые сообщения имеют богатый контент и разнообразные формы выражения. Я надеюсь, что каждый сможет использовать их разумно в соответствии с их соответствующими характеристиками и фактическими потребностями использования.
Наконец, на основе практического опыта, я суммирую использование графических и текстовых сообщений :
1) Обязательно назначьте значение атрибуту URL графического и текстового сообщения. Будь то одно изображение, многократное изображение или картинки без изображений, пользователи могут нажать. Если URL -адрес пуст, пользователь откроет пустую страницу после нажатия, что дает пользователю очень плохой опыт;
2) будет отображаться только описание отдельных изображений и текстов, и описание нескольких изображений и текстов не будет отображаться ;
3) QQ смайлики и символические смайлики могут использоваться в заголовке и описании графических и текстовых сообщений. Рациональное использование эмодзи сделает сообщение более ярким;
4) Разрывы строк могут использоваться в заголовке и описании графических и текстовых сообщений. Рациональное использование линейных разрывов сделает структуру контента более ясной;
5) Гипертекстовые ссылки (тег HTML <a>) не поддерживаются в заголовке и описании графических и текстовых сообщений. Мало того, что это технически невозможно, но также имеет смысл логически, потому что любое местоположение графического и текстового сообщения нажимается, встроенный браузер WeChat будет вызван для открытия URL. Если вы поместите несколько гиперссылок в заголовок и описание, вы не знаете, какую страницу нажимайте, чтобы открыть. Я действительно не понимаю, почему несколько студентов задают этот вопрос. Разве это не хорошо создавать его столько фотографий и текстов?
6) Ссылки и ссылки изображений для графических и текстовых сообщений могут использовать ресурсы под внешними доменными именами. Например, в этом примере: Аватар и сообщения о блоге Liu Feng - все это ресурсы на веб -сайте CSDN. Есть много людей, которые считают, что URL и Picurl графических и текстовых сообщений не могут быть использованы для внешних ссылок. Я не знаю, с чего начался этот слух. Практика - единственный критерий для тестирования правды!
7) Используйте изображения указанного размера. Рекомендуемый размер изображения первого изображения составляет 640*320, а рекомендуемый размер изображения других изображений - 80*80. Если используемое изображение слишком большое, оно будет загружаться медленно и потреблять трафик; Если используемое изображение слишком мало, оно будет растянуто после отображения, что будет уродливым, если оно искажается.
8) Фотографии и текстовые сообщения рекомендуются для управления 1-4. Таким образом, один экран может отображаться на большинстве терминалов, и пользователи могут приблизительно понять основной контент сообщения только с помощью взгляда, который, скорее всего, подскажет пользователей нажимать и читать.
Выше всего содержание этой статьи. Я надеюсь, что содержание этой статьи поможет всем, кто учится или работа. Я также надеюсь поддержать Wulin.com больше!