Ответы на разработку общественных аккаунтов WeChat предназначены для вашей ссылки. Конкретный контент заключается в следующем
Описание основных параметров графических и текстовых сообщений
Через официальное руководство по интерфейсу сообщения WeChat вы можете увидеть параметры графических и текстовых сообщений, как показано на рисунке ниже:
На картинке выше мы можем узнать:
1. Количество графических сообщений ограничено 10, то есть значением articlecount в графических сообщениях (количество графических сообщений ограничено 10)
2. Для графических и текстовых сообщений изображение первой графики и текста отображается в виде большого изображения, в то время как изображения другой графики и текста отображаются в виде маленького изображения.
3. Рекомендуемый размер первого изображения составляет 640*320, а рекомендуемое изображение - 80*80 для других картин
Следующее начинается с реализации:
Базовый класс для сообщения запроса:
Импорт com.thoughtworks.xstream.annotations.xstreamalias; import java.io.serializable;/** * @author inchlifc */public class basemessage реализует сериализуемые {@xstreamalias ("tousername") @xstreamcdata private String Tousername; @Xstreamalias ("fromusername") @xstreamcdata private String fromusername; @Xstreamalias ("createTime") частное долгое время; @Xstreamalias ("msgtype") @xstreamcdata частная строка msgtype; public basemessage () {super (); } public baseMessage (string fromusername, string tousername) {super (); Fromusername = fromusername; Tousername = tousername; CreateTime = System.CurrentTimeMillis (); } public String getTouserName () {return tousername; } public void cettelousername (String tousername) {tousername = tousername; } public String getFromuserName () {return fromUserName; } public void setFromuserName (String fromUsername) {fromUserName = fromUserName; } public long getCreatetime () {return createTime; } public void setCreatetime (long createTime) {createTime = createTime; } public String getMsgType () {return msgtype; } public void setMsgType (String msgtype) {msgtype = msgtype; }}Категория графических и текстовых сообщений:
Import Com.ThoughTworks.xstream.annotations.xstreamalias; import java.util.list; @xstreamalias ("xml") открытый класс статьи по продлению insemessage {@xstreamalias ("articlecount") private int articlecount; @Xstreamalias ("статьи") частный список <oftilsitem> статьи; public int getarticlecount () {return articlecount; } public void setarticleCount (int articleCount) {articleCount = articleCount; } public List <IptillsItem> getArticlics () {return articles; } public void Setarticles (List <IptillyItem> статьи) {istrics = strives; }}Статьи класс в текстовых и текстовых сообщениях:
Import com.thoughtworks.xstream.annotations.xstreamalias; import java.util.list; @xstreamalias ("Статьи") статьи общего класса {частный список <oftilsitem> Статьи;}Класс статьи в текстовых и текстовых сообщениях:
Import com.thoughtworks.xstream.annotations.xstreamalias; import java.io.serializable; @xstreamalias ("item") открытый класс ArticlesItem реализует сериализуемые {@xstreamalias ("title") @xstreamcdata Private String Title; @Xstreamalias ("description") @xstreamcdata частная строка описание; @Xstreamalias ("picurl") @xstreamcdata private String picurl; @Xstreamalias ("url") @xstreamcdata private string url; public String getTitle () {return title; } public void settitle (строка заголовка) {title = title; } public String getDescription () {return description; } public void setDescription (строка описание) {description = description; } public String getPicurl () {return picurl; } public void setPicurl (String picurl) {picurl = picurl; } public String getUrl () {return url; } public void seturl (string url) {url = url; }}Метод реализации уровня обслуживания:
Метод упаковки
/ ** * Получить текстовые сообщения в блоге * * @param CustomName * @param servername * @param createTime * @return */ private articlemessage getBlogMessage (String CustomName, String ServerName, Long CreateTime) {ArticlesMessage outputMsg = new abstricsMessage (); outpultmsg.setfromusername (ServerName); outportmsg.settousername (custermname); outputmsg.setCreatetime (createTime); outputmsg.setmsgtype (msgtype.news.getvalue ()); Список <IptillsItem> sturek = new ArrayList <> (); Iklicsitem item1 = new artilsitem (); item1.settitle («Проверьте, чтобы войти в вечерний блог Cool Breeze»); item1.setpicurl (weChatconstant.base_server + "ресурсы/изображения/weChat/a.png"); item1.seturl ("https://my.oschina.net/inchlifc/blog"); Статьи. ADD (ITEM1); outpertmsg.setarticles (статьи); outputmsg.setarticlecount (istrics.size ()); вернуть выходные средства; }Если вы введете номер 1, вернитесь к нажатию текстового сообщения
// обработать полученное сообщение ServletInputStream in = request.getInputStream (); // преобразовать пост -поток в xstream объект xstream xs = new xstream (); xs = serializexmlutil.createxstream (); Xstream.setupdefaultsecurity (xs); xs.allowtypes (новый класс [] {textmessage.class, inputmessage.class, usticlesmessage.class}); xs.processannotations (inputmessage.class); xs.processannotations (usticlesmessage.class); xs.processannotations (ImageMessage.class); // отобразить данные узла XML под указанным узлом в объекты xs.alias ("xml", inputmessage.class); // конвертировать потоки в String StringBuilder xmlmsg = new StringBuilder (); байт [] b = новый байт [4096]; for (int n; (n = in.read (b))! = -1;) {xmlmsg.append (new String (b, 0, n, "UTF -8")); } logger.info ("Сообщение получено ====" + xmlmsg.tostring ()); // преобразовать контент XML в объект inputMessage inputMessage inputMsg = (inputmessage) xs.fromxml (xmlmsg.tostring ()); // Server String ServerName = inputmSg.getTouserName (); // Client String CustomName = inputMsg.getFromuserName (); // Получить время долгое время = inputmsg.getCreatetime (); // Время возврата длительное время возврата = calendar.getInstance (). GetTimeInmillis () / 1000; // возьмите текстовое содержимое строки string = inputmSg.getContent (); // Получить тип сообщения string msgtype = inputmsg.getmsgtype (); if (msgtype.text.getvalue (). Equals (msgtype)) {// input 1 push blog information if ("1" .equals (content)) {logger.info ("Текст 1 получил"); "1". Статья Message outputmsg = getBlogMessage (CustermName, ServerName, возврат времени); logger.info ("вернуть текстовое сообщение в блоге ===" + xs.toxml (outputmsg)); response.getWriter (). write (xs.toxml (outputmsg)); }}Результаты работы:
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.