+发表新主题
查看: 1664|回复: 0

[代码片段] java版,微信公众平台新手入门第二节

[复制链接]

[代码片段] java版,微信公众平台新手入门第二节

[复制链接]
风的传说自由 发表于 2015-10-13 16:08:14 浏览:  1664 回复:  0 [显示全部楼层] 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java版,微信公众平台新手入门第二节


文本消息回复


图文消息回复
  1.    /**
  2.     * 解析处理xml
  3.     */
  4.    public String processWechatMag(String xml){
  5.       
  6.       /** 解析xml数据 */
  7.       ReceiveXmlEntity xmlEntity = new ReceiveXmlProcess().getMsgEntity(xml);
  8.       
  9.       //可以默认一个值 当没有返回的时候回复给用户
  10.       String result = "不懂您在说什么...";
  11.       
  12.       //文本消息
  13.       if("text".equals(xmlEntity.getMsgType())){
  14.         
  15.         //获取到用户发送的文本消息 根据自己的业务回复给用户对应信息,可以根据是图文回复或是文本回复
  16.         //也可以调用其他机器人一类的回复
  17.         if("1".equals(xmlEntity.getContent())){
  18.            result = "您输入的是1";
  19.         }
  20.         
  21.         if("2".equals(xmlEntity.getContent())){
  22.            result = "您输入的是2";
  23.         }
  24.         
  25.         //多图文回复 最少一条 最多官方文档9条
  26.         if("新闻".equals(xmlEntity.getContent())){
  27.            
  28.            List<MessagePo> list = new ArrayList<MessagePo>();
  29.            
  30.            MessagePo po = new MessagePo();
  31.            po.setTitle("新闻1标题");
  32.            po.setDescription("新闻1描述");
  33.          po.setPicUrl("http://www.weixin.com/data/attachment/common/c8/common_2_icon.png");
  34.            po.setUrl("http://www.weixin.com/");
  35.            list.add(po);
  36.            
  37.            
  38.            MessagePo po1 = new MessagePo();
  39.            po1.setTitle("新闻2标题");
  40.            po1.setDescription("新闻2描述");
  41.          po1.setPicUrl("http://www.weixin.com/data/attachment/common/c0/common_50_icon.png");
  42.            po1.setUrl("http://www.weixin.com/");
  43.            list.add(po1);
  44.            
  45.            
  46.            MessagePo po2 = new MessagePo();
  47.            po2.setTitle("新闻3标题");
  48.            po2.setDescription("新闻3描述");
  49.          po2.setPicUrl("http://www.weixin.com/data/attachment/common/9a/common_52_icon.png");
  50.            po2.setUrl("http://www.weixin.com/");
  51.            list.add(po2);
  52.            
  53.            result = newFormatXmlProcess().formatXmlAnswerNews(xmlEntity.getFromUserName(),xmlEntity.getToUserName(),list);
  54.            return result;
  55.         }
  56.       }
  57.       
  58.       //点击事件      
  59.       if("event".equals(xmlEntity.getMsgType())){
  60.         
  61.         //点击关注
  62.         if("subscribe".equals(xmlEntity.getEvent())){
  63.            result = "欢迎关注";
  64.         }
  65.         
  66.         //取消关注
  67.         if("unsubscribe".equals(xmlEntity.getEvent())){
  68.            result = "取消关注";
  69.         }
  70.         
  71.       }
  72.       
  73.       result = newFormatXmlProcess().formatXmlAnswer(xmlEntity.getFromUserName(),xmlEntity.getToUserName(), result);
  74.       return result;
  75.    }
  76.    
复制代码

   

返回微信端拼接的xml

  1.    public String formatXmlAnswerNews(String to, Stringfrom,List<MessagePo> list) {
  2.       StringBuffer sb = new StringBuffer();
  3.       Date date = new Date();
  4.       sb.append("<xml>");
  5.      sb.append("<ToUserName><![CDATA[").append(to).append("]]></ToUserName>");
  6.     sb.append("<FromUserName><![CDATA[").append(from).append("]]></FromUserName>");
  7.      sb.append("<CreateTime>").append(date.getTime()).append("</CreateTime>");
  8.       sb.append("<MsgType><![CDATA[news]]></MsgType>");
  9.       sb.append("<ArticleCount>"+list.size()+"</ArticleCount>");
  10.       sb.append("<Articles>");
  11.       
  12.       for (int i = 0; i < list.size(); i++) {
  13.         MessagePo po = list.get(i);
  14.         sb.append("<item>");
  15.         sb.append("<Title><![CDATA["+po.getTitle()+"]]></Title>");
  16.        sb.append("<Description><![CDATA["+po.getDescription()+"]]></Description>");
  17.         sb.append("<PicUrl><![CDATA["+po.getPicUrl()+"]]></PicUrl>");
  18.         sb.append("<Url><![CDATA["+po.getUrl()+"]]></Url>");
  19.         sb.append("</item>");
  20.       }
  21.       
  22.       sb.append("</Articles>");
  23.       sb.append("</xml>");
  24.       return sb.toString();
  25.    }
复制代码

   

回复

使用道具 举报


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网