module EricWeixin
module ReplyMessage
##
#根据from_user, to_user等信息来获取多客服的数据格式
#===参数说明
# #
def self.get_customer_service_message options
end
# 获取被动回复消息的数据格式--类型为:图文消息
# 一般用于用户发消息后,使用返回消息的方式向用户进行图文回复。
# ===参数说明
# * ToUserName: 收取方的账号
# * FromUserName: 开发者账号
# * news: 文章列表,Weixin::Article 的实例数组
# ===示例
# Tools::Weixin::ReplyMessage::get_reply_user_message_image_text ToUserName: 'xx',
# FromUserName: 'yy',
# news:[Weixin::ArticleData.new]
def self.get_reply_user_message_image_text options
xml = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
xml.send(:xml) {
xml.ToUserName { xml.cdata options[:ToUserName] }
xml.FromUserName { xml.cdata options[:FromUserName] }
xml.CreateTime { xml.cdata Time.now.to_i }
xml.MsgType { xml.cdata 'news' }
xml.ArticleCount (options[:news]||[]).length
xml.Articles {
options[:news].each do |news|
xml.item {
xml.Title{xml.cdata news.title}
xml.Description{xml.cdata news.desc}
xml.PicUrl{xml.cdata news.pic_url}
xml.Url{xml.cdata news.link_url}
}
end
}
}
end
xml.to_xml
end
# 获取被动回复消息的数据格式--类型为:文本消息
# 一般用于用户发消息后,使用返回消息的方式向用户进行图文回复。
# ===参数说明
# * ToUserName: 收取方的账号
# * FromUserName: 开发者账号
# * Content: 回复的消息内容
# ===示例
# Tools::Weixin::ReplyMessage.get_reply_user_message_text ToUserName: 'xx',
# FromUserName: 'yy',
# Content: 'haha'
def self.get_reply_user_message_text options
xml = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
xml.send(:xml) {
xml.CreateTime { xml.cdata Time.now.to_i }
xml.MsgType { xml.cdata 'text' }
xml.ToUserName { xml.cdata options[:ToUserName] }
xml.FromUserName { xml.cdata options[:FromUserName] }
xml.Content { xml.cdata options[:Content] }
}
end
xml.to_xml
end
# 用于将消息转发至多客户客户端。
# ===参数说明
# * ToUserName: 收取方的账号
# * FromUserName: 开发者账号
# ===示例
# Tools::Weixin::ReplyMessage::transfer_mult_customer_service ToUserName: 'xxx',
# FromUserName: 'yyyy',
def self.transfer_mult_customer_service options
xml = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
xml.send(:xml) {
xml.CreateTime { xml.cdata Time.now.to_i }
xml.MsgType { xml.cdata 'transfer_customer_service' }
xml.ToUserName { xml.cdata options[:ToUserName] }
xml.FromUserName { xml.cdata options[:FromUserName] }
}
end
xml.to_xml
end
end
end