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