微信公眾平臺(tái)開發(fā)之發(fā)送圖文消息.Net代碼解析
之前我們講過讓微信發(fā)送給我們普通的文本信息,下面我們來看看如何發(fā)送圖文信息,需要注意的是這里說的是,讓微信發(fā)給我們,而不是我們拍個(gè)圖片發(fā)給微信處理,我們上傳圖片在以后的章節(jié)介紹.下面是發(fā)送圖文消息的函數(shù),涉及title(標(biāo)題),description(摘要),picurl(圖片),鏈接(url)幾個(gè)關(guān)鍵的參數(shù):
protected string sendPicTextMessage(Msg _mode,string title,string description,string picurl,string url)
{
string res = string.Format(@"<xml>
<ToUserName><![CDATA[{0}]]></ToUserName>
<FromUserName><![CDATA[{1}]]></FromUserName>
<CreateTime>{2}</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[{3}]]></Title>
<Description><![CDATA[{4}]]></Description>
<PicUrl><![CDATA[{5}]]></PicUrl>
<Url><![CDATA[{6}]]></Url>
</item>
</Articles>
</xml> ",
_mode.FromUserName, _mode.ToUserName, DateTime.Now,title, description, picurl, url);
return res;
}
直接在調(diào)用函數(shù)即可:
protected void Page_Load(object sender, EventArgs e)
{
MyMenu();
wxmessage wx = GetWxMessage();
string res = "";
if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "subscribe")
{
string content = "";
content = "/:rose歡迎北京永杰友信科技有限公司/:rose\n直接回復(fù)“你好”";
res = sendTextMessage(wx, content);
}
else if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "CLICK")
{
if(wx.EventKey=="Hello")
res = sendTextMessage(wx, "你好,歡迎使用北京永杰友信科技有限公司公共微信平臺(tái)!");
if(wx.EventKey=="P1")
res = sendTextMessage(wx, "你好,點(diǎn)擊了產(chǎn)品1");
if(wx.EventKey=="P2")
res = sendTextMessage(wx, "你好,點(diǎn)擊了產(chǎn)品2");
}
else
{
if (wx.MsgType == "text" && wx.Content == "你好")
{
res = sendTextMessage(wx, "你好,歡迎使用北京永杰友信科技有限公司公共微信平臺(tái)!");
}
if (wx.MsgType == "text" && wx.Content == "圖文")
{
res = sendPicTextMessage(wx,"這里是一個(gè)標(biāo)題","這里是摘要","http://mp.weixin.qq.com/wiki/skins/common/images/weixin_wiki_logo.png","http://www.4ugood.net");
}
else if (wx.MsgType == "voice")
{
res = sendTextMessage(wx, wx.Recognition);
}
else
{
res = sendTextMessage(wx, "你好,未能識(shí)別消息!");
}
}
Response.Write(res);
}
private wxmessage GetWxMessage()
{
wxmessage wx = new wxmessage();
StreamReader str = new StreamReader(Request.InputStream, System.Text.Encoding.UTF8);
XmlDocument xml = new XmlDocument();
xml.Load(str);
wx.ToUserName = xml.SelectSingleNode("xml").SelectSingleNode("ToUserName").InnerText;
wx.FromUserName = xml.SelectSingleNode("xml").SelectSingleNode("FromUserName").InnerText;
wx.MsgType = xml.SelectSingleNode("xml").SelectSingleNode("MsgType").InnerText;
if (wx.MsgType.Trim() == "text")
{
wx.Content = xml.SelectSingleNode("xml").SelectSingleNode("Content").InnerText;
}
if (wx.MsgType.Trim() == "event")
{
wx.EventName = xml.SelectSingleNode("xml").SelectSingleNode("Event").InnerText;
wx.EventKey = xml.SelectSingleNode("xml").SelectSingleNode("EventKey").InnerText;
}
if (wx.MsgType.Trim() == "voice")
{
wx.Recognition = xml.SelectSingleNode("xml").SelectSingleNode("Recognition").InnerText;
}
return wx;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信公眾平臺(tái)開發(fā)之地理位置.Net代碼解析
- 微信公眾平臺(tái)開發(fā)之自定義菜單.Net代碼解析
- .Net微信開發(fā)之如何解決access_token過期問題
- 微信公眾平臺(tái)開發(fā)之發(fā)送文本消息.Net代碼解析
- .net實(shí)現(xiàn)微信公眾賬號(hào)接口開發(fā)實(shí)例代碼
- .net開發(fā)微信公眾平臺(tái)實(shí)例教程
- asp.net微信開發(fā)(永久素材管理)
- asp.net開發(fā)微信公眾平臺(tái)之獲取用戶消息并處理
- asp.net微信開發(fā)(開發(fā)者接入)
- .NET微信公眾號(hào) 用戶分組管理
相關(guān)文章
ASP.NET數(shù)據(jù)綁定之DataList控件
這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的DataList控件,DataList控件以表的形式呈現(xiàn)數(shù)據(jù),通過該控件,您可以使用不同的布局來顯示數(shù)據(jù)記錄,對DataList控件感興趣的小伙伴們可以參考一下2016-01-01
ASP.NET如何定時(shí)調(diào)用WebService服務(wù)
在ASP.NET程序中,可以通過Time組件實(shí)現(xiàn)定時(shí)器功能,但是它與數(shù)據(jù)庫中的任務(wù)計(jì)劃不一樣,它必須基于程序正在運(yùn)行中才可生效,而數(shù)據(jù)庫任務(wù)計(jì)劃是不需要基于ASP.NET程序運(yùn)行而執(zhí)行任務(wù)。2015-10-10
四個(gè)常用的.NET的SQLHELPER方法實(shí)例
這篇文章主要介紹了四個(gè)常用的.NET的SQLHELPER方法,在WinForm的實(shí)際開發(fā)中比較常用,需要的朋友可以參考下2014-08-08
詳解免費(fèi)開源的DotNet二維碼操作組件ThoughtWorks.QRCode(.NET組件介紹之四)
本篇文章主要介紹了免費(fèi)開源的DotNet二維碼操作組件ThoughtWorks.QRCode,非常具有實(shí)用價(jià)值,有興趣的同學(xué)可以來了解一下。2016-12-12
ASP.NET Core 2.0 支付寶掃碼支付的實(shí)現(xiàn)代碼
這篇文章主要介紹了ASP.NET Core 2.0 支付寶掃碼支付的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-10-10
asp.net基于windows服務(wù)實(shí)現(xiàn)定時(shí)發(fā)送郵件的方法
這篇文章主要介紹了asp.net基于windows服務(wù)實(shí)現(xiàn)定時(shí)發(fā)送郵件的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net調(diào)用Windows系統(tǒng)服務(wù)的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
.NET?6開發(fā)TodoList應(yīng)用之實(shí)現(xiàn)Repository模式
這篇文章主要介紹了如何實(shí)現(xiàn)一個(gè)可重用的Repository模塊。文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12

