Einführung und Inhaltszusammenfassung
Mehrere Leser haben sich beschwert, dass "Liu Feng nur Textnachrichten als Beispiele verwendet, niemals grafische Nachrichten erwähnt und nicht weiß, wie man Grafiknachrichten verwendet." Nun, ich habe mich geirrt. Ich dachte ursprünglich, dass die grundlegende API eingekapselt und das Framework erstellt wurde, und gab dann ein Beispiel von Textnachrichten, um sie zu verwenden. Vielleicht, weil meine Malfähigkeiten zu schlecht sind, war die Katze, die ich gezeichnet habe, nicht wie eine Katze ...
In diesem Artikel wird hauptsächlich die Verwendung von Grafik- und Textnachrichten in der Entwicklung von WeChat Public Account sowie mehrere Manifestationen von grafischen und Textnachrichten vorgestellt. Der Titel heißt "Alle Anleitung zu Bild und Textnachricht". Dies ist definitiv keine Titelparty. Es soll diese Gelegenheit nutzen, um alle Probleme, Bedenken und Hindernisse in Bezug auf Bild und Textnachricht zu beseitigen.
Beschreibung der Hauptparameter von Grafik- und Textnachrichten
Über den offiziellen WeChat Message Interface -Handbuch können Sie die Parameter von Grafik- und Textnachrichten sehen, wie in der folgenden Abbildung gezeigt:
Aus dem Bild können wir lernen:
Verschiedene Ausdrücke von Grafik- und Textnachrichten
Das Folgende ist ein Code, der die Verwendung der fünf Hauptformen von Grafik- und Textnachrichten direkt demonstriert. Der Quellcode lautet wie folgt:
Paket org.liufeng.course.service; import Java.util.ArrayList; Import Java.util.date; import Java.util.List; Import Java.util.map; org.liufeng.course.message.resp.newsmessage; import org.liufeng.course.message.resp.TextMessage; von WeChat * * @param Anfrage * @return */ public static String processRequest (httpServletRequest -Anforderung) {String respMessage = null; try {// xml request parsing map <string, string> requestmap = messageutil.parsexml (request); // Absenderkonto (open_id) String von renername = requestmap.get ("fromUserername"); // Public Account String tousername = requestmap.get ("tousername"); // Nachrichtentyp String msgType = requestmap.get ("msgType"); // Standard -Antwort auf diese Textnachricht TextMessage TextMessage = new textMessage (); textMessage.settousername (fromuername); textMessage.setFromusername (tousername); textMessage.setCreateTime (neues Datum (). GetTime ()); textMessage.setmsgType (messageUtil.resp_message_type_text); textMessage.setfuncflag (0); // Da der HREF -Attributwert in doppelten Zitaten verursacht werden muss, steht dies in Konflikt mit den doppelten Zitaten der String selbst, textMessage.setContent ("Willkommen bei <a href =/" http://blog.csdn.net/Lyq8479/ "> Liu fengs Blog </a>!"); // SMS -Meldungsobjekt in XML String respMessage = MessageUtil.TextMessAgetoxml (TextMessage) konvertieren; // Textnachricht if (msgType.equals (messageUtil.req_message_type_text)) {// den von der Benutzer string content = requestmap.get ("Inhalt") gesendeten Textnachrichteninhalte erhalten; // SMS erstellen NewsMessage NewsMessage = new NewsMessage (); newsmessage.settousername (fromuername); NewsMessage.SetFromUSername (Tousername); NewsMessage.SetCreateTime (neues Datum (). GetTime ()); newsMessage.setmsgType (messageutil.resp_message_type_news); NewsMessage.SetFuncFlag (0); LIST <Aktion> articlelist = new ArrayList <Aktion> (); // einzelne Textnachricht if ("1" .Equals (Inhalt)) {article article = new article (); Artikel.Settitle ("WeChat Public Account Development Tutorial Java Version"); Artikel.SetDescription ("Liu Feng, geboren in den 1980er Jahren, hat 4 Monate Erfahrung in der Entwicklung von WeChat -Account. Um Anfänger zu helfen, wird diese Reihe von Tutorials speziell gestartet, und ich hoffe, diese Gelegenheit zu nutzen, um mehr Kollegen zu treffen!"). article.setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); article.seturl ("http://blog.csdn.net/lyq8479"); articlelist.add (Artikel); // Die Anzahl der grafischen Nachrichten festlegen. // Setzen Sie die in den Grafikmeldungen enthaltenen Grafiksammlungen in den grafischen Nachrichten message.setarticles (Articlelist); // das grafische Nachrichtenobjekt in eine XML -String -String respMessage = messageutil.newsMessAgetoxml (NewsMessage) konvertieren; } // einzelne Textnachricht-Ausschluss Bilder else if ("2" .Equals (Inhalt)) {article article = neuer article (); Artikel.Settitle ("WeChat Public Account Development Tutorial Java Version"); // qq emoticons und symbolische Emoticons können im Artikel Artikel von Textnachrichten verwendet werden. einschließlich Schnittstellenkonfiguration, Nachrichtenverpackung, Framework -Konstruktion, QQ -Emoticon -Senden, Symbol -Emoticon -Senden usw. /n /n später ist es auch geplant, einige praktische Funktionen für Entwicklungserklärungen wie Wettervorhersagen, periphere Suchfunktionen, Chat -Funktionen usw. zu starten. "). // das Bild auf leerer Artikel festlegen. article.seturl ("http://blog.csdn.net/lyq8479"); articlelist.add (Artikel); NewsMessage.SetarticleCount (articlelist.size ()); NewsMessage.SetArticles (Articlelist); respMessage = messageutil.newsMessAgetoxml (NewsMessage); } // Multi -graphische Textnachrichten else if ("3" .Equals (Inhalt)) {article artike1 = neuer article (); Artikel1.Settitle ("WeChat Public Account Development Tutorial/n Einführung"); Artikel1.SetDescription (""); Artikel1.Setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); Artikel1.Seturl ("http://blog.csdn.net/lyq8479/article/details/8937622"); Artikel Artikel2 = neuer Artikel (); Artikel2.Settitle ("Teil 2/n Wechat Public Account Typ"); Artikel2.SetDescription (""); Artikel2.setpicurl ("http://avatar.csdn.net/1/4/a/1_Lyq8479.jpg"); Artikel2.Seturl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Artikel2.Seturl ("http://blog.csdn.net/lyq8479/article/details/8941577"); Artikel Artikel3 = neuer Artikel (); Artikel3.Settitle ("Telegraph 3/N -Entwicklungsmodus Enablement- und Schnittstellenkonfiguration"); Artikel3.SetDescription (""); artikel3.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); Artikel3.seturl ("http://blog.csdn.net/lyq8479/article/details/8944988"); articlelist.add (Artikel1); articlelist.add (Artikel2); articlelist.add (Artikel3); NewsMessage.SetarticleCount (articlelist.size ()); NewsMessage.SetArticles (Articlelist); respMessage = messageutil.newsMessAgetoxml (NewsMessage); } // Mehrere Grafik- und Textnachrichten --- Die erste Nachricht enthält keine Bilder, sonst ("4" .Equals (Inhalt)) {article article1 = neuer Artikel (); Artikel1.Settitle ("WeChat Public Account Development Tutorial Java Version"); Artikel1.SetDescription (""); // das Bild auf leerer Artikel1.setpicurl ("") festlegen; Artikel1.Seturl ("http://blog.csdn.net/lyq8479"); Artikel Artikel2 = neuer Artikel (); Artikel2.Settitle ("Paket von Nachrichten- und Nachrichtenverarbeitungstools"); Artikel2.SetDescription (""); Artikel2.setpicurl ("http://avatar.csdn.net/1/4/a/1_Lyq8479.jpg"); Artikel2.Seturl ("http://blog.csdn.net/lyq8479/article/details/8949088"); Artikel Artikel3 = neuer Artikel (); Artikel3.Settitle ("Artikel 5/NRECEIVE und Antwort verschiedener Nachrichten"); Artikel3.SetDescription (""); artikel3.setpicurl ("http://avatar.csdn.net/1/4/a/1_lyq8479.jpg"); Artikel3.seturl ("http://blog.csdn.net/lyq8479/article/details/8952173"); Artikel Artikel4 = neuer Artikel (); Artikel4.Settitle ("Artikel 6/Nreveal die Inhaltslängenlimit von Textnachrichten"); Artikel4.SetDescription (""); artikel4.setpicurl ("http://avatar.csdn.net/1/4/a/1_Lyq8479.jpg"); artikel4.seturl ("http://blog.csdn.net/lyq8479/article/details/8967824"); articlelist.add (Artikel1); articlelist.add (Artikel2); articlelist.add (Artikel3); articlelist.add (Artikel4); NewsMessage.SetarticleCount (articlelist.size ()); NewsMessage.SetArticles (Articlelist); respMessage = messageutil.newsMessAgetoxml (NewsMessage); } // Mehrere Grafiknachrichten --- Die letzte Nachricht enthält keine Bilder sonst, wenn ("5" .Equals (Inhalt)) {article article1 = neuer Artikel (); Artikel1.Settitle ("Verwendung von Neulinnern in Textnachrichten"); Artikel1.SetDescription (""); Artikel1.Setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg"); Artikel1.Seturl ("http://blog.csdn.net/lyq8479/article/details/9141467"); Artikel Artikel2 = neuer Artikel (); Artikel2.Settitle ("Web -Hyperlinks in Textnachrichten verwenden"); Artikel2.SetDescription (""); Artikel2.setpicurl ("http://avatar.csdn.net/1/4/a/1_Lyq8479.jpg"); Artikel2.Seturl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Artikel2.Seturl ("http://blog.csdn.net/lyq8479/article/details/9157455"); Artikel Artikel3 = neuer Artikel (); Artikel3.Settitle ("Wenn Sie der Meinung sind, dass der Artikel für Sie hilfreich ist, hinterlassen Sie bitte eine Nachricht im Blog oder folgen Sie dem WeChat Public Account Xiaoqrobot, um Liu Feng zu unterstützen!"); Artikel3.SetDescription (""); // das Bild auf leere Artikel einstellen3.setpicurl (""); Artikel3.Seturl ("http://blog.csdn.net/Lyq8479"); articlelist.add (Artikel1); articlelist.add (Artikel2); articlelist.add (Artikel3); NewsMessage.SetarticleCount (articlelist.size ()); NewsMessage.SetArticles (Articlelist); respMessage = messageutil.newsMessAgetoxml (NewsMessage); }}} catch (exception e) {e.printstacktrace (); } return respMessage; } / ** * Emoji Expression Conversion (hex -> utf -16) * * @param hexemoji * @return * / public static String emoji (int hexemoji) {return String.Valueof (Charakter.tochars (hexemoji)); }}Die vom obigen Code implementierte Funktion besteht darin, dem Benutzer wie folgt mit fünf verschiedenen Formen grafischer Nachrichten zu antworten:
A) Der Benutzer sendet 1 und antwortet auf eine einzelne Textnachricht. Referenzcodezeilen 68 ~ 81, der Betriebseffekt lautet wie folgt:
b) Der Benutzer sendet 2, antworten Sie auf die Textnachricht - ohne Bilder. Referenzcodezeilen 82 ~ 96, der Betriebseffekt lautet wie folgt:
Beschreibung: Der Titel und die Beschreibung der grafischen Nachricht können QQ -Ausdrücke und symbolische Ausdrücke enthalten.
c) Der Benutzer sendet 3 und antwortet auf mehrere Grafik- und Textnachrichten. Referenzcodezeilen 97 ~ 123, der Betriebseffekt lautet wie folgt:
Hinweis: Für multi -graphische Nachrichten wird die Beschreibung nicht angezeigt. Zeilenpausen können im Titel verwendet werden, um das Display schöner zu machen.
d) Der Benutzer sendet 4 und antwortet auf mehrere Grafiknachrichten-die erste Nachricht enthält keine Bilder. Referenzcodezeilen 124 ~ 158, der Betriebseffekt lautet wie folgt:
e) Der Benutzer sendet 5 und antwortet auf mehrere grafische Nachrichten-die letzte Nachricht enthält keine Bilder. Referenzcodezeilen 159 ~ 186, der Betriebseffekt lautet wie folgt:
Es ist ersichtlich, dass Grafik- und Textnachrichten reichhaltige Inhalte und verschiedene Ausdrucksformen haben. Ich hoffe, jeder kann sie vernünftigerweise nach seinen jeweiligen Eigenschaften und den tatsächlichen Nutzungsbedürfnissen einsetzen.
Schließlich werde ich basierend auf praktischen Erfahrungen die Verwendung von Grafik- und Textnachrichten zusammenfassen :
1) Stellen Sie sicher, dass Sie dem URL -Attribut der Grafik und der Textnachricht den Wert zuweisen. Unabhängig davon, ob es sich um ein einzelnes Bild, ein mehrfaches Bild oder eine Bilder ohne Bilder handelt, können sie von Benutzern angeklickt werden. Wenn die URL leer ist, öffnet der Benutzer nach dem Klicken eine leere Seite, die dem Benutzer eine sehr schlechte Erfahrung bietet.
2) Nur die Beschreibung einzelner Bilder und Texte wird angezeigt, und die Beschreibung mehrerer Bilder und Texte wird nicht angezeigt .
3) QQ -Emoticons und symbolische Emoticons können im Titel und die Beschreibung von Grafik- und Textnachrichten verwendet werden. Die rationale Verwendung von Emojis macht die Botschaft lebhafter.
4) Zeilenpausen können im Titel und Beschreibung von Grafik- und Textnachrichten verwendet werden. Die rationale Verwendung von Linienbrüchen macht die Inhaltsstruktur klarer.
5) Hypertext -Links (HTMLs <a> Tag) werden im Titel und die Beschreibung von Grafik- und Textnachrichten nicht unterstützt. Es ist nicht nur technisch unmöglich, sondern macht auch logischerweise sinnvoll, da jeder Ort einer Grafik und einer Textnachricht geklickt wird. Der integrierte Browser von WeChat wird aufgerufen, um URL zu öffnen. Wenn Sie ein paar Hyperlinks in den Titel und die Beschreibung einfügen, wissen Sie nicht, welche Seite zum Öffnen klicken soll. Ich verstehe wirklich nicht, warum mehrere Schüler diese Frage stellen. Ist es nicht gut, es so viele Bilder und Texte zu entwerfen?
6) Die Links und Bildlinks für Grafik- und Textnachrichten können Ressourcen unter externen Domainnamen verwenden. In diesem Beispiel sind beispielsweise in diesem Beispiel: Liu Fengs Avatar- und Blog -Post -Links Ressourcen für die CSDN -Website. Es gibt viele Menschen, die glauben, dass URL und PICURL von Grafik- und Textnachrichten nicht für externe Links verwendet werden können. Ich weiß nicht, wo dieses Gerücht begann. Übung ist das einzige Kriterium, um die Wahrheit zu testen!
7) Verwenden Sie Bilder der angegebenen Größe. Die empfohlene Bildgröße des ersten Bildes beträgt 640*320 und die empfohlene Bildgröße anderer Bilder beträgt 80*80. Wenn das verwendete Bild zu groß ist, lädt es langsam und verbraucht den Verkehr. Wenn das verwendete Bild zu klein ist, wird es nach der Anzeige gedehnt, was hässlich ist, wenn es verzerrt ist.
8) Die Bilder und Textnachrichten werden empfohlen, um bei 1-4 gesteuert zu werden. Auf diese Weise kann in den meisten Terminals ein Bildschirm angezeigt werden, und Benutzer können den Hauptinhalt der Nachricht auf einen Blick grob verstehen, der die Benutzer am wahrscheinlichsten zum Klicken und Lesen auffordert.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!