module EricWeixin #用于给普通用户回复消息。 module ReplyMessage # 获取被动回复消息的数据格式。类型为:图文消息。 # 一般用于用户发消息后,使用返回消息的方式向用户进行图文回复。 # ===参数说明 # * ToUserName: 收取方的账号 # * FromUserName: 开发者账号 # * news: 文章列表,EricWeixin::Article 的实例数组 # ===示例 # Tools::EricWeixin::ReplyMessage::get_reply_user_message_image_text ToUserName: 'xx', # FromUserName: 'yy', # news:[EricWeixin::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::EricWeixin::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: 开发者账号 # ===示例 # EricWeixin::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