您的位置:首页 > 移动开发 > 微信开发

.Net实现微信公众平台开发接口(三) 之 “信息回复”

2014-10-07 15:06 513 查看
对于每一个POST请求,开发者在响应包(Get)中返回特定XML结构,对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。请注意,回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器,只支持认证服务号。

今天说说下面三个

1、关注回复

2、自动回复

3、关键字回复

一、关注回复,自动默认回复

所谓关注回复,就是当关注着搜到公众号的时候,点击关注之后,微信返回给用户的信息,具体的实现办法

自动默认回复,就是无论你发送什么信息,如果没有特别处理,系统默认回复的信息。

接收微信的信息和发送信息,都是xml格式的,具体在开发文档中都有具体的说明的,现在就来说说如果实现微信信息的处理和应答。

1、先把预先设置好的回复信息保存到数据库表里面

#region 关键字回复
/// <summary>
/// 关键字回复
/// </summary>
/// <param name="FromUserName"></param>
/// <param name="ToUserName"></param>
/// <param name="Content"></param>
/// <returns></returns>
public string GetKeyword(string FromUserName, string ToUserName, string Content)
{
string resXml = "";
string sqlWhere = "wechat_id=" + WeChat_ID + " and keyword_name='" + Content+"'";

DataTable dtKeyword = keyworddal.GetList(sqlWhere).Tables[0];

if (dtKeyword.Rows.Count > 0)
{
dtKeyword = keyworddal.GetRandomList(sqlWhere, "1").Tables[0];

if (dtKeyword.Rows.Count > 0)
{
string article_id = dtKeyword.Rows[0]["article_id"].ToString();
string keyword_type = dtKeyword.Rows[0]["keyword_type"].ToString();
string keyword_text = dtKeyword.Rows[0]["keyword_text"].ToString();

switch (keyword_type)
{
case "text":
resXml = "<xml><ToUserName><![CDATA[" + FromUserName + "]]></ToUserName><FromUserName><![CDATA[" + ToUserName + "]]></FromUserName><CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[" + keyword_text + "]]></Content><FuncFlag>0</FuncFlag></xml>";
break;
case "news":
resXml = GetArticle(FromUserName, ToUserName, article_id, User_ID);
break;
}
}
}
else
{
resXml = GetDefault(FromUserName, ToUserName, WeChat_ID, User_ID);
}

return resXml;
}
#endregion 关键字回复


View Code

其他还有很多图片回复,二维码扫描回复信息等都大同小异,处理方式都差不多,参考开发文档很快就能搞定,这里就不在多说了,不明白的地方在讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐