Ruby on Rails微信开发2——消息的接收与响应

消息的接收:
验证消息真实性继续使用接口接入时策略,见Ruby on Rails微信开发1——开发模式的启用与接口配置
Ruby on Rails微信开发2——消息的接收与响应_第1张图片
接收消息

路由配置:
post '/test/wechat',to: 'wechat_supports#process_request’ 
#ruby实现
  #接收微信服务器信息
  def process_request
    if check_signature?(params[:signature], params[:timestamp], params[:nonce]) #验证消息真实性
      if params[:xml][:MsgType] == "event"
        if params[:xml][:Event] == "subscribe"
          render "wechat/info", layout: false, :formats => :xml          #关注
        end
      else
        render "wechat/info", layout: false, :formats => :xml  #用户输入消息时,回送欢迎关注
      end
    end
  end
消息的响应:

注意,发送给微信服务器的XML格式要完全与上图中格式相同,否则无法响应消息!
在ruby on rails中,可以通过创建erb.xml文件的方法构造符合要求的XML 

如上,将代码部署到服务器后,用户关注公共账号或者向公共账号发送消息,公共账号均做出响应如下:
Ruby on Rails微信开发2——消息的接收与响应_第2张图片

你可能感兴趣的:(Ruby on Rails微信开发2——消息的接收与响应)