/*--------------------------------------------------------------------------
* ReplayPassiveMessageAPI.cs
*Auth:deepleo
* Date:2015.01.15
* Email:2586662969@qq.com
* Website:http://www.weixinsdk.net
*--------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LYFZ.Weixin.SDK.Entities;
using LYFZ.Weixin.SDK.Helpers;
namespace LYFZ.Weixin.SDK
{
///
/// 发送被动响应消息
/// 注意:
/// 1.回复图片等多媒体消息时需要预先上传多媒体文件到微信服务器,只支持认证服务号。
/// 2.微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。
/// 3.假如服务器无法保证在五秒内处理并回复,必须直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。。这种情况下,可以使用客服消息接口进行异步回复。
/// http://mp.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E8%A2%AB%E5%8A%A8%E5%93%8D%E5%BA%94%E6%B6%88%E6%81%AF
///
public class ReplayPassiveMessageAPI
{
///
/// 回复转到多客服消息
///
///
///
///
public static string TransmitService(string toUserName, string fromUserName)
{
return string.Format("" +
"" +
"{2}" +
"",
toUserName, fromUserName, Util.CreateTimestamp());
}
///
/// 回复文本消息
///
///
///
///
///
public static string RepayText(string toUserName, string fromUserName, string content)
{
return string.Format("" +
"" +
"{2}" +
"" +
"",
toUserName, fromUserName, Util.CreateTimestamp(), content);
}
///
/// 回复单图文消息
///
///
///
///
///
public static string RepayNews(string toUserName, string fromUserName, WeixinNews news)
{
var builder = new StringBuilder();
builder.Append(string.Format("" +
"" +
"{2}" +
"" +
"{3}",
toUserName, fromUserName,
Util.CreateTimestamp(),
1));
builder.Append(string.Format("- " +
"" +
"" +
"" +
"
",
news.title, news.description, news.picurl, news.url
));
builder.Append("");
return builder.ToString();
}
///
/// 回复多图文消息
///
///
///
///
///
public static string RepayNews(string toUserName, string fromUserName, List news)
{
var builder = new StringBuilder();
builder.Append(string.Format("" +
"" +
"{2}" +
"" +
"{3}",
toUserName, fromUserName,
Util.CreateTimestamp(),
news.Count
));
foreach (var c in news)
{
builder.Append(string.Format("- " +
"" +
"" +
"" +
"
",
c.title, c.description, c.picurl, c.url
));
}
builder.Append("");
return builder.ToString();
}
///
/// 回复图片消息
///
///
///
/// 已经上传到微信服务器的图片media_id
///
public static string ReplayImage(string toUserName, string fromUserName, string media_id)
{
return string.Format("" +
"" +
"{2}" +
"" +
"",
toUserName, fromUserName, Util.CreateTimestamp(), media_id);
}
///
/// 回复语音消息
///
///
///
/// 已经上传到微信服务器的语音media_id
///
public static string ReplayVoice(string toUserName, string fromUserName, string media_id)
{
return string.Format("" +
"" +
"{2}" +
"" +
"",
toUserName, fromUserName, Util.CreateTimestamp(), media_id);
}
///
/// 回复视频消息
///
///
///
/// 已经上传到微信服务器的视频media_id
/// 视频标题
/// 视频文字说明
///
public static string ReplayVedio(string toUserName, string fromUserName, string media_id, string title, string description)
{
return string.Format("" +
"" +
"{2}" +
"" +
"",
toUserName, fromUserName, Util.CreateTimestamp(), media_id, title, description);
}
///
/// 回复音乐消息
///
///
///
/// 音乐标题
/// 音乐描述
/// 音乐链接
/// 高质量音乐链接,WIFI环境优先使用该链接播放音乐
/// 缩略图的媒体id,通过上传多媒体文件,得到的id
///
public static string ReplayMusic(string toUserName, string fromUserName, string title, string description, string musicUrl, string hqMusicUrl, string thumb_media_id)
{
return string.Format("" +
"" +
"{2}" +
"" +
"" +
"" +
"" +
"" +
"" +
"" +
"",
toUserName, fromUserName, Util.CreateTimestamp(), title, description, musicUrl, hqMusicUrl, thumb_media_id);
}
}
}