微信运用热火朝天,许多公司都愿望搭上信息快车,这个是一个商机,也是一个手艺的方向,因而,有空研讨下、进修下微信的相干开辟,也就成为设计的部署事变之一了。本系列文章愿望从一个循规蹈矩的角度上,周全引见微信的相干开辟进程和相干经验总结,愿望给人人相识一下相干的开辟进程。
在前面两篇两篇漫笔《C#开辟微信流派及运用(1)--开始运用微信接口》和《C#开辟微信流派及运用(2)--微信音讯的处置惩罚和应对》内里,大抵引见了我微信运用的框架构建,本漫笔继续引见这一主题,引见音讯应对内里的文本应对和图文应对的进程。
我们晓得,给手机用户发送相应音讯,它能够分为好多种体式格局,如复兴文本音讯、复兴图片音讯、复兴语音音讯、复兴视频音讯、复兴音乐音讯、复兴图文音讯等,以下所示。
而个中图片、视频、语音这三种体式格局,是须要开通微信认证才够向用户发送存在微信效劳器上的媒体信息,平常没有认证的民众号或许效劳号,是不能发送这几种内容的。
1、实体信息关联及定义
在上一篇微信开辟的漫笔中,我展现了对吸收音讯和复兴音讯的运用实体类,这些实体类是我依据须要,依据开辟须要,在运用层面临它们举行了封装,如复兴的音讯关联以下所示。
音讯基类BaseMessage的实体类定义以下所示,它对日期组织了一个整形数值,并具有了一些通例的属性,而且另有一个主要的ToXML要领,用来给要领通报这些XML数据的。
/// <summary> /// 基本音讯内容 /// </summary> [XmlRoot(ElementName = "xml")] public class BaseMessage { /// <summary> /// 初始化一些内容,如建立时刻为整形, /// </summary> public BaseMessage() { this.CreateTime = DateTime.Now.DateTimeToInt(); } /// <summary> /// 开辟者微信号 /// </summary> public string ToUserName { get; set; } /// <summary> /// 发送方帐号(一个OpenID) /// </summary> public string FromUserName { get; set; } /// <summary> /// 音讯建立时刻 (整型) /// </summary> public int CreateTime { get; set; } /// <summary> /// 音讯范例 /// </summary> public string MsgType { get; set; } public virtual string ToXml() { this.CreateTime = DateTime.Now.DateTimeToInt();//从新更新 return MyXmlHelper.ObjectToXml(this); } }
复兴的文本音讯实体类代码以下所示,我们能够看到,它继续了许多通用的实体属性,而且还具有了一个ToXml的通用要领,我们须要把它转换为相应的XML的时刻,就运用这个要领就能够了。
/// <summary> /// 复兴文本音讯 /// </summary> [System.Xml.Serialization.XmlRoot(ElementName = "xml")] public class ResponseText : BaseMessage { public ResponseText() { this.MsgType = ResponseMsgType.Text.ToString().ToLower(); } public ResponseText(BaseMessage info) : this() { this.FromUserName = info.ToUserName; this.ToUserName = info.FromUserName; } /// <summary> /// 内容 /// </summary> public string Content { get; set; } }
而图文音讯对象类ResponseNews,它包括更多的信息定义
/// <summary> /// 复兴图文音讯 /// </summary> [System.Xml.Serialization.XmlRoot(ElementName = "xml")] public class ResponseNews : BaseMessage { public ResponseNews() { this.MsgType = ResponseMsgType.News.ToString().ToLower(); this.Articles = new List<ArticleEntity>(); } public ResponseNews(BaseMessage info) : this() { this.FromUserName = info.ToUserName; this.ToUserName = info.FromUserName; } /// <summary> /// 图文音讯个数,限制为10条之内 /// </summary> public int ArticleCount { get { return this.Articles.Count; } set { ;//增添这个步骤才出来XML内容 } } /// <summary> /// 图文列表。 /// 多条图文音讯信息,默许第一个item为大图,注重,假如图文数凌驾10,则将会无相应 /// </summary> [System.Xml.Serialization.XmlArrayItem("item")] public List<ArticleEntity> Articles { get; set; } }
而个中的图文列表鸠合中的对象,它也是一个实体范例,包括了一些图文的链接,题目等信息,不在赘述。
2、音讯的复兴处置惩罚
如关于文本音讯,我们能够用以下的体式格局举行处置惩罚。
ResponseText response = new ResponseText(info); response.Content = "抱歉,此功用暂未开通。"; result = response.ToXml();
关于图文音讯,我们能够须要录入更多的音讯才返回更好的结果。
注重图文的音讯,图片的尺寸最好根据官方的规范,不然在手机上看起来不好看,官方的规范好像是宽高是(360,200)像素
/// <summary> /// 定阅或许显现公司信息 /// </summary> /// <param name="info"></param> /// <returns></returns> private string ShowCompanyInfo(BaseMessage info) { string result = ""; //运用在微信平台上的图文信息(单图文信息) ResponseNews response = new ResponseNews(info); ArticleEntity entity = new ArticleEntity(); entity.Title = "广州爱奇迪软件科技有限公司"; entity.Description = "迎接关注广州爱奇迪软件--专业的单元信息化软件和软件开辟框架供应商,我们立志于为客户供应最好的软件及效劳。\r\n"; entity.Description += "我们是一家极富立异性的软件科技公司,处置研讨、开辟并贩卖最牢靠的、平安易用的手艺产物及优良专业的效劳,协助环球客户和合作伙伴取得成功。\r\n......(此处省略1000字,哈哈)"; entity.PicUrl = "http://www.iqidi.com/WeixinImage/company.png"; entity.Url = "http://www.iqidi.com"; response.Articles.Add(entity); result = response.ToXml(); return result; }
我们来看看我公司的微信流派菜单,看起来是否是很酷呢。
关于这两种(文本音讯、图文音讯)用的处所是最多,许多微信流派,都主如果运用这两种体式格局举行相应。固然,我们还能够依据客户手机提交上来的种种音讯举行差别的处置惩罚,要求音讯的范例我在上一篇的漫笔有引见,以下所示。
须要关注相识团体结果,能够运用微信直接扫描二维码即可。
以上就是C#开辟微信流派及运用(三)之文本音讯和图文音讯应对的细致内容,更多请关注ki4网别的相干文章!