|
|
|
@ -8,18 +8,7 @@ class WechatsController < ActionController::Base
|
|
|
|
|
# default text responder when no other match
|
|
|
|
|
on :text do |request, content|
|
|
|
|
|
#邀请码
|
|
|
|
|
begin
|
|
|
|
|
uw = user_binded?(request[:FromUserName])
|
|
|
|
|
if !uw
|
|
|
|
|
return sendBind()
|
|
|
|
|
else
|
|
|
|
|
return join_class({invite_code: content}, uw.user, request)
|
|
|
|
|
end
|
|
|
|
|
rescue => e
|
|
|
|
|
logger.error e.inspect
|
|
|
|
|
logger.error e.backtrace.join("\n")
|
|
|
|
|
return request.reply.text e
|
|
|
|
|
end
|
|
|
|
|
sendBindClass(request, {invite_code: content})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# When receive 'help', will trigger this responder
|
|
|
|
@ -48,24 +37,13 @@ class WechatsController < ActionController::Base
|
|
|
|
|
|
|
|
|
|
# When subscribe user scan scene_id in public account
|
|
|
|
|
on :scan, with: 'scene_id' do |request, ticket|
|
|
|
|
|
begin
|
|
|
|
|
uw = user_binded?(request[:FromUserName])
|
|
|
|
|
if !uw
|
|
|
|
|
return sendBind()
|
|
|
|
|
else
|
|
|
|
|
return join_class({ticket: ticket}, uw.user, request)
|
|
|
|
|
end
|
|
|
|
|
rescue => e
|
|
|
|
|
logger.error e.inspect
|
|
|
|
|
logger.error e.backtrace.join("\n")
|
|
|
|
|
return request.reply.text e
|
|
|
|
|
end
|
|
|
|
|
sendBindClass(request, {ticket: ticket})
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# When no any on :scan responder can match subscribe user scaned scene_id
|
|
|
|
|
on :event, with: 'scan' do |request|
|
|
|
|
|
if request[:EventKey].present?
|
|
|
|
|
request.reply.text "event scan got EventKey #{request[:EventKey]} Ticket #{request[:Ticket]}"
|
|
|
|
|
sendBindClass(request, {ticket: request[:Ticket]})
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
@ -161,6 +139,22 @@ class WechatsController < ActionController::Base
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def sendBindClass(request, params)
|
|
|
|
|
begin
|
|
|
|
|
uw = user_binded?(request[:FromUserName])
|
|
|
|
|
if !uw
|
|
|
|
|
return sendBind(request)
|
|
|
|
|
else
|
|
|
|
|
return join_class(params, uw.user, request)
|
|
|
|
|
end
|
|
|
|
|
rescue => e
|
|
|
|
|
logger.error e.inspect
|
|
|
|
|
logger.error e.backtrace.join("\n")
|
|
|
|
|
return request.reply.text e
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def default_msg(request)
|
|
|
|
|
uw = user_binded?(request[:FromUserName])
|
|
|
|
|
if uw && uw.user
|
|
|
|
|