Balasan untuk pengembangan akun publik WeChat adalah untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Deskripsi Parameter Utama Pesan Grafik dan Teks
Melalui Panduan Antarmuka Pesan WeChat Resmi, Anda dapat melihat parameter pesan grafik dan teks, seperti yang ditunjukkan pada gambar di bawah ini:
Dari gambar di atas, kita bisa belajar:
1. Jumlah pesan grafik dibatasi hingga 10, yaitu nilai artiklecount dalam pesan grafis (jumlah pesan grafis dibatasi hingga 10)
2. Untuk pesan grafik dan teks, gambar grafik dan teks pertama ditampilkan sebagai gambar besar, sedangkan gambar grafik dan teks lain ditampilkan sebagai gambar kecil.
3. Ukuran yang disarankan dari gambar pertama adalah 640*320, dan gambar yang disarankan adalah 80*80 untuk gambar lainnya
Berikut ini dimulai dengan implementasi:
Kelas dasar untuk pesan permintaan:
Impor com.thoughtworks.xstream.annotations.xstreamalias; impor java.io.serializable;/** * @author inchlifc */kelas publik Basemessage mengimplementasikan serializable {@xstreamalias ("Tousername") @xStreamCdata Private String Tousername; @XStreamalias ("fromusername") @xStreamcData string pribadi fromusername; @XStreamalias ("createTime") Private Long CreatTime; @XStreamalias ("msgType") @xStreamcData Private String 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 settousername (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; }}Kategori pesan grafik dan teks:
impor com.thoughtworks.xstream.annotations.xstreamalias; impor java.util.list; @xstreamalias ("xml") Artikel kelas publik memperluas Basemessage {@xstreamalias ("ArticLecount") Private Int ArtleCount; @XStreamalias ("Artikel") Daftar Pribadi <ArtikelSItem> Artikel; publik int getarticlecount () {return articlecount; } public void setarticlecount (int articlecount) {articlecount = articlecount; } Daftar Publik <ItSeSticleItem> getArticles () {pengembalian artikel; } setArticles public void (Daftar <ArticlesItem> Artikel) {artikel = artikel; }}Kelas Artikel dalam Pesan Teks dan Teks:
Impor com.thoughtworks.xstream.annotations.xstreamalias; impor java.util.list; @xstreamalias ("artikel") artikel kelas publik {daftar pribadi <ArtikelSItem> artikel;}Kelas ArtikelSITEM dalam pesan teks dan teks:
Impor com.thoughtworks.xstream.annotations.xstreamalias; impor java.io.serializable; @xStreamalias ("item") Articikel kelas publik mengimplementasikan judul string pribadi {@xstreamalias ("judul") @xStreamcdata; @XStreamalias ("Deskripsi") @xStreamcData Private String Deskripsi; @XStreamalias ("picurl") @xStreamcData Private String picurl; @XStreamalias ("url") @xstreamcdata URL string pribadi; public string gettitle () {return title; } public void setTitle (string title) {title = title; } public String getDescription () {return description; } public void setDescription (string description) {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; }}Metode Implementasi Lapisan Layanan:
Metode pengemasan
/ ** * Dapatkan pesan teks blog * * @param customname * @param servername * @param createTime * @return */ artikel privateSmessage getBlogMessage (string customname, string servername, long createTime) {artikelSmessage outputMsg = new artikelSmessage (); outputMsg.setFromusername (servername); outputmsg.settousername (custermname); outputMsg.setCreateTime (createTime); outputMsg.setMSgType (msgtype.news.getValue ()); Daftar <ArtikelSeTem> Artikel = ArrayList baru <> (); ArtikelSITEM item1 = Artikel baru (); item1.settitle ("Periksa untuk memasuki Blog Breeze Keren Malam"); item1.setPicUrl (wechatconstant.base_server + "sumber daya/gambar/weChat/a.png"); item1.setUrl ("https://my.oschina.net/inchlifc/blog"); artikel.add (item1); outputmsg.setarticles (artikel); outputmsg.setarticlecount (artikel.size ()); return outputmsg; }Jika Anda memasukkan nomor 1, kembalikan ke Pusat Pesan Teks
// Proses pesan yang diterima servletInputStream in = request.getInputStream (); // Konversi stream pos ke objek xStream xStream xs = new xStream (); xs = serializexmlutil.createxstream (); XStream.setupDefaultSecurity (XS); xs.allowTypes (kelas baru [] {textMessage.class, inputMessage.class, artikelSmessage.class}); Xs.ProcessAnnotations (inputMessage.class); Xs.ProcessAnnotations (ArtikelSmessage.class); Xs.ProcessAnnotations (Imagemessage.class); // Peta data node XML di bawah simpul yang ditentukan ke objek xs.alias ("xml", inputMessage.class); // Konversi stream ke String StringBuilder xmlmsg = new StringBuilder (); byte [] b = byte baru [4096]; untuk (int n; (n = in.read (b))! = -1;) {xmlmsg.append (string baru (b, 0, n, "utf -8")); } logger.info ("pesan diterima ====" + xmlmsg.toString ()); // Konversi konten XML ke inputMessage objek inputMessage inputMSg = (inputMessage) xs.fromxml (xmlmsg.toString ()); // server string servername = inputmsg.gettousername (); // klien string customname = inputMsg.getFromuserName (); // menerima waktu long createTime = inputMsg.getCreateTime (); // Waktu pengembalian lama kembali = calendar.getInstance (). GetTimeInmillis () / 1000; // ambil konten konten teks konten = inputMsg.getContent (); // Dapatkan jenis pesan string msgtype = inputMsg.getMsgType (); if (msgtype.text.getValue (). Equals (msgType)) {// input 1 dorong informasi blog jika ("1" .Equals (konten)) {logger.info ("teks 1 diterima"); ArtikelSmessage outputMSg = getBlogMessage (custermname, servername, returnTime); logger.info ("Kembali ke pesan teks blog ===" + xs.toxml (outputMsg)); response.getWriter (). write (xs.toxml (outputMsg)); }}Hasil Menjalankan:
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.