module MpWeixin::ResponseRule

Public Instance Methods

handle_message(request, message) click to toggle source

handle corrent data post from weixin

please @rewrite me

# File lib/mp_weixin/response_rule.rb, line 24
def handle_message(request, message)
  #
end
handle_request(request, &block) click to toggle source

‘接收普通消息’, ‘接收事件推送’, ‘接收语音识别结果’

# File lib/mp_weixin/response_rule.rb, line 6
def handle_request(request, &block)
  request.body.rewind  # in case someone already read it
  data = request.body.read
  message = Message.from_xml(data)

  logger.info "Hey, one request from '#{request.url}' been detected, and content is #{message.as_json}"

  if message.present?
    handle_message(request, message)
    response_message(request, message, &block)
  else
    halt 400, 'unknown message'
  end
end
response_message(request, message, &block) click to toggle source

发送被动响应消息‘

please @rewrite me

can rely with instance of those class eg, TextReplyMessage, ImageReplyMessage, VoiceReplyMessage VideoReplyMessage, MusicReplyMessage, NewsReplyMessage quickly generate reply content through call ‘reply_#{msg_type}_message(attributes).to_xml’ @see ‘spec/mp_weixin/server_helper_spec.rb’

# File lib/mp_weixin/response_rule.rb, line 37
def response_message(request, message, &block)
  if block_given?
    block.call(request, message)
  end

  # reply with
  # reply_#{msg_type}_message(attributes).to_xml
end