class Ixintui::Service
Public Class Methods
app_key()
click to toggle source
# File lib/ixintui/service.rb, line 6 def self.app_key end
app_secret_key()
click to toggle source
# File lib/ixintui/service.rb, line 9 def self.app_secret_key end
base_data()
click to toggle source
# File lib/ixintui/service.rb, line 12 def self.base_data { appkey: app_key, is_notif: 1 } end
push(options = {})
click to toggle source
# File lib/ixintui/service.rb, line 39 def self.push(options = {}) params = base_data.merge(options) params = validates(params) params[:sign] = sign(params) res = RestClient.post(server, JSON.dump(params), content_type: :json) JSON.parse(res.body) end
server()
click to toggle source
# File lib/ixintui/service.rb, line 3 def self.server end
sign(params)
click to toggle source
# File lib/ixintui/service.rb, line 19 def self.sign(params) data = Hash[params.sort] string = JSON.dump(data) string += app_secret_key Digest::MD5.hexdigest(string) end
validates(params)
click to toggle source
# File lib/ixintui/service.rb, line 26 def self.validates(params) case params[:click_action] when 'open_app', 'open_url', 'intent' raise ArgumentError, "设置了 click_action 参数为 '#{params[:click_action]}' 但是没有设置 #{params[:click_action]} 参数" if params[params[:click_action].to_sym].blank? else params[:click_action] = 'open_app' params[:open_app] = true end raise ArgumentError, "app_key 未设置" if params[:appkey].blank? return params end