การตอบสนองต่อการพัฒนาบัญชีสาธารณะ WeChat นั้นมีไว้สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
คำอธิบายของพารามิเตอร์หลักของกราฟิกและข้อความ
ผ่านคู่มืออินเตอร์เฟสข้อความ WeChat อย่างเป็นทางการคุณสามารถดูพารามิเตอร์ของกราฟิกและข้อความดังแสดงในรูปด้านล่าง:
จากภาพด้านบนเราสามารถเรียนรู้ได้:
1. จำนวนข้อความกราฟิกถูก จำกัด ไว้ที่ 10 นั่นคือค่าของบทความในข้อความกราฟิก (จำนวนข้อความกราฟิกถูก จำกัด ไว้ที่ 10)
2. สำหรับกราฟิกและข้อความภาพของกราฟิกและข้อความแรกจะแสดงเป็นภาพขนาดใหญ่ในขณะที่รูปภาพของกราฟิกและข้อความอื่น ๆ จะแสดงเป็นภาพขนาดเล็ก
3. ขนาดที่แนะนำของภาพแรกคือ 640*320 และภาพที่แนะนำคือ 80*80 สำหรับรูปภาพอื่น ๆ
เริ่มต้นด้วยการใช้งาน:
คลาสฐานสำหรับข้อความคำขอ:
นำเข้า com.thoughtworks.xstream.annotations.xstreamalias; นำเข้า java.io.serializable;/** * @author inchlifc */basemessage คลาสสาธารณะใช้ serializable {@xstreamalias ("tousername") @xstreamcdata @xstreamalias ("fromusername") @xstreamcdata สตริงส่วนตัว Fromusername; @xstreamalias ("createTime") createTime ส่วนตัวยาว; @xstreamalias ("msgtype") @xstreamcdata สตริงส่วนตัว msgtype; basemessage สาธารณะ () {super (); } basemessage สาธารณะ (String fromusername, String tousername) {super (); fromusername = fromusername; tousername = tousername; createTime = system.currentTimeMillis (); } สตริงสาธารณะ getTouSerName () {return tousername; } โมฆะสาธารณะ settername (สตริง tousername) {tousername = tousername; } สตริงสาธารณะ getFromuserName () {return fromusername; } โมฆะสาธารณะ setFromuserName (สตริง fromusername) {fromusername = fromusername; } สาธารณะยาว getCreateTime () {return createTime; } โมฆะสาธารณะ setCreateTime (Long createTime) {createTime = createTime; } สตริงสาธารณะ getMsgType () {return msgType; } โมฆะสาธารณะ setMsGType (สตริง msgType) {msgType = msgType; -กราฟิกและข้อความประเภท:
นำเข้า com.thoughtworks.xstream.annotations.xstreamalias; นำเข้า java.util.list; @xstreamalias ("xml") บทความระดับสาธารณะขยายขอบเขตการใช้ basemessage {@xstreamalias ("articlecount") @xstreamalias ("บทความ") รายการส่วนตัว <SatslicleTem> บทความ; สาธารณะ int getarticleCount () {return articlecount; } โมฆะสาธารณะ setarticleCount (int articleCount) {articleCount = articleCount; } รายการสาธารณะ <SatslicleItem> getarticles () {return articles; } public void setarticles (รายการ <sarticleTem> บทความ) {บทความ = บทความ; -คลาสบทความในข้อความและข้อความ:
นำเข้า com.thoughtworks.xstream.annotations.xstreamalias; นำเข้า java.util.list; @xstreamalias ("บทความ") บทความชั้นเรียนสาธารณะ {รายการส่วนตัว <SarticlesItem> บทความ;}คลาสบทความในข้อความและข้อความ:
นำเข้า com.thoughtworks.xstream.annotations.xstreamalias; นำเข้า java.io.serializable; @xstreamalias ("รายการ") บทความคลาสสาธารณะเริ่มใช้งาน {@xstreamalias ("ชื่อ") @xstreamcdata ชื่อสตริงส่วนตัว; @xstreamalias ("คำอธิบาย") @xstreamcdata สตริงส่วนตัวคำอธิบาย; @xstreamalias ("picurl") @xstreamcdata สตริงส่วนตัว picurl; @xstreamalias ("url") @xstreamcdata url สตริงส่วนตัว; สตริงสาธารณะ getTitle () {return title; } โมฆะสาธารณะ SettItle (ชื่อสตริง) {title = title; } สตริงสาธารณะ getDescription () {return คำอธิบาย; } โมฆะสาธารณะ setDescription (คำอธิบายสตริง) {คำอธิบาย = คำอธิบาย; } สตริงสาธารณะ getPicurl () {return picurl; } โมฆะสาธารณะ setpicurl (สตริง picurl) {picurl = picurl; } สตริงสาธารณะ getUrl () {return url; } โมฆะสาธารณะ seturl (url string) {url = url; -วิธีการใช้งานเลเยอร์บริการ:
วิธีบรรจุภัณฑ์
/ ** * รับข้อความบล็อก * * @param customName * @param servername * @param createTime * @return */ private articlesmessage getBlogMessage (สตริง customName, สตริง servername, createTime ยาว) outputmsg.setFromuserName (servername); outputmsg.settousername (custermname); outputmsg.setCreateTime (createTime); outputmsg.setmsgtype (msgtype.news.getValue ()); รายการ <StarsicleItem> บทความ = arrayList ใหม่ <> (); articlesItem item1 = บทความใหม่ (); item1.settitle ("ตรวจสอบเพื่อป้อนบล็อกสายลมเย็นตอนเย็น"); item1.SetPicurl (weChatConstant.base_server + "ทรัพยากร/รูปภาพ/weChat/a.png"); item1.seturl ("https://my.oschina.net/inchlifc/blog"); articles.add (รายการ 1); outputmsg.setarticles (บทความ); outputmsg.setarticlecount (aterials.size ()); ส่งคืน outputMSG; -หากคุณป้อนหมายเลข 1 ให้กลับไปที่ข้อความส่งข้อความ
// ประมวลผลข้อความที่ได้รับ servletInputStream ใน = request.getInputStream (); // แปลงสตรีมโพสต์เป็นวัตถุ Xstream xstream xs = ใหม่ xstream (); xs = serializexmlutil.createxstream (); Xstream.SetUpDefaultSecurity (XS); xs.allowtypes (คลาสใหม่ [] {textMessage.class, inputMessage.class, articlesMessage.class}); xs.processannotations (inputMessage.class); xs.processannotations (articlesmessage.class); xs.processannotations (imageMessage.class); // แมปข้อมูลโหนด XML ภายใต้โหนดที่ระบุลงในวัตถุ Xs.Alias ("XML", inputMessage.class); // แปลงสตรีมเป็นสตริงสตริง builder xmlmsg = new StringBuilder (); ไบต์ [] b = ไบต์ใหม่ [4096]; สำหรับ (int n; (n = in.read (b))! = -1;) {xmlmsg.append (สตริงใหม่ (b, 0, n, "utf -8")); } logger.info ("ได้รับข้อความ ====" + xmlmsg.toString ()); // แปลงเนื้อหา XML เป็นอินพุต Message Object InputMessage InputMsg = (InputMessage) Xs.Fromxml (XMLMSG.ToString ()); // เซิร์ฟเวอร์สตริง servername = inputmsg.getTouSerName (); // สตริงไคลเอ็นต์ customName = inputmsg.getFromuserName (); // รับ Time Long createTime = inputMsg.getCreateTime (); // ส่งคืนเวลา returntime = calendar.getInstance (). getTimeInmillis () / 1000; // ใช้เนื้อหาสตริงเนื้อหาข้อความ = inputmsg.getContent (); // รับประเภทข้อความสตริง msgtype = inputmsg.getmsgtype (); ถ้า (msgtype.text.getValue (). เท่ากับ (msgType)) {// อินพุต 1 ข้อมูลบล็อก IF ("1" .equals (เนื้อหา)) {logger.info ( articlesMessage outputmsg = getBlogMessage (CusterMname, servername, returntime); logger.info ("กลับไปที่ข้อความบล็อก ===" + xs.toxml (outputMsg)); Response.getWriter (). เขียน (xs.toxml (outputmsg)); -ผลการทำงาน:
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น