مقدمة وملخص المحتوى
اشتكى العديد من القراء من أن "Liu Feng لا يستخدم سوى الرسائل النصية كأمثلة ، ولا يذكر أبدًا رسائل رسمية ، ولا يعرف كيفية استخدام الرسائل الرسومية." حسنًا ، كنت مخطئًا. اعتقدت في الأصل أن واجهة برمجة التطبيقات الأساسية تم تغليفها وتم بناء الإطار ، ثم أعطى عينة من الرسائل النصية لاستخدامها. ربما لأن مهاراتي في الرسم سيئة للغاية ، فإن القطة التي رسمتها لم تكن مثل قطة ...
تقدم هذه المقالة بشكل أساسي استخدام الرسائل الرسومية والرسائل النصية في تطوير حساب WeChat العام ، بالإضافة إلى العديد من مظاهر الرسائل الرسومية والرسائل النصية. يسمى العنوان "دليل All to Picture and Text Message". هذا بالتأكيد ليس حفلة لقب. إن اغتنام هذه الفرصة لإزالة جميع المشكلات والمخاوف والعقبات المتعلقة بالصور والرسالة النصية.
وصف المعلمات الرئيسية للرسائل الرسومية والرسائل النصية
من خلال دليل واجهة رسائل WeChat الرسمي ، يمكنك رؤية معلمات الرسائل الرسومية والرسائل النصية ، كما هو موضح في الشكل أدناه:
من الصورة ، يمكننا أن نتعلم:
تعبيرات مختلفة عن الرسائل الرسومية والرسائل النصية
فيما يلي رمز يوضح مباشرة استخدام الأشكال الرئيسية الخمسة للرسائل الرسمية والرسائل النصية. رمز المصدر كما يلي:
حزمة org.liufeng.course.service ؛ استيراد java.util.arraylist ؛ استيراد java.util.date ؛ استيراد java.util.list ؛ استيراد java.util.map org.liufeng.course.message.resp.newsmessage ؛ استيراد org.liufeng.course.message.resp.textMessage ؛ استيراد org.liufeng.course.util.messageutil ؛/** * Core Service Class * * author liufeng * @Date 2013-07-25 WeChat * * @param request * @return */ public static string processRequest (httpservletrequest request) {String Respmessage = null ؛ حاول {// xml طلب تحليل خريطة <string ، string> requestMap = messageutil.parsexml (request) ؛ // Sender Account (Open_id) String fromuserName = requestMap.get ("fromuserName") ؛ // سلسلة الحساب العامة touserName = requestMap.get ("touserName") ؛ // نوع الرسالة سلسلة msgtype = requestMap.get ("msgtype") ؛ // الرد الافتراضي على هذه الرسالة النصية textMessage TextMessage = new TextMessage () ؛ textMessage.SettouserName (fromusername) ؛ textMessage.setFromuserName (touserName) ؛ textMessage.setCreateTime (تاريخ جديد (). getTime ()) ؛ textMessage.setMsgType (messageutil.resp_message_type_text) ؛ textMessage.setfuncflag (0) ؛ // بما أن قيمة سمة HREF يجب أن تكون ناتجة عن عروض أسعار مزدوجة ، فإن هذا يتعارض مع عروض الأسعار المزدوجة للسلسلة نفسها ، textMessage.setContent ("مرحبًا بك في <a href =/" http://blog.csdn.net/lyq8479/ "> liu feng's nogn </a>!") ؛ // تحويل كائن الرسالة النصية إلى سلسلة XML Respmessage = messageutil.textMessageToxMl (TextMessage) ؛ // رسالة نصية if (msgtype.equals (messageUtil.req_message_type_text)) {// تلقي محتوى الرسالة النصية المرسلة بواسطة محتوى سلسلة المستخدم = requestMap.get ("المحتوى") ؛ // إنشاء رسائل نصية أخبار الرسائل النصية = NewsMessage () ؛ NewsMessage.SettouserName (fromusername) ؛ NewsMessage.setFromuserName (touserName) ؛ NewsMessage.setCreateTime (تاريخ جديد (). getTime ()) ؛ newsmessage.setmsgtype (messageutil.resp_message_type_news) ؛ newsmessage.setfuncflag (0) ؛ قائمة <article> articLelist = new ArrayList <article> () ؛ // رسالة نصية واحدة if ("1" .equals (content)) {article article = new article () ؛ مقال. المادة. article.setpicurl ("http://0.xiaoqrobot.duapp.com/images/avatar_liufeng.jpg") ؛ article.seturl ("http://blog.csdn.net/lyq8479") ؛ articlelist.add (مقال) ؛ // قم بتعيين عدد الرسائل الرسمية NewsMessage.SetArticLecount (articlelist.size ()) ؛ // قم بتعيين مجموعات الرسوم الواردة الواردة في رسائل الرسائل Graphic NewsMessage.SetArticles (Articlelist) ؛ // تحويل كائن رسالة الرسوم إلى سلسلة XML represmessage = messageutil.newsmessageToxMl (NewsMessage) ؛ } // رسالة نصية واحدة-excluding صور أخرى if ("2" .equals (content)) {article article = new article () ؛ مقال. . تكوين الواجهة ، تغليف الرسائل ، بناء الإطار ، إرسال QQ EmusiCon ، إرسال الرموز العاطفية ، إلخ. /N /N لاحقًا ، ومن المخطط أيضًا إطلاق بعض تفسيرات تطوير الوظائف العملية ، مثل توقعات الطقس ، والبحث المحيطي ، ووظائف الدردشة ، إلخ ") ؛ // اضبط الصورة على article.setpicurl ("") ؛ article.seturl ("http://blog.csdn.net/lyq8479") ؛ articlelist.add (مقال) ؛ newsmessage.setarticleCount (articlelist.size ()) ؛ NewsMessage.SetArticles (Articlelist) ؛ respmessage = messageutil.newsmessageToxml (NewsMessage) ؛ } // رسائل نصية متعددة الفجوات أخرى if ("3" .equals (content)) {article article1 = new article () ؛ article1.SetTitle ("WeChat Public Account Development Tutorial/N Intropuiture") ؛ article1.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 ("Telegraph 3/N Mode Development Mode وتكوين الواجهة") ؛ article3.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 (article1) ؛ articlelist.add (article2) ؛ articlelist.add (article3) ؛ newsmessage.setarticleCount (articlelist.size ()) ؛ NewsMessage.SetArticles (Articlelist) ؛ respmessage = messageutil.newsmessageToxml (NewsMessage) ؛ } // رسائل رسمية متعددة ونصية --- لا تحتوي الرسالة الأولى على صور أخرى إذا ("4" .equals (content)) {article article1 = new article () ؛ article1.SetTitle ("WeChat Public Account Development Tutorial Java إصدار") ؛ article1.setDescription ("") ؛ // اضبط الصورة على article1.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 = مقالة جديدة () ؛ article3.SetTitle ("المادة 5/nreceive والاستجابة للرسائل المختلفة") ؛ article3.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.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 (article1) ؛ articlelist.add (article2) ؛ articlelist.add (article3) ؛ articlelist.add (article4) ؛ newsmessage.setarticleCount (articlelist.size ()) ؛ NewsMessage.SetArticles (Articlelist) ؛ respmessage = messageutil.newsmessageToxml (NewsMessage) ؛ } // رسائل رسومات متعددة --- لا تحتوي الرسالة الأخيرة على صور أخرى إذا ("5" .equals (content)) {article article1 = new article () ؛ article1.SetTitle ("استخدام الخطوط الجديدة في الرسائل النصية") ؛ article1.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 = مقالة جديدة () ؛ article3.settitle ("إذا كنت تعتقد أن المقالة مفيدة لك ، فيرجى ترك رسالة على المدونة أو اتبع حساب WeChat Public XiaoQRobot لدعم Liu Feng!") ؛ article3.setDescription ("") ؛ // اضبط الصورة على article3.setpicurl ("") ؛ article3.seturl ("http://blog.csdn.net/lyq8479") ؛ Articlelist.add (article1) ؛ articlelist.add (article2) ؛ articlelist.add (article3) ؛ newsmessage.setarticleCount (articlelist.size ()) ؛ NewsMessage.SetArticles (Articlelist) ؛ respmessage = messageutil.newsmessageToxml (NewsMessage) ؛ }}} catch (استثناء e) {E.PrintStackTrace () ؛ } إرجاع respmessage ؛ } / ** * تحويل تعبير Emoji (Hex -> utf -16) * * param hexemoji * @return * / سلسلة ثابتة emoji (int hexemoji) {return string.valueof (character.tochars (hexemoji)) ؛ }}تتمثل الوظيفة التي تنفذها الرمز أعلاه في الرد على المستخدم مع خمسة أشكال مختلفة من الرسائل الرسومية ، على النحو التالي:
أ) يرسل المستخدم 1 والرد على رسالة نصية واحدة. خطوط التعليمات البرمجية المرجعية 68 ~ 81 ، تأثير العملية كما يلي:
ب) يرسل المستخدم 2 ، الرد على الرسالة النصية - بدون صور. خطوط التعليمات البرمجية المرجعية 82 ~ 96 ، تأثير العملية على النحو التالي:
الوصف: يمكن أن يحتوي عنوان ووصف رسالة الرسوم على تعبيرات QQ والتعبيرات الرمزية.
ج) يرسل المستخدم 3 ويستجيب لرسائل رسومات ونص متعددة. خطوط التعليمات البرمجية المرجعية 97 ~ 123 ، تأثير العملية كما يلي:
ملاحظة: بالنسبة للرسائل متعددة الفجر ، لن يتم عرض الوصف. يمكن استخدام فواصل الخط في العنوان لجعل الشاشة أكثر جمالا.
د) يرسل المستخدم 4 والرد على رسائل رسومية متعددة-الرسالة الأولى لا تحتوي على صور. خطوط التعليمات البرمجية المرجعية 124 ~ 158 ، تأثير العملية كما يلي:
هـ) يرسل المستخدم 5 ويستجيب لرسائل رسومات متعددة-الرسالة الأخيرة لا تحتوي على صور. خطوط التعليمات البرمجية المرجعية 159 ~ 186 ، تأثير العملية كما يلي:
يمكن ملاحظة أن الرسائل الرسومية والرسائل النصية لها محتوى غني وأشكال تعبير متنوعة. آمل أن يتمكن الجميع من استخدامها بشكل معقول وفقًا لخصائصهم واحتياجات الاستخدام الفعلي.
أخيرًا ، استنادًا إلى الخبرة العملية ، سألخص استخدام الرسائل النصية والرسائل النصية :
1) تأكد من تعيين القيمة إلى سمة عنوان URL للرسم والرسالة النصية. سواء كانت صورة واحدة أو صورة متعددة أو صور بدون صور ، فقد يتم النقر عليها من قبل المستخدمين. إذا كان عنوان URL فارغًا ، فسوف يفتح المستخدم صفحة فارغة بعد النقر ، مما يمنح المستخدم تجربة سيئة للغاية ؛
2) سيتم عرض وصف الصور والنصوص المفردة فقط ، ولن يتم عرض وصف الصور والنصوص المتعددة ؛
3) يمكن استخدام الرموز QQ والعواطف الرمزية في عنوان ووصف الرسائل النصية والرسائل النصية. الاستخدام العقلاني للعمليات الرموز التعبيرية سيجعل الرسالة أكثر حيوية ؛
4) يمكن استخدام فواصل الخط في عنوان ووصف الرسائل النصية والرسائل النصية. الاستخدام العقلاني لكسر الأسطر سيجعل بنية المحتوى أكثر وضوحًا ؛
5) روابط النص التشعبي (علامة HTML <a>) غير مدعومة في عنوان ووصف الرسائل الرسمية والرسائل النصية. ليس من المستحيل تقنيًا فحسب ، بل إنه أمر منطقي أيضًا ، لأنه يتم النقر على أي مكان للرسالة الرسومية والرسالة النصية ، وسيتم استدعاء المتصفح المدمج لـ WeChat لفتح عنوان URL. إذا وضعت بعض الارتباطات التشعبية في العنوان والوصف ، فأنت لا تعرف الصفحة التي تنقر لفتحها. أنا حقًا لا أفهم لماذا يطرح العديد من الطلاب هذا السؤال. أليس من الجيد تصميمه للعديد من الصور والنصوص؟
6) يمكن للروابط وروابط الصور للرسائل الرسومية والرسائل النصية استخدام الموارد تحت أسماء المجال الخارجية. على سبيل المثال ، في هذا المثال: روابط Liu Feng’s Avatar و Post Post كلها موارد لموقع CSDN. هناك الكثير من الأشخاص الذين يعتقدون أنه لا يمكن استخدام URL و Picurl من الرسائل الرسومية والرسائل النصية للروابط الخارجية. لا أعرف من أين بدأت هذه الشائعات. الممارسة هي المعيار الوحيد لاختبار الحقيقة!
7) استخدام صور الحجم المحدد. حجم الصورة الموصى به للصورة الأولى هو 640*320 ، وحجم الصورة الموصى به للصور الأخرى هو 80*80. إذا كانت الصورة المستخدمة كبيرة جدًا ، فسيتم تحميلها ببطء وتستهلك حركة المرور ؛ إذا كانت الصورة المستخدمة صغيرة جدًا ، فسيتم تمديدها بعد العرض ، والتي ستكون قبيحة إذا كانت مشوهة.
8) يوصى بالتحكم في الصور والرسائل النصية في 1-4. وبهذه الطريقة ، يمكن عرض شاشة واحدة على معظم المحطات ، ويمكن للمستخدمين فهم المحتوى الرئيسي للرسالة تقريبًا من خلال لمحة ، والتي من المرجح أن تطالب المستخدمين بالنقر والقراءة.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة في دراسة أو عمل الجميع. آمل أيضًا دعم wulin.com أكثر!