/// <summary> /// 处理消息的接口,如果回复被动消息,直接回复 xml 格式的消息即可。 /// 如果不处理或者发送客服消息等直接回复空字符串即可。 /// </summary> /// <param name="receiveXmlMsgType"></param> /// <param name="receiveXmlMessage"></param> /// <returns></returns> public string Process(ReceiveXmlMessageType receiveXmlMsgType, ReceiveXmlMessage receiveXmlMessage) { string result = string.Empty; if (receiveXmlMessage != null) { // 消息类型 switch (receiveXmlMsgType) { case ReceiveXmlMessageType.Undefined: // 未识别出消息类型 break; case ReceiveXmlMessageType.Text: // 文本消息 break; case ReceiveXmlMessageType.Image: // 图片消息 break; case ReceiveXmlMessageType.Voice: // 语音消息 result = VoiceAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Video: // 视频消息 break; case ReceiveXmlMessageType.Location: // 地理位置消息 break; case ReceiveXmlMessageType.Link: // 链接消息 break; case ReceiveXmlMessageType.Event_QRCode_Subscribe: // 用户未关注时扫描二维码事件 break; case ReceiveXmlMessageType.Event_QRCode_Scan: // 用户已关注时扫描二维码事件 break; case ReceiveXmlMessageType.Event_View: // 点击菜单跳转链接时事件 break; case ReceiveXmlMessageType.Event_Click: // 点击菜单拉取消息时事件 result = EventClickAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Event_Location: // 上报地理位置时事件 result = EventLocationAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Event_Subscribe: // 关注事件 break; case ReceiveXmlMessageType.Event_UnSubscribe: // 取消关注事件 break; default: break; } } return(result); }
string EventSubscribeAction(ReceiveXmlMessage receiveMsg) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "感谢您关注。"; return(sendMsg.ToXml()); }
private static ReceiveXmlMessage ConvertReceiveXmlToReceiveXmlMessage(string receiveXml) { Dictionary <string, string> dictionary = XmlHelper.Read(receiveXml); string text = dictionary["MsgType"]; ReceiveXmlMessage receiveXmlMessage = null; if (text.Equals("text")) { receiveXmlMessage = new ReceiveXmlTextMessage(); } else if (text.Equals("image")) { receiveXmlMessage = new ReceiveXmlImageMessage(); } else if (text.Equals("voice")) { receiveXmlMessage = new ReceiveXmlVoiceMessage(); } else if (text.Equals("video")) { receiveXmlMessage = new ReceiveXmlVideoMessage(); } else if (text.Equals("location")) { receiveXmlMessage = new ReceiveXmlLocationMessage(); } else if (text.Equals("link")) { receiveXmlMessage = new ReceiveXmlLinkMessage(); } else if (text.Equals("event")) { receiveXmlMessage = new ReceiveXmlEventMessage(); } if (receiveXmlMessage != null) { Type type = receiveXmlMessage.GetType(); PropertyInfo[] properties = type.GetProperties(); PropertyInfo[] array = properties; for (int i = 0; i < array.Length; i++) { PropertyInfo propertyInfo = array[i]; object[] customAttributes = propertyInfo.GetCustomAttributes(typeof(MessagePropertyNameAttribute), true); if (customAttributes != null && customAttributes.Length > 0) { MessagePropertyNameAttribute messagePropertyNameAttribute = (MessagePropertyNameAttribute)customAttributes[0]; if (dictionary.ContainsKey(messagePropertyNameAttribute.PropertyName)) { string value = dictionary[messagePropertyNameAttribute.PropertyName]; propertyInfo.SetValue(receiveXmlMessage, value, null); } } } receiveXmlMessage.Xml = receiveXml; } return(receiveXmlMessage); }
string VoiceAction(ReceiveXmlMessage receiveMsg) { var voiceMessage = receiveMsg as ReceiveXmlVoiceMessage; var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("语音识别结果为:{0}", voiceMessage.Recognition); return(sendMsg.ToXml()); }
string EventLocationAction(ReceiveXmlMessage receiveMsg) { var eventMsg = receiveMsg as ReceiveXmlEventMessage; var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List <SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "你的地理位置信息", Description = string.Format("纬度:{0}\r\n\r\n经度:{1}\r\n\r\n精度:{2}", eventMsg.Latitude, eventMsg.Longitude, eventMsg.Precision), Url = "http://www.wangwenzhuang.com/" }); return(sendMsg.ToXml()); }
/// <summary> /// 处理消息的接口,如果回复被动消息,直接回复 xml 格式的消息即可。 /// 如果不处理或者发送客服消息等直接回复空字符串即可。 /// </summary> /// <param name="receiveXmlMsgType"></param> /// <param name="receiveXmlMessage"></param> /// <returns></returns> public string Process(ReceiveXmlMessageType receiveXmlMsgType, ReceiveXmlMessage receiveXmlMessage) { string result = string.Empty; if (receiveXmlMessage != null) { // 消息类型 switch (receiveXmlMsgType) { case ReceiveXmlMessageType.Undefined: // 未识别出消息类型 break; case ReceiveXmlMessageType.Text: // 文本消息 break; case ReceiveXmlMessageType.Image: // 图片消息 break; case ReceiveXmlMessageType.Voice: // 语音消息 result = VoiceAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Video: // 视频消息 break; case ReceiveXmlMessageType.Location: // 地理位置消息 break; case ReceiveXmlMessageType.Link: // 链接消息 break; case ReceiveXmlMessageType.Event_QRCode_Subscribe: // 用户未关注时扫描二维码事件 break; case ReceiveXmlMessageType.Event_QRCode_Scan: // 用户已关注时扫描二维码事件 break; case ReceiveXmlMessageType.Event_View: // 点击菜单跳转链接时事件 break; case ReceiveXmlMessageType.Event_Click: // 点击菜单拉取消息时事件 result = EventClickAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Event_Location: // 上报地理位置时事件 result = EventLocationAction(receiveXmlMessage); break; case ReceiveXmlMessageType.Event_Subscribe: // 关注事件 break; case ReceiveXmlMessageType.Event_UnSubscribe: // 取消关注事件 break; default: break; } } return result; }
/// <summary> /// 微信服务器消息处理 /// </summary> /// <param name="xml">微信服务器发来的 xml 数据</param> /// <returns></returns> public static string ProcessMessage(string xml) { Log.Debug("\r\nReceive>>\r\n{0}", xml); string result = string.Empty; if (WeiXinService._Service != null) { ReceiveXmlMessage receiveXmlMessage = WeiXinService.ConvertReceiveXmlToReceiveXmlMessage(xml); if (receiveXmlMessage == null) { Log.Error("转换消息失败,xml:\r\n{0}", xml); } else { ReceiveXmlMessageType receiveXmlMessageType = WeiXinService.GetReceiveXmlMessageType(receiveXmlMessage); result = WeiXinService._Service.Process(receiveXmlMessageType, receiveXmlMessage); } } return(result); }
string EventClickAction(ReceiveXmlMessage receiveMsg) { var result = string.Empty; var eventMsg = receiveMsg as ReceiveXmlEventMessage; if (eventMsg.EventKey.Equals("1")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "被动文本消息"; result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("2")) { var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List<SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动单图文消息", Description = "被动单图文消息,此处省略一万字。。。", PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = "http://www.wangwenzhuang.com/" }); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("3")) { var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List<SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息1", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = "http://www.wangwenzhuang.com/" }); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息2", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/55e736d12f2eb93895023c7fd7628535e4dd6fcb.jpg", Url = "http://www.wangwenzhuang.com/" }); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息3", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://e.hiphotos.baidu.com/image/pic/item/63d0f703918fa0ec8426f0f7249759ee3c6ddb63.jpg", Url = "http://www.wangwenzhuang.com/" }); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("4")) { Task t = new Task(() => { var sendMsg = new CustomerJsonTextMessage(); sendMsg.Touser = receiveMsg.FromUserName; sendMsg.Content = "客服文本消息"; WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("5")) { Task t = new Task(() => { var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var title = "客服单图文消息"; var discription = "被动单图文消息,此处省略一万字。。。"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List<CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = title, Description = discription, PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("6")) { Task t = new Task(() => { var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var discription = "被动单图文消息,此处省略一万字。。。"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List<CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息1", Description = discription, PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = url }); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息2", Description = discription, PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/55e736d12f2eb93895023c7fd7628535e4dd6fcb.jpg", Url = url }); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息3", Description = discription, PicUrl = "http://e.hiphotos.baidu.com/image/pic/item/63d0f703918fa0ec8426f0f7249759ee3c6ddb63.jpg", Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("7")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "请说一段语音发来。"; result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("8")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("<a href=\"http://112.126.67.94/wxtest/ViewOpenId.html?OpenId={0}\">获取OpenId</a>", receiveMsg.FromUserName); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("9")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("OAuth2.0授权分两种,第一种获取获取 OpenId,不弹出授权界面;第二种弹出授权界面,不但能获取 OpenId,还可以获取用户的信息。\r\n<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2f112.126.67.94%2fwxtest%2fOAuth2_snsapi_base.aspx&response_type=code&scope=snsapi_base&state=0#wechat_redirect\">第一种</a>\r\n<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://112.126.67.94/wxtest/OAuth2_snsapi_userinfo.aspx&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect\">第二种</a>", WeiXinConfig.AppId); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("12")) { Task t = new Task(() => { // 获取已关注列表 var openIds = WeiXinService.GetSubscribeUserList(WeiXinConfig.AppId, WeiXinConfig.AppSecret); if (openIds != null && openIds.Count > 0) { var discription = string.Empty; // 获取已关注列表每个人的基本信息 for (int i = 0; i < openIds.Count; i++) { var userInfo = WeiXinService.GetSubscribeUserInfo(openIds[i], WeiXinConfig.AppId, WeiXinConfig.AppSecret); if (i + 1 == openIds.Count) { discription += string.Format("{0}、{1}", i + 1, userInfo.NickName); } else { discription += string.Format("{0}、{1}\r\n\r\n", i + 1, userInfo.NickName); } } var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var title = "已关注用户信息"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List<CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = title, Description = discription, Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); } }); t.Start(); } return result; }
string VoiceAction(ReceiveXmlMessage receiveMsg) { var voiceMessage = receiveMsg as ReceiveXmlVoiceMessage; var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("语音识别结果为:{0}", voiceMessage.Recognition); return sendMsg.ToXml(); }
string EventSubscribeAction(ReceiveXmlMessage receiveMsg) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "感谢您关注。"; return sendMsg.ToXml(); }
string EventLocationAction(ReceiveXmlMessage receiveMsg) { var eventMsg = receiveMsg as ReceiveXmlEventMessage; var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List<SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "你的地理位置信息", Description = string.Format("纬度:{0}\r\n\r\n经度:{1}\r\n\r\n精度:{2}", eventMsg.Latitude, eventMsg.Longitude, eventMsg.Precision), Url = "http://www.wangwenzhuang.com/" }); return sendMsg.ToXml(); }
string EventClickAction(ReceiveXmlMessage receiveMsg) { var result = string.Empty; var eventMsg = receiveMsg as ReceiveXmlEventMessage; if (eventMsg.EventKey.Equals("1")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "被动文本消息"; result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("2")) { var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List <SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动单图文消息", Description = "被动单图文消息,此处省略一万字。。。", PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = "http://www.wangwenzhuang.com/" }); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("3")) { var sendMsg = new SendXmlNewsMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Articles = new List <SendXmlArticle>(); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息1", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = "http://www.wangwenzhuang.com/" }); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息2", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/55e736d12f2eb93895023c7fd7628535e4dd6fcb.jpg", Url = "http://www.wangwenzhuang.com/" }); sendMsg.Articles.Add(new SendXmlArticle { Title = "被动多图文消息3", Description = "被动多图文消息,此处省略一万字。。。", PicUrl = "http://e.hiphotos.baidu.com/image/pic/item/63d0f703918fa0ec8426f0f7249759ee3c6ddb63.jpg", Url = "http://www.wangwenzhuang.com/" }); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("4")) { Task t = new Task(() => { var sendMsg = new CustomerJsonTextMessage(); sendMsg.Touser = receiveMsg.FromUserName; sendMsg.Content = "客服文本消息"; WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("5")) { Task t = new Task(() => { var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var title = "客服单图文消息"; var discription = "被动单图文消息,此处省略一万字。。。"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List <CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = title, Description = discription, PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("6")) { Task t = new Task(() => { var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var discription = "被动单图文消息,此处省略一万字。。。"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List <CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息1", Description = discription, PicUrl = "http://h.hiphotos.baidu.com/image/pic/item/c9fcc3cec3fdfc037d970d53d63f8794a5c2266a.jpg", Url = url }); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息2", Description = discription, PicUrl = "http://g.hiphotos.baidu.com/image/pic/item/55e736d12f2eb93895023c7fd7628535e4dd6fcb.jpg", Url = url }); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = "客服多图文消息3", Description = discription, PicUrl = "http://e.hiphotos.baidu.com/image/pic/item/63d0f703918fa0ec8426f0f7249759ee3c6ddb63.jpg", Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); }); t.Start(); } else if (eventMsg.EventKey.Equals("7")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = "请说一段语音发来。"; result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("8")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("<a href=\"http://112.126.67.94/wxtest/ViewOpenId.html?OpenId={0}\">获取OpenId</a>", receiveMsg.FromUserName); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("9")) { var sendMsg = new SendXmlTextMessage(); sendMsg.ToUserName = receiveMsg.FromUserName; sendMsg.FromUserName = receiveMsg.ToUserName; sendMsg.Content = string.Format("OAuth2.0授权分两种,第一种获取获取 OpenId,不弹出授权界面;第二种弹出授权界面,不但能获取 OpenId,还可以获取用户的信息。\r\n<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http%3a%2f%2f112.126.67.94%2fwxtest%2fOAuth2_snsapi_base.aspx&response_type=code&scope=snsapi_base&state=0#wechat_redirect\">第一种</a>\r\n<a href=\"https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri=http://112.126.67.94/wxtest/OAuth2_snsapi_userinfo.aspx&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect\">第二种</a>", WeiXinConfig.AppId); result = sendMsg.ToXml(); } else if (eventMsg.EventKey.Equals("12")) { Task t = new Task(() => { // 获取已关注列表 var openIds = WeiXinService.GetSubscribeUserList(WeiXinConfig.AppId, WeiXinConfig.AppSecret); if (openIds != null && openIds.Count > 0) { var discription = string.Empty; // 获取已关注列表每个人的基本信息 for (int i = 0; i < openIds.Count; i++) { var userInfo = WeiXinService.GetSubscribeUserInfo(openIds[i], WeiXinConfig.AppId, WeiXinConfig.AppSecret); if (i + 1 == openIds.Count) { discription += string.Format("{0}、{1}", i + 1, userInfo.NickName); } else { discription += string.Format("{0}、{1}\r\n\r\n", i + 1, userInfo.NickName); } } var sendMsg = new CustomerJsonNewsMessage(); sendMsg.Touser = receiveMsg.FromUserName; var title = "已关注用户信息"; var url = "http://www.wangwenzhuang.com/"; sendMsg.Articles = new List <CustomerJsonArticleMessage>(); sendMsg.Articles.Add(new CustomerJsonArticleMessage { Title = title, Description = discription, Url = url }); WeiXinService.SendCustomerMessage(sendMsg, WeiXinConfig.AppId, WeiXinConfig.AppSecret); } }); t.Start(); } return(result); }
private static ReceiveXmlMessageType GetReceiveXmlMessageType(ReceiveXmlMessage receiveXmlMessage) { if (receiveXmlMessage.MsgType.ToLower().Equals("text")) { return(ReceiveXmlMessageType.Text); } if (receiveXmlMessage.MsgType.ToLower().Equals("image")) { return(ReceiveXmlMessageType.Image); } if (receiveXmlMessage.MsgType.ToLower().Equals("voice")) { return(ReceiveXmlMessageType.Voice); } if (receiveXmlMessage.MsgType.ToLower().Equals("video")) { return(ReceiveXmlMessageType.Video); } if (receiveXmlMessage.MsgType.ToLower().Equals("location")) { return(ReceiveXmlMessageType.Location); } if (receiveXmlMessage.MsgType.ToLower().Equals("link")) { return(ReceiveXmlMessageType.Link); } if (!receiveXmlMessage.MsgType.ToLower().Equals("event")) { return(ReceiveXmlMessageType.Undefined); } ReceiveXmlEventMessage receiveXmlEventMessage = receiveXmlMessage as ReceiveXmlEventMessage; if (!string.IsNullOrEmpty(receiveXmlEventMessage.Ticket)) { if (receiveXmlEventMessage.Event.ToLower().Equals("subscribe")) { return(ReceiveXmlMessageType.Event_QRCode_Subscribe); } if (receiveXmlEventMessage.Event.ToLower().Equals("scan")) { return(ReceiveXmlMessageType.Event_QRCode_Scan); } return(ReceiveXmlMessageType.Undefined); } else { if (receiveXmlEventMessage.Event.ToLower().Equals("view")) { return(ReceiveXmlMessageType.Event_View); } if (receiveXmlEventMessage.Event.ToLower().Equals("click")) { return(ReceiveXmlMessageType.Event_Click); } if (receiveXmlEventMessage.Event.ToLower().Equals("location")) { return(ReceiveXmlMessageType.Event_Location); } if (receiveXmlEventMessage.Event.ToLower().Equals("subscribe")) { return(ReceiveXmlMessageType.Event_Subscribe); } if (receiveXmlEventMessage.Event.ToLower().Equals("unsubscribe")) { return(ReceiveXmlMessageType.Event_UnSubscribe); } return(ReceiveXmlMessageType.Undefined); } }
private static ReceiveXmlMessageType GetReceiveXmlMessageType(ReceiveXmlMessage receiveXmlMessage) { if (receiveXmlMessage.MsgType.ToLower().Equals("text")) { return ReceiveXmlMessageType.Text; } if (receiveXmlMessage.MsgType.ToLower().Equals("image")) { return ReceiveXmlMessageType.Image; } if (receiveXmlMessage.MsgType.ToLower().Equals("voice")) { return ReceiveXmlMessageType.Voice; } if (receiveXmlMessage.MsgType.ToLower().Equals("video")) { return ReceiveXmlMessageType.Video; } if (receiveXmlMessage.MsgType.ToLower().Equals("location")) { return ReceiveXmlMessageType.Location; } if (receiveXmlMessage.MsgType.ToLower().Equals("link")) { return ReceiveXmlMessageType.Link; } if (!receiveXmlMessage.MsgType.ToLower().Equals("event")) { return ReceiveXmlMessageType.Undefined; } ReceiveXmlEventMessage receiveXmlEventMessage = receiveXmlMessage as ReceiveXmlEventMessage; if (!string.IsNullOrEmpty(receiveXmlEventMessage.Ticket)) { if (receiveXmlEventMessage.Event.ToLower().Equals("subscribe")) { return ReceiveXmlMessageType.Event_QRCode_Subscribe; } if (receiveXmlEventMessage.Event.ToLower().Equals("scan")) { return ReceiveXmlMessageType.Event_QRCode_Scan; } return ReceiveXmlMessageType.Undefined; } else { if (receiveXmlEventMessage.Event.ToLower().Equals("view")) { return ReceiveXmlMessageType.Event_View; } if (receiveXmlEventMessage.Event.ToLower().Equals("click")) { return ReceiveXmlMessageType.Event_Click; } if (receiveXmlEventMessage.Event.ToLower().Equals("location")) { return ReceiveXmlMessageType.Event_Location; } if (receiveXmlEventMessage.Event.ToLower().Equals("subscribe")) { return ReceiveXmlMessageType.Event_Subscribe; } if (receiveXmlEventMessage.Event.ToLower().Equals("unsubscribe")) { return ReceiveXmlMessageType.Event_UnSubscribe; } return ReceiveXmlMessageType.Undefined; } }