Module: MpWeixin::ResponseRule

Defined in:
lib/mp_weixin/response_rule.rb

Instance Method Summary collapse

Instance Method Details

#handle_message(request, message) ⇒ Object

handle corrent data post from weixin

please @rewrite me



24
25
26
# File 'lib/mp_weixin/response_rule.rb', line 24

def handle_message(request, message)
  #
end

#handle_request(request, &block) ⇒ Object

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



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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) ⇒ Object

发送被动响应消息‘

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’



37
38
39
40
41
42
43
44
# 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