知识点
相关文章
更多最近更新
更多微信公共服务平台开发(.Net 的实现)7-------发送图文消息
2019-03-02 00:59|来源: 网路
之前我们讲过让微信发送给我们普通的文本信息,下面我们来看看如何发送图文信息,需要注意的是这里说的是,让微信发给我们,而不是我们拍个图片发给微信处理,我们上传图片在以后的章节介绍.下面是发送图文消息的函数,涉及title(标题),description(摘要),picurl(图片),链接(url)几个关键的参数:
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;
}
直接在调用函数即可:
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直接回复“你好”";
res = sendTextMessage(wx, content);
}
else if (!string.IsNullOrEmpty(wx.EventName) && wx.EventName.Trim() == "CLICK")
{
if(wx.EventKey=="Hello")
res = sendTextMessage(wx, "你好,欢迎使用北京永杰友信科技有限公司公共微信平台!");
if(wx.EventKey=="P1")
res = sendTextMessage(wx, "你好,点击了产品1");
if(wx.EventKey=="P2")
res = sendTextMessage(wx, "你好,点击了产品2");
}
else
{
if (wx.MsgType == "text" && wx.Content == "你好")
{
res = sendTextMessage(wx, "你好,欢迎使用北京永杰友信科技有限公司公共微信平台!");
}
if (wx.MsgType == "text" && wx.Content == "图文")
{
res = sendPicTextMessage(wx,"这里是一个标题","这里是摘要","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, "你好,未能识别消息!");
}
}
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;
}
转自:http://www.cnblogs.com/lyl6796910/p/3661133
相关问答
更多-
用vb.net二次开发,利用计算机端微信给好友发文字信息?[2024-03-05]
模拟按键 sendkey函数 -
Java 开发 微信公众平台开发 URL验证[2022-01-18]
看下柳峰的java微信开发博客吧http://blog.csdn.net/lyq8479/article/details/8944988 http://blog.csdn.net/lyq8479/article/category/1366622/2 -
成为微信公共平台的开发者后,为什么还是可以进行群发?[2022-02-23]
开启开发模式时不影响群发功能的。现在只有订阅号和服务号群发功能有区别,订阅号每天都可以群发一群消息,服务号一个月才能群发一条消息。你说的那种情况是没有的。 -
微信开发 如何把当前用户发送的消息内容写到mysql数据库里面, 用的是阿里云服务器 php[2021-10-17]
需要开发正确的回调函数才可以 -
微信公共平台如何成为开发者???[2024-01-02]
申请好公众平台后,打开开发模式就可以成为开发者了,不一定非要编程,直接接入第三方接口就行,这样会获得一些工作。 想要更多的功能就需要涉及到编程了,看你账号的需求性了。 -
微信公众号开发者怎么提问[2024-04-05]
这个貌似是做不到的,点击单图文肯定是链向一个页面的 -
微信公众号模板消息开发[2023-04-08]
你这个问题太深奥了,去微信开发平台问吧. 网址是微信的全拼.com -
微信公众平台开发模式如何主动发送图文消息息[2023-10-16]
这个是需要开发的,你想弄的话我可以帮你弄一个 里面可以天天推送消息 -
微信开发平台支持主动发送消息吗[2022-03-09]
在高级功能-编辑模式-那里是可以设置自动回复的。设置栏还可以编辑关键字回复。比如回复数字1,企业最新动态。只要有回复数字1,企业的最新动态就马上自动回复给发送人。我都在用之中,希望可以帮到你 -
微信公共平台开发适合的行业有哪些 ?[2022-04-10]
各个行业都有的。可以看下小猪CMS,,you shiyong